Das Systemmenü Elemente hinzufügen


Wie Elemente hinzu, bis das System-Menü oben links des Formulars.

Typ
TForm1 = class(TForm)
...
Prozedur FormCreate(Sender: TObject);
Private
Procedure WMSYSCOMMAND (Var Message: TWMSYSCOMMAND); Nachricht WM_SYSCOMMAND;

...

Prozedur TForm1.FormCreate(Sender: TObject);
const
MenuCaption = ' & ▄ber...';
var
i: Integer;
Systemmenü: HMenu;
MENUITEMINFO: TMENUITEMINFO;
beginnen
Systemmenü: = GetSystemMenu (Handle, False);
Ich: = GetMenuItemCount(SystemMenu);
FillChar (MENUITEMINFO, SizeOf(MENUITEMINFO), 0);
{Verwende keine SizeOf(MENUITEMINFO) da es, für erforderlich ist
Windows 95}
MENUITEMINFO.cbSize: = 44;
Trennzeichen
MENUITEMINFO.fMask: = MIIM_TYPE;
MENUITEMINFO.fType: = MFT_SEPARATOR;
InsertMenuItem (Systemmenü, MENUITEMINFO i, TRUE);
Hinzufügen über jetzt
MENUITEMINFO.fMask: = MIIM_TYPE oder MIIM_ID;
MENUITEMINFO.fType: = MFT_STRING;
MENUITEMINFO.dwTypeData: = PChar(MenuCaption);
MENUITEMINFO.cch: = Length(MenuCaption);
MENUITEMINFO.wID: = 1101; ID muss sein < $F000
InsertMenuItem (Systemmenü, i + 1, wahr, MENUITEMINFO);
Ende;

Procedure TForm1.WMSYSCOMMAND (Var Message: TWMSYSCOMMAND);
beginnen
erbte;
RS-Nachricht. CmdType von
1101: ShowMessage ('über mich');
Ende;
Ende;

Der vorherige Code kein Menüelement hinzufügen, um das Systemmenü des die
Anwendungsschaltfläche in der Taskleiste (wenn Sie es mit der rechten Maustaste). Es hat
Da Delphi ein ausgeblendetes Fenster erstellt. Du musst die Arbeit machen
zweimal, um das gleiche Menü für dieses Fenster hinzufügen. Leider
das Objekt empfangen der Nachricht WM_SYSCOMMAND ist auch dieses Fenster:

Typ
TForm1 = class(TForm)
Prozedur FormCreate(Sender: TObject);
Private
Procedure OnAppMessage (Var Msg: TMsg; Var Handled: Boolean);
Ende;

...

Prozedur TForm1.FormCreate(Sender: TObject);
const
MenuCaption = ' & ▄ber...';
var
i: Integer;
Systemmenü: HMenu;
MENUITEMINFO: TMENUITEMINFO;
beginnen
Application.OnMessage: = OnAppMessage;
Systemmenü: = GetSystemMenu (Application.Handle, False);
denselben Code wie zuvor
...
Ende;

Procedure TForm1.OnAppMessage (Var Msg: TMsg; Var Handled: Boolean);
beginnen
Wenn (Msg.message = WM_SYSCOMMAND) und (Msg.wParam = 1101) dann
beginnen
ShowMessage ('über mich');
Behandelt: = True;
Ende;
Ende;









Das Systemmenü Elemente hinzufügen


Das Systemmenü Elemente hinzufügen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Wie Elemente hinzu, bis das System-Menü oben links des Formulars.

Typ
TForm1 = class(TForm)
...
Prozedur FormCreate(Sender: TObject);
Private
Procedure WMSYSCOMMAND (Var Message: TWMSYSCOMMAND); Nachricht WM_SYSCOMMAND;

...

Prozedur TForm1.FormCreate(Sender: TObject);
const
MenuCaption = ' & ▄ber...';
var
i: Integer;
Systemmenü: HMenu;
MENUITEMINFO: TMENUITEMINFO;
beginnen
Systemmenü: = GetSystemMenu (Handle, False);
Ich: = GetMenuItemCount(SystemMenu);
FillChar (MENUITEMINFO, SizeOf(MENUITEMINFO), 0);
{Verwende keine SizeOf(MENUITEMINFO) da es, für erforderlich ist
Windows 95}
MENUITEMINFO.cbSize: = 44;
Trennzeichen
MENUITEMINFO.fMask: = MIIM_TYPE;
MENUITEMINFO.fType: = MFT_SEPARATOR;
InsertMenuItem (Systemmenü, MENUITEMINFO i, TRUE);
Hinzufügen über jetzt
MENUITEMINFO.fMask: = MIIM_TYPE oder MIIM_ID;
MENUITEMINFO.fType: = MFT_STRING;
MENUITEMINFO.dwTypeData: = PChar(MenuCaption);
MENUITEMINFO.cch: = Length(MenuCaption);
MENUITEMINFO.wID: = 1101; ID muss sein < $F000
InsertMenuItem (Systemmenü, i + 1, wahr, MENUITEMINFO);
Ende;

Procedure TForm1.WMSYSCOMMAND (Var Message: TWMSYSCOMMAND);
beginnen
erbte;
RS-Nachricht. CmdType von
1101: ShowMessage ('über mich');
Ende;
Ende;

Der vorherige Code kein Menüelement hinzufügen, um das Systemmenü des die
Anwendungsschaltfläche in der Taskleiste (wenn Sie es mit der rechten Maustaste). Es hat
Da Delphi ein ausgeblendetes Fenster erstellt. Du musst die Arbeit machen
zweimal, um das gleiche Menü für dieses Fenster hinzufügen. Leider
das Objekt empfangen der Nachricht WM_SYSCOMMAND ist auch dieses Fenster:

Typ
TForm1 = class(TForm)
Prozedur FormCreate(Sender: TObject);
Private
Procedure OnAppMessage (Var Msg: TMsg; Var Handled: Boolean);
Ende;

...

Prozedur TForm1.FormCreate(Sender: TObject);
const
MenuCaption = ' & ▄ber...';
var
i: Integer;
Systemmenü: HMenu;
MENUITEMINFO: TMENUITEMINFO;
beginnen
Application.OnMessage: = OnAppMessage;
Systemmenü: = GetSystemMenu (Application.Handle, False);
denselben Code wie zuvor
...
Ende;

Procedure TForm1.OnAppMessage (Var Msg: TMsg; Var Handled: Boolean);
beginnen
Wenn (Msg.message = WM_SYSCOMMAND) und (Msg.wParam = 1101) dann
beginnen
ShowMessage ('über mich');
Behandelt: = True;
Ende;
Ende;


Das Systemmenü Elemente hinzufügen

Das Systemmenü Elemente hinzufügen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Das Systemmenü Elemente hinzufügen
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung