Templates by BIGtheme NET
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1
  • 2

THEMA:

Mausinformationstool 21 Sep 2023 11:35 #1

  • NicoB
  • NicoBs Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 235
  • Dank erhalten: 93
Hi, es gibt in cX bereits eine eingebaute Lösung um gewissen Mausinformationen zu erhalten. Ich habe mir schon in cX4 ein eigenes gebaut und nun nach cX5 portiert und möchte das hier zur Verfügung stellen.

Neben den Automatischen Werten ist hier auch möglich direkt X und Y Koordinaten anzugeben und die entsprechenden Informationen dazu zu bekommen und zu überprüfen ob das auch mit der Bildschirmanzeige passt z.b. durch Skalierungseinstellungen in Windows.

 


cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


 (43 Zeilen, cX 5.0.10.3, Lizenz: Betatester)
Anhänge:
Folgende Benutzer bedankten sich: Soko, daywalker, Siebald

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mausinformationstool 01 Okt 2023 10:10 #2

  • daywalker
  • daywalkers Avatar
  • Abwesend
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 787
  • Dank erhalten: 590
Hallo Nico.

In beigefügtem Skript wird die aktuelle Bildschirmskalierung in Prozent ausgegeben.

cX4Web cX4Web Code

Was ist das?

1 *** Fenstergroesse verändert¶Durch "Skalierung und Anordnung" in der Systemsteuerung¶¶
2 Anzeige-Fenster 'Meldungsfenster', ID='Anzeige-Fenster1', Breite=80,43, Höhe=26,99, Rahmen: einfach
3 Button 'Aktuelle Skalierung und Anordnung abfragen', autom. Größe (ID='Button_1', X='7,67', Y='5,29', Zielfenster='Anzeige-Fenster1')
4 Warte Endlos (Warten auf zu behandelnde Ereignisse)
5
6 *** WM_DISPLAYCHANGE ¶Funktioniert auch, wenn das Fenster unsichtbar ist und zeigt die¶aktuell eingestellte 'Skalierung und Anordnung' des Bildschirms in ¶der Systemsteuerung in %
7 :: Anzeige(Anzeige-Fenster1)_Message(126)
8 Setze , MultiSet 'horizontalreferenz=[cX.System.WMIAbfrage(Win32_VideoController.CurrentHorizontalResolution)]¶vertikalreferenz=[cX.System...'
9 Setze , MultiSet 'horizontalpixel=[cX.Rechne(RDN([cX.Bildschirm.Breite]*[cX.Bildschirm.PixelPerMM]))]¶vertikalpixel=[cX.Rechne(RDN([cX...'
10 Meldung 'Aktuelle Skalierung des Bildschirms: [cX.Rechne(RDN([horizontalreferenz]/[horizontalpixel]*100))] %', Titel 'Skalierung und Anordnung', Buttons 'Nur OK', Symbol 'Information'
11 Beende Unterprogramm (Zurück)
12
13 :: Anzeige(Anzeige-Fenster1)_Geschlossen
14 Beende Skript
15
16 :: Anzeige(Anzeige-Fenster1)_Element(Button_1)_Klick
17 Sprung Marke 'Anzeige(Anzeige-Fenster1)_Message(126)'
18 Beende Unterprogramm (Zurück)

cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


  (18 Zeilen, cX 5.0.10.3)


Könnte für die Eine oder Andere Bildschirmabfrage hilfreich sein.
Wie immer zur freien Verwendung.
Könnte das bitte jemand von Euch unter Windows 11 testen?
Bin noch immer bei Windows 10.

Bei besonderem Lizenzerfordernis, bitte im Volltestmodus ausführen.

lg Christian
Folgende Benutzer bedankten sich: Stefan, Soko, Bandit

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von daywalker.

Mausinformationstool 01 Okt 2023 10:31 #3

  • Grisu
  • Offline
  • Beiträge: 75
  • Dank erhalten: 95
Hallo Christian,

funktioniert auch unter WIN 11 
Gruß,
Hermann
Folgende Benutzer bedankten sich: Soko, daywalker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mausinformationstool 02 Okt 2023 11:29 #4

  • daywalker
  • daywalkers Avatar
  • Abwesend
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 787
  • Dank erhalten: 590
Liebe Koll.

Habe ganz vergessen, zu erwähnen, daß die "Skalierung und Anordnung" aus der Systemsteuerung bei folgender Bildschirmauflösung synchron angezeigt wird:

 

