2. registierte Fensterklasse = SendMessage fehlschlag?
-
Hi,
ich habe 2 registierte Fensterklassen:
Einmal ein Hauptfenster und einmal einen Button vom Stil von BS_PUSHBUTTON.
Läuft wunderbar

Jetzt möchte ich eine eigene Message an diese Button senden (HWND habe ich!). Dies mache ich so:
SendMessage (knopf_hwnd, WM_MEINE_MESSAGE, 0, 0);Doch dies geht nicht
GetLastError gibt mir status 0 zurück: Alles Okay!Warum kommt die Message NIE an?
Lustigerweise gehen die Messages: WM_CLOSE, WM_PAINT und noch paar andere, aber sowas wie WM_DESTROY und co nicht

Wie kann ich eine Nachricht an das Fenster senden?

-
persus schrieb:
Hi,
Lustigerweise gehen die Messages: WM_CLOSE, WM_PAINT und noch paar andere, aber sowas wie WM_DESTROY und co nicht
Wie kann ich eine Nachricht an das Fenster senden?

Hä??? Tust du doch! Wie du ja schon bemerktest, gehen solche Dinge wie WM_CLOSE. WM_DESTRROY geht nicht, weil das eine interne Message ist, auf die der Entwickler reagiert, wenn sie vom System gesendet wird. Man sendet sie selber aber nicht!
Vielleicht wird es was helfen, wenn du hier mal sagen würdest, was du wirklich machen willst.
-
Nachdem ich die Fensterklasse des Buttons (oder eines anderen Typs z. B. Overlapped Window, bei denen tritt das ebenfalls auf) erstellt habe, wollte ich meine Message direkt an dieses Fenster senden zum testen, wie man eigene Messages versendet.
Leider geht das nicht

-
Was meinst du mit "eigene Message"?
Ich verstehe die Leute immer nicht, die etwas erfahren wollen und sich dann nicht genau genug ausdrücken. Da ist man doch selber schuld, wenn man keine Antwort bekommt!
Ich für meinen Teil frage Dich nicht nocheinmal. Entweder ich verstehe nach deinem nächsten Post, was du willst, oder du bekommst von mir keine Hilfe mehr.
-
Was zum geier ist an "eine eigene Message" falsch zu verstehen? Eine eigene definierte Message!
Sowas halt:
#define WM_MEINE_MESSAGE WM_APP+20Also sorry wenn du "eigene Message" nicht verstehst, was ist denn das da oben bitte schön? Ne "Fremde Message"?
-
Da du dich scheinbar nicht mich hineinversetzen kannst, ist es klar, dass du das nicht verstehst... Aber egal.
persus schrieb:
#define WM_MEINE_MESSAGE WM_APP+20Ja, genau. So definiert man eine eigene Message. So, und was ist nun dein Problem? Der Button bekommt deine Message. Aber da du ihm nicht sagst, was er daraufhin machen soll, bleibt er stumm. Was hast du erwartet?

Wenn du willst, dass der Button nach Eintreffen deiner Nachricht etwas tut, musst du ihn subclassen. Wie das geht, steht glaub ich in der FAQ.
-
Schau selbst im Spy++ nach was empfangen wird. Aber ohne eigeen Code, sprich Handler für diese Nachricht, passiert nie etwas. Hast Du den Butrton gesubclasst?