Delphi-PRAXiS
Seite 2 von 4     12 34      

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/)
-   -   parent minimieren (https://www.delphipraxis.net/124978-parent-minimieren.html)

khh 28. Nov 2008 08:30

Re: parent minimieren
 
Zitat:

Zitat von DeddyH
Wäre es nicht besser, mit GetParentForm das Elternformular zu ermitteln? Parent kann ja auch z.B. ein Panel sein.

ich denke du hast recht,
und dann in abhängigkeit des ergebnises minimieren.

khh 28. Nov 2008 09:07

Re: parent minimieren - erweitert
 
Zitat:

Zitat von khh
Zitat:

Zitat von DeddyH
Wäre es nicht besser, mit GetParentForm das Elternformular zu ermitteln? Parent kann ja auch z.B. ein Panel sein.

ich denke du hast recht,
und dann in abhängigkeit des ergebnises minimieren.


ich danke euch, so funktionierts richtig:


parentForm:= GetParentForm(self);
if (Parent.ClassType.InheritsFrom(TForm)) then
begin
SendMessage(parentForm.handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
end;


gruss Kh

khh 28. Nov 2008 09:22

Re: parent minimieren
 
um das ganze noch zu erweitern, würde ich gerne diese message im parent abfragen und unterschiedlich darauf reagieren.

wenn ich mir die msg im parent anzeigen lasse hab ich den integerwert, der jedesmal anders ist, wie weiter ?


Es soll quasi das parent dann entscheiden ob es das minimize kommando ausführt.
Geht das, und wenn ja wie ?

danke euch

DeddyH 28. Nov 2008 09:28

Re: parent minimieren
 
Wie fängst Du die Message denn ab?

khh 28. Nov 2008 09:43

Re: parent minimieren
 
Zitat:

Zitat von DeddyH
Wie fängst Du die Message denn ab?

so:

ShowMessage(IntToStr(self.Handle));

aber ich denke mal das passt so nicht :-(

gruss Kh

DeddyH 28. Nov 2008 09:55

Re: parent minimieren
 
Delphi-Quellcode:
type
  TDeinForm = class(TForm)
  ...
  private
    { Private-Deklarationen }
    procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
  ...
  end;

...

implementation

...

procedure TDeinForm.WMSysCommand(var Msg: TWMSysCommand);
begin
  if Msg.CmdType = SC_MINIMIZE then
    ShowMessage('Minimieren')
  else
    inherited;
end;

khh 28. Nov 2008 10:14

Re: parent minimieren
 
ich danke dir.

und wie reagiert das form jetzt darauf?
ich muss die private Proc doch irgendwo aufrufen?

über nen timer? oder wie?

Gruss Kh

DeddyH 28. Nov 2008 10:22

Re: parent minimieren
 
Schreib das doch einfach mal in Deinen Code und minimiere das Formular.

khh 28. Nov 2008 10:58

Re: parent minimieren
 
Zitat:

Zitat von DeddyH
Schreib das doch einfach mal in Deinen Code und minimiere das Formular.

hab ich ja gemacht, aber da tut sich so nix,
keine msgbox :-(


Gruss Kh

DeddyH 28. Nov 2008 11:13

Re: parent minimieren
 
Hmm... unter Delphi funktioniert das so. Setz doch mal einen Breakpoint auf die Zeile
Zitat:

Delphi-Quellcode:
  if Msg.CmdType = SC_MINIMIZE then

Kommst Du da überhaupt an?


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 Uhr.
Seite 2 von 4     12 34      

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