Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Popup-Fenster! Wie? (https://www.delphipraxis.net/7490-popup-fenster-wie.html)

neolithos 14. Aug 2003 16:19

Re: Popup-Fenster! Wie?
 
Dieses Fenster soll wie ein normales Pulldown-Menü reagieren oder als freies ToolWindow auf dem Desktop (Steuerung über den blauen Balken) .

Stanlay Hanks 14. Aug 2003 17:15

Re: Popup-Fenster! Wie?
 
Wieso kanns denn kein Panel sein? Das reagiert zwar nicht genauso wie ein PopUp aber ich denke, wenn man das etwas bearbeitet, sollte es den Zweck auch erfüllen.

Man liest sich, Stanlay :hi:

neolithos 18. Aug 2003 08:50

Re: Popup-Fenster! Wie?
 
Leider nützt mir ein Panel überhaupt nix.

Ich habe derzeitig ein TWinControl (später eve TCustomForm?) abgeleitet, leider hat sich die Idee vom 31.08.2003 nicht viel gebracht. (Sieht aber lustig aus und ist hoch interessant).

Irgentwas fehlt da noch.

Kann sich jemand vorstellen was in TrackPopupMenuEx geschieht?
Das könnte mir weiterhelfen.

MatthiasW 18. Aug 2003 17:43

Re: Popup-Fenster! Wie?
 
Hallo,

Ich bin mir net ganz sicher ob das klappen kann, aber vielleicht kann man ja was mit "SetParent" machen?

Mfg Matthias

kiar 18. Aug 2003 17:59

Re: Popup-Fenster! Wie?
 
probiere mal folgendes in dem du von dem fenster dire params überschreibst
Code:
procedure TForm2.CreateParams(var params:TCreateParams);
begin
   inherited CreateParams(Params);
   Params.style:= params.style or ws_overlapped;
   params.wnd.parent:= form1.handle;
end;

Luckie 18. Aug 2003 18:09

Re: Popup-Fenster! Wie?
 
#32768^das ist nicht die Fensterklasse des Menüs. Sie ist es schon nur hat jeder Dialog, der mit dem VC Ressourcen-Editor erstellt wurde diese Klasse.

Zitat:

hat sich die Idee vom 31.08.2003 nicht viel gebracht.
Jetzt sag mir bitte, dass das nicht wahr ist und der 31. August 2003 schon vorbei ist, denn dann hätte ich nämlich meinen eigenen Geburtstag verpaßt.

neolithos 18. Aug 2003 18:15

Re: Popup-Fenster! Wie?
 
Da ich so wenig wie möglich neu schreiben möchte liegt mein Ansatz derzeitig so (um das in deins einzufügen)

Delphi-Quellcode:
procedure TForm2.CreateParams(var params:TCreateParams);
begin
   inherited CreateParams(Params);
   CreateSubClass(Params, '#32768');
   params.wnd.parent:= form1.handle;
end;
Das Ergebniss ist leiter nicht befriedigend, da erstmal das Fenster schrecklich aussieht. Und zweitens es nicht wie ein PopupFenster reagiert. Daher liegt die Vermutung nahe, dass Microsoft funktionalität im TrackPopupMenuEx versteckt.

Sprich man is hier völlig auf den Holzweg.

Luckie 18. Aug 2003 18:19

Re: Popup-Fenster! Wie?
 
Sag mal, hast du meine Antwort überhaupt gelesen? #32768 Ist NICHT die Fensterklasse eines Menüs. Diese Fensterklasse haben alle mit dem Ressourcen-Editor von Visual C erstellten Fenster!

neolithos 18. Aug 2003 18:29

Re: Popup-Fenster! Wie?
 
Tschuldigung das hatte ich Übersehen!

Und mal ganz Namen, Daten sind ein graus zu merken.

Zu #32768:

Dies ist eine Fenster-Klasse von Windows. Standard-API.
so steht es in der msdn geschrieben ->
Zitat:

System Classes
Damit scheint es nicht zu gehen! Leider schon festgestellt!
Such derzeit über Google und MSDN nenn anderen Weg!

MatthiasW 19. Aug 2003 08:32

Re: Popup-Fenster! Wie?
 
Hallo,

möglicherweise könnte dir auch das hier helfen:

Code:
Var myForm: TCustomForm;
begin
  .
  .
  myForm := (GetParentForm(Self) as TCustomForm);
  if myForm <> nil then myForm.Perform(WM_NCACTIVATE, 1, 0);
end;
Mfg Matthias


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.
Seite 2 von 3     12 3      

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