| |
|
|
- Página 1 - |
|
Stephan Sonneborn | ¡Hola,
wieso se el Message EM_GETMODIFY no ausgewertet, el Message WM_KEYUP aber ya?
'************************************************************************************************
'* SubClassing *
'************************************************************************************************
$H MESSAGES.PH
DECLARE Edit&
DECLARE Ende%
'+----------------------------------------------------------------------------------------------+
SUBCLASSPROC
IF SUBCLASSMESSAGE(Edit&, ~EM_GETMODIFY)
'IF SUBCLASSMESSAGE(Edit&, ~WM_KEYUP)
IF GETTEXT$(Edit&) = "Ende"
LOCATE 10,1
PRINT "Einfach clic para "; GETTEXT$(Edit&)
Ende% = 1
ENDIF
SET("WinProc", 0)
ENDIF
ENDPROC
'+----------------------------------------------------------------------------------------------+
CLS
Edit& = CREATE("Edit",%HWND, "", 10,10,100,20)
SUBCLASS Edit&,1
WHILENOT Ende%
WAITINPUT
WEND
SUBCLASS Edit&,0
FIN
|
|
|
| XProfan X4Schöne Grüße aus Wittgenstein von Stephan Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 04.10.2020 ▲ |
|
|
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
Matthias Arlt | Wenn ya SubClassing, entonces etwa así:
Mit solcher "Eingabeaufforderung" en el SubClassproc es el pero no muy elegante Solución... Und eigentlich braucht lo dafür kein SubClassing, porque así es auch:
Lo sei porque, Usted necesidad el SubClassing todavía para weitere, hier todavía no enthaltene Características...
Das EM_GETMODIFY es en beiden Fällen entbehrlich y dient sólo a Demo, wo y cómo lo anwendet.
Saludo Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 07.10.2020 ▲ |
|
|
|
|
|
Matthias Arlt |
lt. Win32hlp: An application sends a EM_GETMODIFY mensaje to determine whether the content of a edit control has been modified.
EM_GETMODIFY müßte also primero a Edit gesendet voluntad. Como WM_KEYUP en efecto...por Liberación uno Taste...
Saludo Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 05.10.2020 ▲ |
|
|
|
|
| EM_GETMODIFY [...] se uno (por SendMessage) a Edit senden y al Rückgabewert erkennen, si Edit "modifiziert" wurde.
Subclassmessage wäre hierbei hilfreich si Windows el Nachricht ans Editar envía, qué pero no el Fall es.
Lo son aber auch EN_CHANGE ( [...] ) - vlt. más qué Usted suchst. |
|
|
| |
|
|
|
Stephan Sonneborn | IF (05.10.2020)
Lo son aber auch EN_CHANGE ( [...] ) - vlt. más qué Usted suchst.
Hm. Nein. Geht auch no... WM_KEYUP wäre sí OK, pero si uno algo por Zwischenablage y Kontextmenü einfügt, bekomme Yo el no con... |
|
|
| XProfan X4Schöne Grüße aus Wittgenstein von Stephan Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 05.10.2020 ▲ |
|
|
|
|
Matthias Arlt |
...si uno algo por Zwischenablage y Kontextmenü einfügt, bekomme Yo el no con...
Doch, simplemente WM_PASTE reagieren...genau como WM_KEYUP. |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 05.10.2020 ▲ |
|
|
|
|
Stephan Sonneborn | Hm... Irgendwie kann Yo entonces gar nichts mehr einfügen por CTRL+V oder RMT+Einfügen...
'************************************************************************************************
'* SubClassing *
'************************************************************************************************
$H MESSAGES.PH
DECLARE Edit&
DECLARE Ende%
'+----------------------------------------------------------------------------------------------+
SUBCLASSPROC
'IF SUBCLASSMESSAGE(Edit&, ~EM_GETMODIFY)
IF SUBCLASSMESSAGE(Edit&, ~WM_KEYUP) O SUBCLASSMESSAGE(Edit&, ~WM_PASTE)
IF GETTEXT$(Edit&) = "Ende"
LOCATE 10,1
PRINT "Einfach clic para "; GETTEXT$(Edit&)
Ende% = 1
ENDIF
SET("WinProc", 0)
ENDIF
ENDPROC
'+----------------------------------------------------------------------------------------------+
CLS
Edit& = CREATE("Edit",%HWND, "", 10,10,100,20)
SUBCLASS Edit&,1
WHILENOT Ende%
WAITINPUT
WEND
SUBCLASS Edit&,0
FIN
|
|
|
| XProfan X4Schöne Grüße aus Wittgenstein von Stephan Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 06.10.2020 ▲ |
|
|
|
|
Matthias Arlt | Der einzufügende String muß natürlich auch beim Editar ankommen. Also el Message no sólo abfangen, pero después de Eingang auch a el originale WindowProc vom Editar weiterreichen por 'SET("WinProc", 1)'. Oder aber incluso behandeln (bspw. 'settext'...)
Saludo Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 06.10.2020 ▲ |
|
|
|
|
Stephan Sonneborn | Matthias Arlt (06.10.2020)
Der einzufügende String muß natürlich auch beim Editar ankommen. Also el Message no sólo abfangen, pero después de Eingang auch a el originale WindowProc vom Editar weiterreichen por 'SET("WinProc", 1)'. Oder aber incluso behandeln (bspw. 'settext'...)
Saludo Matthias
Vielen Dank para Su Ayuda, Matthias! Hab ahora WinProc otra vez eingeschaltet. Danach Yo quería entonces Edit-Feld auswerten... sin Erfolg.
'************************************************************************************************
'* SubClassing *
'************************************************************************************************
$H MESSAGES.PH
DECLARE Edit&
DECLARE Ende%
'+----------------------------------------------------------------------------------------------+
SUBCLASSPROC
'IF SUBCLASSMESSAGE(Edit&, ~EM_GETMODIFY)
IF SUBCLASSMESSAGE(Edit&, ~WM_KEYUP) O SUBCLASSMESSAGE(Edit&, ~WM_PASTE)
SET("WinProc", 1)
LOCATE 10,1
PRINT "Subclassing erfolgreich"
IF GETTEXT$(Edit&) = "Ende"
PRINT "Einfach clic para "; GETTEXT$(Edit&)
Ende% = 1
ENDIF
ENDIF
ENDPROC
'+----------------------------------------------------------------------------------------------+
CLS
Edit& = CREATE("Edit",%HWND, "", 10,10,100,20)
SUBCLASS Edit&,1
WHILENOT Ende%
WAITINPUT
WEND
SUBCLASS Edit&,0
FIN
|
|
|
| XProfan X4Schöne Grüße aus Wittgenstein von Stephan Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 07.10.2020 ▲ |
|
|
|
|
Matthias Arlt | Wenn ya SubClassing, entonces etwa así:
Mit solcher "Eingabeaufforderung" en el SubClassproc es el pero no muy elegante Solución... Und eigentlich braucht lo dafür kein SubClassing, porque así es auch:
Lo sei porque, Usted necesidad el SubClassing todavía para weitere, hier todavía no enthaltene Características...
Das EM_GETMODIFY es en beiden Fällen entbehrlich y dient sólo a Demo, wo y cómo lo anwendet.
Saludo Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 07.10.2020 ▲ |
|
|
|
|
Stephan Sonneborn | ¡Hola Matthias,
vielen Dank para Su Ejemplo!
Das macht lo klarer! Yo quería mich simplemente veces a el "neuen" Características wagen. Als Ziel se lo sí una Vokabeltrainer voluntad.
Und Yo quería übers Subclassing una Zeitmesser laufen dejar. Klappt auch muy bien!
Und entonces Yo quería während el Eingabe uno Antwort con un Wechsel uno Icons para correcto oder falso una Rückmeldung geben.
Das Ejemplo oben debería el problema sólo vereinfacht darstellen. Yo denke, ahora bekomme Yo hin! |
|
|
| XProfan X4Schöne Grüße aus Wittgenstein von Stephan Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 08.10.2020 ▲ |
|
|
|
|
Matthias Arlt | ¡Hola Stephan, entonces gutes Gelingen! Freut mich, si yo una wenig dazu beitragen podría... Saludo Matthias |
|
|
| |
|
|