Entwickler-Ecke

Windows API - minimieren problem?


ALF - Do 03.10.02 12:24
Titel: minimieren problem?
Hi Profs

kurze einleitung:

Form1 ist die Applikation
Form2 -Form(x) sind FormStyle := fsStayOnTop und sind nicht !! Modal !!werden in der Application erst Create und wieder Freigegeben

Standard mässig verwaltet Windows das minimieren von Fenster
Speichert also auch die daten wo das minimierte fenster liegt
(erkenbar daran wenn man das minimierte fenster verschiebt, wird es immer wieder an die dort gelegte pos minimiert)

und das möchte ich verwenden

meine Form2 -Form(x) sollen also oben an der Menueleiste von Form1
angedockt werden.

delphi selbst gibt da keine infos und in der 'Api' zu komplex und für mich zu schwierig( I die weil ich nur wenig englich kann)
hab zwar was gefunden (MINIMIZEDMETRICS) aber null ahnung wie man das verwendet

(Wichtig: es geht nicht um die Application!)
drüber gibt es schon Infos, die ich aber wahrscheinlich nicht verwenden kan.
das Abfangen der Botschaft habe ich schon im Forum gefunden und auch in jeder Form(x) eingefügt,

(ShowWindow(Form(x).Handle, SW_ShowMinimized);
xxx hier müsste die Pos hin nach oben an die Leiste

aber ich weiss halt nicht wie?

Hab da was gefunden in der SDK(API) 'SetWindowPlacement'
und gehe davon aus das es das ist, nun weiss ich aber nicht wie man die Parameter von WINDOWPLECEMENT setzt,
den das ist doch ein paar nummern zu gross für mich

Gruss Alf


Motzi - Do 03.10.02 19:01


Quelltext
1:
2:
3:
4:
5:
6:
var
  WP: WindowPlacement;

WP.flags := WPF_SETMINPOSITION;
WP.ptMinPosition := <deine Position>;
SetWindowPlacement(Form(x).Handle, @WP);
[/code]


ALF - Do 03.10.02 22:11

Hi

Danke für die schnelle info, obwohl die werte in den parametern drinstehen legt sich das minimierte Fenster immer standart mässig an die Taskleiste


ALF - Do 03.10.02 22:20

SORRY hab den Fehler schon gefunden

Quelltext
1:
WP.Length:=sizeof(TWINDOWPLACEMENT)                    


fehlte noch bei mir

Danke für die Super schnelle Hilfe

:D :D :D

Gruss Alf