Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi WM_SETFOCUS abfangen (https://www.delphipraxis.net/31482-wm_setfocus-abfangen.html)

Pseudemys Nelsoni 10. Okt 2004 01:45


WM_SETFOCUS abfangen
 
moin,

ich habe in meiner messageloop folgendes mit drin:

Delphi-Quellcode:
    WM_SETFOCUS:
      begin
        // und noch irgendwas, aber kein CreateCaret!
      end;
wieso habe ich nun wenn ich mein prog starte trotzdem ein caret in den edits? ich habe das event doch abgefangen oder? oder bezieht sich das nur auf das hauptfenster, wenn ja, wie fange ich das eines edits ab? (nonvcl)

Pseudemys Nelsoni 11. Okt 2004 18:09

Re: WM_SETFOCUS abfangen
 
^^^

Assarbad 11. Okt 2004 19:38

Re: WM_SETFOCUS abfangen
 
Weil EDITs eine eigene Fensterprozedur haben.

Pseudemys Nelsoni 11. Okt 2004 21:30

Re: WM_SETFOCUS abfangen
 
muss ich für jede kompo ne eigene messageloop erstellen? dann hab ich nachher ja mehr schleifen drin als sonstwas O_o....wie mach ich das überhaupt?

Assarbad 11. Okt 2004 21:46

Re: WM_SETFOCUS abfangen
 
Ja, wahlweise für jede Komponente oder für jede Fensterklasse. Stichworte hierzu sind Subclassing und Superclassing. Bin mir sicher, daß Luckie dazu was in seinen Win32-Tuts zu stehen hat ;)

Pseudemys Nelsoni 11. Okt 2004 23:00

Re: WM_SETFOCUS abfangen
 
meiner meinung nach waren buttons usw doch auch eigene fenster oder? aber da kann ich die buttonclicks innerhalb der "hauptschleife" auch ausführen, komisch alles :\

Assarbad 11. Okt 2004 23:13

Re: WM_SETFOCUS abfangen
 
Oh oh ;) ... hier fehlen aber Grundlagen ;)

Also WM_COMMAND und die ganzen Notifications von Kindfenstern sind hier die Zauberei :-D ... daher kannst du ganz simpel auf BN_CLICKED (etwa: Button Notification upon "Clicked") reagieren. Dennoch hat ein Button eine eigene Fensterprozedur ( - aber IMO keine eigene Schleife in dem Sinne).

Die kann man aber ersetzen. Ich habe das zB in meinem Programm PB_TEST realisiert. Ist ne Weile her und ich habe grad keine Zeit mir das anzuschauen. Ich vermute mal, daß ich Subclassing benutzt habe.

Pseudemys Nelsoni 11. Okt 2004 23:39

Re: WM_SETFOCUS abfangen
 
danke, ich werd mal reingucken ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz