Autor Beitrag
Wanni
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 30.08.02 11:23 
Hallo

Wenn ein Programm in die Taskbar minimiert wurde, können meist mittels rechter Maustaste Funktionen wie Close und Restore ausgeführt werden. Wie bringe ich einen eigenen Eintrag in dieses Menue (hinter dem sich eine eigene Funktion versteckt).

Besten Dank :shock:
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Fr 30.08.02 12:06 
Was meinst du genau, wie man ein PopUpMenü integriert, oder wie die Funkion lauten muss?

In der "Fenster-Öffnen"- Funktion kommt ganz einfach in
ausblenden Quelltext
1:
Application.Restore					

rein.

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
Wanni Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 30.08.02 12:19 
Nein, wenn ein Progamm minimiert ist
und man die Rechte Maustaste drückt
erscheint ein Menu, das möchte ich erweitern.
Gruss Wanni :shock:
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Fr 30.08.02 12:27 
Nutzt du etwa eine Komponente dafür? Wo kommt denn das Menü her, dass ja schon vorhanden ist?

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Fr 30.08.02 12:45 
Mit GetSystemMenu(Application.Handle) bekommst du das Handle zum Systemmenü. Mit AppendMenu kannst du dort eigene Items hinzufügen.

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
private
  procedure AppMessage(var Msg: TMsg; var Handled: Boolean);

{...}

implementation

{...}

const
  SC_MeinMenuItem1 = $100;

procedure TForm1.FormCreate(Sender: TObject);
var
  hSysMenu: THandle;
begin
  // Handle yum Systemmenü ermitteln
  hSysMenu := GetSystemMenu(Application.Handle, False);
  // Eigene Menüitems einfügen
  AppendMenu(hSysMenu, MF_SEPARATOR, 0, #0);
  AppendMenu(hSysMenu, MF_STRING, SC_MeinMenuItem1, '&Mein Menüitem');
  // OnMessage event handler festlegen
  Application.OnMessage := AppMessage;
end;

// OnMessage event handler
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
  if Msg.message = WM_SYSCOMMAND then
  begin
    case Msg.wParam of
      SC_MeinMenuItem1: 
        begin
          ShowMessage('SC_MeinMenuItem1');
          Handled := True;
        end;
    end;
  end;
end;
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 30.08.02 12:57 
Ich hab hier einen FAQ Beitrag eingefügt:
Wie kann ich das Systemmenü erweitern?

Gruß
TINO
Wanni Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 30.08.02 13:02 
Besten Dank das war genau was ich wollte!
Gruss Wanni :shock:
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Fr 30.08.02 13:05 
@Tino: Hast du deinen Code ausprobiert? Funktioniert nämlich nicht.
(WM_SYSCOMMAND wird nicht ausgelöst)
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 30.08.02 13:14 
Also bei mir funktioniert es!
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Fr 30.08.02 13:16 
Sorry, aber bei mir funktioniert es auch nicht :(
XP-Sytem

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Fr 30.08.02 13:18 
Bei mir funktioniert's nur für das Systemmenü der Form aber
nicht für das Systemmenü der Applikation (in der Taskleiste)
Mit einem OnMessage Handler funktioniert's jedoch für beide.

(OS: Win XP)
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 30.08.02 13:37 
Sorry, hatte es nur über das Form-Menü ausprobiert!

Stimmt natürlich. Hab die FAQ geändert!

Gruß
TINO