Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   sendMessage/postMessage über TMainMenu.Handle geht nicht (https://www.delphipraxis.net/168243-sendmessage-postmessage-ueber-tmainmenu-handle-geht-nicht.html)

joe66 10. Mai 2012 21:07


sendMessage/postMessage über TMainMenu.Handle geht nicht
 
für einen Test habe ich folgendes zusammen gestellt.
Wenn ich eine Message per Form.handle an die Form schicke wird entspechende Routine aufgerufen; das geht!!!
Wenn ich eine Message per MainMenu.handle an das Menü schicke geht das nicht? Wieso???


Codeing
Code:

const
  WM_ChangeType  = WM_USER + 10001;

type

TMainMenu2 = class(TMainMenu)
private
protected
      procedure WMChangeType(var Message);    message WM_ChangeType;
public
published
 published
end;



TForm2 = class(TForm)
   MainMenu21: TMainMenu2;
   procedure FormClick(Sender: TObject);
private
   procedure WMChangeType(var Message);    message WM_ChangeType;
public
end;


implementation

procedure TForm2.FormClick(Sender: TObject);
begin
   sendMessage (MainMenu21.Items.Handle,WM_ChangeType,integer(0),integer(Self)); //macht nichts !!!
   sendMessage (MainMenu21.Handle,WM_ChangeType,integer(0),integer(Self)); //macht nichts !!!
   sendMessage (Self.Handle,WM_ChangeType,integer(0),integer(Self)); //hier geht's!!!
end;

himitsu 10. Mai 2012 21:24

AW: sendMessage/postMessage über TMainMenu.Handle geht nicht
 
Eventuell reagieren HMENU's (Windows-Control im TMainMenu) nicht so auf Messages, so wie es die HWND's (Fenster, Edits, Memos, Buttons usw.) tun?

Tipp: Probiere mal Delphi-Referenz durchsuchenTMenu.WindowHandle anstatt Delphi-Referenz durchsuchenTMenu.Handle.

Tipp 2: Lies mal ganz genau nach, was in der OH zum Delphi-Referenz durchsuchenTMenu.Handle steht. Vorallem den letzen Satz solltest du andersrum lesen. (zwei "nicht" einbauen) :angle2:
true = true
not true = not true

[edit]
Hmmmm, WindowHandle klingt zwar so, als wenn man damit Messages verarbeiten könnte, aber ein Problem dürfte es dennoch geben. (den Empfänger)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.

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