Italia
Fonte/ Codesnippets

Auf Button reagieren ohne dessen Variablennamen zu kennen

 

Georg
Teles
Guten Abend,

anbei ein Quelltext, bei dem man auf das Klicken der Buttons reagiert ohne dessen Variablennamen zu kennen. Das Workarea entstand, da man bei bestimmten Programmen Buttons beim Start ToGo definieren muss, sodass die absoluten Variablennamen nicht bekannt oder erst garnicht definiert sind.
CLS
Create("Button",%hWNd,"Button 1",300,5,200,40)
Create("Button",%hWNd,"Button 2",300,50,200,40)
Create("Button",%hWNd,"Button 3",300,95,200,40)
var active_button% = 0
' 1. Alternative wenn angeklickt

While 1=1

    WaitInput
    ' SKControl Buttons = 272 statt 78 !
    ' SKControl lieber 2. ALternative benutzen (Focus) da Klick nicht funktioniert !

    If ((%Message = 32) OR (%Message = 78))

        active_button% = %GetFocus

        If Clicked(active_button%)

            Print "Handle: ";active_button%;" Text: ";GetText$(active_button%)
            SetFocus(%hWnd)' wichtig den Fokus zurückzusetzen

        EndIf

        active_button% = 0

    EndIf

EndWhile

END
' 2. Alternative bereits bei FOCUS

While 1=1

    WaitInput
    ' SKControl Buttons = 272 statt 78 !

    If ((%Message = 32) OR (%Message = 78))

        active_button% = %GetFocus
        Print "Handle: ";active_button%;" Text: ";GetText$(active_button%)
        SetFocus(%hWnd)' wichtig den Fokus zurückzusetzen
        active_button% = 0

    EndIf

EndWhile


Grüße
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

11.06.2020  
 




Jörg
Sellmeyer
Ich sammel bei solchen Gelegenheiten die Handles der erzeugten Buttons in einer Liste und kann dann mit %getfocus suchen, welche das sind.
Mit GetHandle(%ItemID) kommst du auch sehr gut an das jeweilige Handle.
 
XProfan X4
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
11.06.2020  
 




Georg
Teles
Hi, quasi in einer Liste sammeln und auswerten

in meinem konkreten Fall tue ich das auch, beim Erstellen sammel ich die Handles in einer Grid wo zum ButtonHandle noch das entsprechende Programm, das gestartet wird sowie dessen Pfad und Zusatzparameter kommen.

Die Auswertung der Variablen spar ich mir und greife direkt auf das Handle wie Du

Grüße
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

12.06.2020  
 



Und dann gibt es noch gwl_userData und gwl_wndProc!
 
30.10.2020  
 




Michael
W.
aus dem Nichts kommend?
Wie kommt man da heran.
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
31.10.2020  
 



Vielleicht habe ich das Problem falsch verstanden.

Was ich meinte war eher, dass man ein Control z.B. mit gwl_userData ebenso mit Informationen versehen kann die nach %getFocus ausgelesen werden könnten.
 
31.10.2020  
 




Michael
W.
Ah, ok.

P.S.:
gwl_userData und gwl_wndProc
liefern ja eine wahre Fundgrube an Ideen.
Buttons in Taskbar, Subclassing, ...

Ist per später notiert...
Danke
 
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
31.10.2020  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

5.403 Views

Untitledvor 0 min.
Georg Teles29.08.2024
Stephan Sonneborn21.03.2022
ByteAttack21.01.2021
p.specht04.01.2021
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie