Français
Forum

Subclassing eines Éditer-Feldes

 
- page 1 -



Stephan
Sonneborn
Salut,

wieso wird qui Message EM_GETMODIFY pas ausgewertet, qui Message WM_KEYUP mais déjà?
'************************************************************************************************
'* 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 klicken pour "; 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 X4
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
04.10.2020  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »


Matthias
Arlt
si déjà SubClassing, ensuite etwa so:
SUBCLASSPROC

    IF SUBCLASSMESSAGE(Edit&, ~WM_KEYUP) OU SUBCLASSMESSAGE(Edit&, ~WM_PASTE)

        SET("WinProc", 1)
        LOCATE 10,1
        PRINT "Subclassing erfolgreich"

    ENDIF

    IF SendMessage(Edit&,~EM_GETMODIFY,0,0)

        IF GETTEXT$(Edit&) = "Ende"

            PRINT "Einfach klicken pour "; GETTEXT$(Edit&)
            waitinput
            Ende% = 1

        ENDIF

    ENDIF

ENDPROC


avec solcher "Eingabeaufforderung" dans qui SubClassproc ist cela mais aucun très elegante Solution... et eigentlich braucht es pour ne...aucune SubClassing, car so ca va aussi:
CLS
Edit& = CREATE("Edit",%HWND, », 10,10,100,20)

WHILENOT Ende%

    WAITINPUT

    IF SendMessage(Edit&,~EM_GETMODIFY,0,0)

        IF GETTEXT$(Edit&) = "Ende"

            PRINT "Einfach klicken pour "; GETTEXT$(Edit&)
            waitinput
            Ende% = 1

        ENDIF

    ENDIF

WEND

FIN

Es sei car, Du brauchst cela SubClassing encore pour weitere, ici encore pas enthaltene Funktionen...

cela EM_GETMODIFY ist dans beiden Fällen entbehrlich et dient seulement zur Demo, wohin et comment on es anwendet.

Salut Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
07.10.2020  
 




Matthias
Arlt

lt. Win32hlp: à application sends à EM_GETMODIFY message to determine whether le content of à edit control has been modified.


EM_GETMODIFY devrait alors zunächst à cela Éditer gesendet volonté. comment WM_KEYUP oui aussi...par Loslassen einer bouton...

Salut Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
05.10.2020  
 



EM_GETMODIFY  [...]  soll on (per SendMessage) à cela Éditer senden et am Rückgabewert erkennen, si cela Éditer "modifiziert" wurde.

Subclassmessage wäre hierbei hilfreich si Windows qui nouvelle à l' Éditer sendet, quoi mais pas qui le cas ist.

il y a mais aussi EN_CHANGE (  [...]  ) - vlt. plutôt quoi tu cherches.
 
05.10.2020  
 




Stephan
Sonneborn
iF (05.10.2020)
il y a mais aussi EN_CHANGE (  [...]  ) - vlt. plutôt quoi tu cherches.


Hm. non. allez aussi pas...
WM_KEYUP wäre oui OK, mais si on quelque chose per Zwischenablage et Kontextmenü einfügt, bekomme je cela pas avec...
 
XProfan X4
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
05.10.2020  
 




Matthias
Arlt

...si on quelque chose per Zwischenablage et Kontextmenü einfügt, bekomme je cela pas avec...


Doch, simple sur WM_PASTE réagir...oui c'est ca comment WM_KEYUP.
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
05.10.2020  
 




Stephan
Sonneborn
Hm... Irgendwie peux je ensuite gar rien plus insérer per CTRL+V ou bien RMT+insérer...
'************************************************************************************************
'* SubClassing                                                                                  *
'************************************************************************************************
 $H MESSAGES.PH
DECLARE Edit&
DECLARE Ende%
'+----------------------------------------------------------------------------------------------+

SUBCLASSPROC

    'IF SUBCLASSMESSAGE(Edit&, ~EM_GETMODIFY)

    IF SUBCLASSMESSAGE(Edit&, ~WM_KEYUP) OU SUBCLASSMESSAGE(Edit&, ~WM_PASTE)

        IF GETTEXT$(Edit&) = "Ende"

            LOCATE 10,1
            PRINT "Einfach klicken pour "; 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 X4
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
06.10.2020  
 