ansonsten die tatsächliche Skalierung in Prozent im Verhältnis zu den Ausgaben aus Zeile 8 des Skripts.

lg Christian
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von daywalker.

Mausinformationstool 04 Okt 2023 18:55 #5

  • daywalker
  • daywalkers Avatar
  • Abwesend
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 787
  • Dank erhalten: 590
Liebe CX User.

Mir hat diese Skalierung keine Ruhe gelassen und ich glaube jetzt ist es mir gelungen anhand der Ergebnisse , den Mausversatz bei jeder eingestellten Bildschirmauflösung sowie Skalierung und Anordnung zu ermitteln. Hier hat der Starte-Befehl mit einem Powershellskript wieder einmal seine Stärke ausgespielt.
Das Skript natürlich zur freien Verwendung, zum Nachschlagen, usw. Zugegeben nicht das Eleganteste aber funktioniert offensichtlich.

cX4Web cX4Web Code

Was ist das?

1
2 *** cX.Bildschirm.MausX bzw. .MausY Offset Versuch und Ermittlung der Farbe unter dem Mauszeiger durch einen beliebigen Tastendruck¶anhand der eingestellten Skalierung in der Systemsteuerung die auch im Dropdown im Fenster angezeigt wird.
3 Anzeige-Fenster 'Anzeige-Fenster1', ID='Anzeige-Fenster1', Breite=125,94, Höhe=37,31
4 Dropdown-Liste, erst löschen (ID='Liste_1', X='3,18', Y='3,18', Zielfenster='Anzeige-Fenster1')
5 Bild-Element (ID='Bild-Element_1', X='36,78', Y='3,18', Breite='9,79', Höhe='9', Zielfenster='Anzeige-Fenster1')
6 Aufruf Marke 'Anzeige(Anzeige-Fenster1)_Message(126)'
7 Setze in [.Liste(Liste_1).Liste]: '[skalierungsfaktor]'
8 Setze in [.Liste(Liste_1).Markiert]: '1'
9 Warte Endlos (Warten auf zu behandelnde Ereignisse)
10
11 *** Hier wird die jeweilige Farbe unter dem Mauszeiger ermittelt.
12 :: System_Tastendruck
13 Setze , MultiSet 'skfX=[cX.Rechne([cX.Bildschirm.MausX]*[skalierungsfaktor]/100)]¶mx=[cX.Rechne(RDN([skfX]))]¶skfY=[cX.Rechne([cX...'
14 Setze in [.Element(Bild-Element_1).Hintergrundfarbe]: '$[cX.Bildschirm.Farbe([mx];[my])]'
15 Beende Unterprogramm (Zurück)
16
17 :: Anzeige(Anzeige-Fenster1)_Geschlossen
18 Beende Skript
19
20 *** WM_DISPLAYCHANGE ¶Funktioniert auch, wenn das Fenster unsichtbar ist und zeigt die¶aktuell eingestellte 'Skalierung und Anordnung' des Bildschirms in ¶der Systemsteuerung in %
...

cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


  (28 Zeilen, cX 5.0.10.3)


Bei besonderem Lizenzerfordernis bitte im Volltestmodus ausführen.

lg Christian
Folgende Benutzer bedankten sich: Soko, Bandit

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mausinformationstool 08 Okt 2023 11:49 #6

  • Stefan
  • Stefans Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 1129
  • Dank erhalten: 1668
Hallo, Christian!

Auch wenn das eigentlich schon ein neues Thema erfordern, würde möchte ich hierzu noch was anmerken:

Abgesehen von der direkten Powershell-Einbindung bietet die nächste Version auch ein [cX.Bildschirm.Skalierung] hierfür (ähnlich gemacht).
Leider ist es mir bislang noch nicht gelungen, diese Abfrage auch für andere Bildschirme zu machen, aber reicht ja meist so.
Solltest du da eine Idee haben - her damit!

Und ich hoffe, ich kann durch solche kleinen Ergänzungen deine Vorliebe von Powershell etwas zu Gunsten von cX verschieben...

Liebe Grüße
Stefan
Folgende Benutzer bedankten sich: daywalker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
  • 2

Community

Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Diese Cookies sind essenziell für den Betrieb dieser Website. Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.

Sie sind noch nicht Mitglied unserer Community? Melden Sie sich jetzt an!

Anmelden