Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi BorderStyle bsNone + fehlendes Kontextmenu in der Taskleiste (https://www.delphipraxis.net/102808-borderstyle-bsnone-fehlendes-kontextmenu-der-taskleiste.html)

semo 5. Nov 2007 11:53


BorderStyle bsNone + fehlendes Kontextmenu in der Taskleiste
 
Ich erstelle hier ein neues Projekt mit Delphi 2007.
Bei meiner MainForm stelle ich den BorderStyle auf bsNone.
Leider wird nun beim Rechtsklick in der Taskleiste auf meine Applikation kein Kontextmenu angezeigt.
Das selbe habe ich in Delphi 6 einmal getestet und dort erscheint wie gewünscht das Kontextmenu.

Hat jemand spontan einen Tip parat?

RavenIV 5. Nov 2007 12:18

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
Es gibt noch die Eigenschaft BorderIcons, versuch dort mal was zu verändern und schau, was passiert.

semo 5. Nov 2007 12:37

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
da tut sich gar nix.
ich habe alle einmal auf false gesetzt und einmal alle auf true.
auch alle mal einzeln auf true gesetzt

halinchen 5. Nov 2007 12:39

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
Ich weiß nicht ob dir das was nützt, aber bei mir fehlt es auch.

semo 5. Nov 2007 12:42

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
klar hilft mir das:

ich würd ja fast dazu tendieren, dass bei codegear in die quality central zu posten.
wollt mich aber erst einmal absichern ob das bei mehreren leuten auftritt oder ich einfach nur nen denkfehler habe.
ich frage mich halt nur warum das menu mit delphi 6 kompiliert erscheint und mit Delphi 2007 nun nicht mehr.

semo 5. Nov 2007 22:02

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
ich habe mal einen beitrag in die qc von codegear gepostet:
http://qc.codegear.com/wc/qcmain.aspx?d=54416

jbg 5. Nov 2007 23:25

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
Zitat:

Zitat von M. Hassmann
ich frage mich halt nur warum das menu mit delphi 6 kompiliert erscheint und mit Delphi 2007 nun nicht mehr.

Weil Bei Delphi 2007 die Zeile "Application.MainFormOnTaskbar := True;" drinnen ist und bei Delphi 6 eben nicht.
Ab Delphi 2007 wird nicht mehr das versteckte TApplication.Handle Fenster in der Taskleiste angezeigt (Wiederherstellen, Minimieren, Schließen) sondern das Hauptformular (Wiederherstellen, Verschieben, Größe ändern, Minimieren, Maximieren, Schließen). Und wenn das Hauptformular nun kein eigenes Systemmenü hat (BorderStyle = bsNone), dann hat der Taskbar-Button nun eben auch kein Systemmenü mehr.

Als Bug würde ich das jetzt nicht bezeichnen und ich bin mir sicher, dass der QC Report mit "as designed" wohl abgelehnt wird.

semo 6. Nov 2007 11:02

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
ich habe es wie folgt gelöst: einfach im CreateParams entsprechende Parameter setzen.
dann klappts auch mit dem kontextmenu :-)
Delphi-Quellcode:
procedure TMyForm.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);

  Params.Style := Params.Style or WS_SYSMENU or WS_MINIMIZEBOX;
end;

Deep-Sea 6. Nov 2007 11:41

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
Zitat:

Zitat von M. Hassmann
ich habe es wie folgt gelöst: einfach im CreateParams entsprechende Parameter setzen.
dann klappts auch mit dem kontextmenu :-)

Sollte, laut jbg's Post, ein "Application.MainFormOnTaskbar := False;" nicht ausreichen?
(Habe kein D2007)

semo 6. Nov 2007 11:54

Re: BorderStyle bsNone + fehlendes Kontextmenu in der Taskle
 
Delphi-Quellcode:
Application.MainFormOnTaskbar := False;
ist ja nicht was ich möchte.
ich möchte ja schon das vorschaufenster mit preview des mainforms haben wenn die application minimiert ist.


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