Matthias
Arlt
qui einzufügende String doit naturellement aussi beim Éditer arriver. alors qui Message pas seulement intercepter, mais pour entrée aussi à qui originale WindowProc vom Éditer weiterreichen per 'SET("WinProc", 1)'. ou bien mais selbst behandeln (bspw. 'settext'...)

Salut Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
06.10.2020  
 




Stephan
Sonneborn
Matthias Arlt (06.10.2020)
qui einzufügende String doit naturellement aussi beim Éditer arriver. alors qui Message pas seulement intercepter, mais pour entrée aussi à qui originale WindowProc vom Éditer weiterreichen per 'SET("WinProc", 1)'. ou bien mais selbst behandeln (bspw. 'settext'...)

Salut Matthias


Vielen Dank pour Votre Aider, Matthias!
Hab maintenant WinProc wieder eingeschaltet. après voulais je ensuite cela Éditer-champ auswerten... sans Erfolg.
'************************************************************************************************
'* SubClassing                                                                                  *
'************************************************************************************************
 $H MESSAGES.PH
DECLARE Edit&
DECLARE Ende%
'+----------------------------------------------------------------------------------------------+

SUBCLASSPROC

    'IF SUBCLASSMESSAGE(Edit&, ~EM_GETMODIFY)

    IF SUBCLASSMESSAGE(Edit&, ~WM_KEYUP) OU SUBCLASSMESSAGE(Edit&, ~WM_PASTE)

        SET("WinProc", 1)
        LOCATE 10,1
        PRINT "Subclassing erfolgreich"

        IF GETTEXT$(Edit&) = "Ende"

            PRINT "Einfach klicken pour "; 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 X4
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
07.10.2020  
 




Matthias
Arlt
si déjà SubClassing, ensuite etwa so:
SUBCLASSPROC

    IF SUBCLASSMESSAGE(Edit&, ~WM_KEYUP) OU SUBCLASSMESSAGE(Edit&, ~WM_PASTE)

        SET("WinProc", 1)
        LOCATE 10,1
        PRINT "Subclassing erfolgreich"

    ENDIF

    IF SendMessage(Edit&,~EM_GETMODIFY,0,0)

        IF GETTEXT$(Edit&) = "Ende"

            PRINT "Einfach klicken pour "; GETTEXT$(Edit&)
            waitinput
            Ende% = 1

        ENDIF

    ENDIF

ENDPROC


avec solcher "Eingabeaufforderung" dans qui SubClassproc ist cela mais aucun très elegante Solution... et eigentlich braucht es pour ne...aucune SubClassing, car so ca va aussi:
CLS
Edit& = CREATE("Edit",%HWND, », 10,10,100,20)

WHILENOT Ende%

    WAITINPUT

    IF SendMessage(Edit&,~EM_GETMODIFY,0,0)

        IF GETTEXT$(Edit&) = "Ende"

            PRINT "Einfach klicken pour "; GETTEXT$(Edit&)
            waitinput
            Ende% = 1

        ENDIF

    ENDIF

WEND

FIN

Es sei car, Du brauchst cela SubClassing encore pour weitere, ici encore pas enthaltene Funktionen...

cela EM_GETMODIFY ist dans beiden Fällen entbehrlich et dient seulement zur Demo, wohin et comment on es anwendet.

Salut Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
07.10.2020  
 




Stephan
Sonneborn
allô Matthias,

vielen Dank pour Dein Beispiel!

cela fait es klarer! je voulais mich simple la fois à qui "neuen" Funktionen voiture. comme but soll es oui un Vokabeltrainer volonté.

et je voulais übers Subclassing une Zeitmesser courir laisser. Klappt aussi très bien!

et ensuite voulais je au cours de qui Eingabe einer Antwort avec einem change eines Icônes pour richtig ou bien faux une Rückmeldung donner.

cela Beispiel dessus sollte cela Problem seulement vereinfacht représenter. je denke, maintenant bekomme je es hin!
 
XProfan X4
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
08.10.2020  
 




Matthias
Arlt
allô Stephan,
ensuite gutes Gelingen! Freut mich, si je un peu en supplément beitragen konnte...
Salut Matthias
 
Alle Sprachen
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
08.10.2020  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

6.139 Views

Untitledvor 0 min.
Gast.0815 vor 13 Tagen
Member 862464120.05.2024
Normann StrĂĽbli03.02.2023
Walter30.12.2022
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie