Torsten R., 08.11.2006 23:15: Hallo,
mit EnableWindow
kann ich ja ein beliebiges Element deaktivieren oder reaktivieren.
Aber wie erfahre ich ob ein Element gerade aktiv oder inaktiv ist?
Ich könnte mir natürlich einfach eine Variable erstellen, die sich genau das merkt, aber es muss doch auch eleganter gehen oder?
MfG
Torsten
David Strutz, 08.11.2006 23:36: Klar gehts einfacher! ws_disabled ist ja ein windowstyle. Schau nach getstyle

Und dann gibts da noch gwl_userdata - damit kannst Du in Controls ein Long verstecken...
Beitrag, 08.11.2006 23:48: [code:1:85661db349]!Def IsEnabled(1) !"user32.dll", "IsWindowEnabled"[/code:1:85661db349]
Ungetested
Rolf Koch, 08.11.2006 23:52: Shit Thomas war schneller - aber ja Thomas es geht damit:
[code:1:d226406421]
$P+
SetErrorLevel 0
Def IsWindowEnabled(1) !"USER32","IsWindowEnabled"
'********************** HINWEISE ********************************
' CODE ERZEUGT MIT ROKO'S OBJECT CREATOR 4.5
' DATUM 08.11.2006 um 22:46 Uhr
' VERWENDETE PROFANVERSION IST 10.0ss-NT S13 XPROFAN
' CODE ERSTELLT UNTER UNBEKANNTER WINDOWSVERSION
' !!! Dieser Code wird von Roc immer neu erzeugt !!!
' !!! Erst bearbeiten, wenn alle Objekte erzeugt wurden !!!
' !!! Verändern Sie ggf. feste Pfade in variable Pfade !!!
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
DECLARE BUTTON1&
DECLARE BUTTON2&
DECLARE BUTTON3&
DECLARE EDIT1&
DECLARE EDIT2&
DECLARE EDIT3&
WINDOWSTYLE 63
WINDOWTITLE "Enabled?"
WINDOW 22,20-640,500
SETTRUECOLOR 1
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
' Hier kann ggf. Ihr Menü hin
BUTTON1& = CREATE("BUTTON",%HWND,"BUTTON",0023,0033,0070,0030)
BUTTON2& = CREATE("BUTTON",%HWND,"BUTTON",0023,0073,0070,0030)
BUTTON3& = CREATE("BUTTON",%HWND,"BUTTON",0022,0113,0070,0030)
EDIT1& = CREATE("EDIT",%HWND,"EDIT",0112,0033,0120,0020)
EDIT2& = CREATE("EDIT",%HWND,"EDIT",0113,0061,0120,0020)
EDIT3& = CREATE("EDIT",%HWND,"EDIT",0115,0094,0120,0020)
enablewindow Button2&,0
enablewindow Edit2&,0
Print IsWindowEnabled(Edit2&)
print IsWindowEnabled(Button2&)
Print IsWindowEnabled(Edit1&)
print IsWindowEnabled(Button3&)
SETFOCUS(%HWND)
WHILENOT ENDE%
WAITINPUT
If @EQU(%KEY,2)
LET ENDE%= 1
ELSEIF @EQU(%KEY,4)
ELSEIF GETFOCUS(BUTTON1&) 'BUTTON
ELSEIF GETFOCUS(BUTTON2&) 'BUTTON
ELSEIF GETFOCUS(BUTTON3&) 'BUTTON
ELSEIF GETFOCUS(EDIT1&) 'EDIT
ELSEIF GETFOCUS(EDIT2&) 'EDIT
ELSEIF GETFOCUS(EDIT3&) 'EDIT
ENDIF
WEND
[/code:1:d226406421]
Torsten R., 09.11.2006 08:28: Danke euch allen
damit lässt sich was anfangen.
MfG
Torsten
Dies ist die Offlinevariante vom Thread [EnableWindow Status eines Elementes abfragen].
©2006 XProfan.Com