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;