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 Nachrichten der TApplication Klasse anfangen? (https://www.delphipraxis.net/90333-nachrichten-der-tapplication-klasse-anfangen.html)

1234588 15. Apr 2007 15:35


Nachrichten der TApplication Klasse anfangen?
 
einen wunderschoenen tag wuensch ich der community

meine applikation sieht folgendermaßen aus

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure WMSYSCMD(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
  end;
[..]
const
  CM_BTN = 100;
[..]
procedure TForm1.WMSYSCMD(var Msg: TWMSysCommand);
begin
  case msg.CmdType of
    CM_BTN: beep;
  end;
  inherited;
end;


procedure TForm1.FormCreate(Sender: TObject);
var
  h: hwnd;
begin
  h := GetSystemMenu(Handle, false);
  AppendMenu(h, MF_STRING, CM_BTN, 'Test');
end;
ergebnis:
http://beachhosting.de/i/b5dad0735eb...2d69b39e4d.jpg

den klick auf die neue schaltflaeche ('Test') kann ich ja einfach abfangen, man koennte auch die fenster funktion ueberschreiben und so die nachricht anfangen. nun kommen wir zu meinem eigentlichen problemchen

wenn ich der funktion GetSystemMenu() das handle 'Application.Handle' uebergebe, dann hab ich wie erwartet folgendes ergebnis:
http://beachhosting.de/i/c3483c98503...744304dcd0.jpg

ich bin ratlos wie ich diesen klick abfangen soll, ich weiß generell nicht wie ich nachrichten der TApplication klasse abfange.

waere fuer jeden beitrag der mich ein stueckchen weiter bringt, sehr dankbar :)

jfheins 15. Apr 2007 15:54

Re: Nachrichten der TApplication Klasse anfangen?
 
Guck mal, ob du ein TApplicationEvents auf die Form ziehen kannst, und dann im OnMesaage eventhandler was ankommt ;)

1234588 15. Apr 2007 15:59

Re: Nachrichten der TApplication Klasse anfangen?
 
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  case msg.wParam of
    CM_BTN: beep;
  end;
  inherited;
end;
es piept :D
vielen dank


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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