Cześć. Mam mały, ale denerwujący problem - kiedy podczas zamyaknia aplikacji zapisuje jej rozmiary i pozycje oraz czy jest zmaksymalizowana. Jeżeli jest to podczas następnego startu powinna być zmaksymalizowana no i tak jest. Wszystko OK do czasu kiedy będe chciał ją po starcie znowu przywrócić do starych rozmiarów plikająć na Button okna "Przywróć do dołu". Wtedy się przywraca, ale jej rozmiar jest taki sam jak po zmaksymalizowaniu :/ Myślałem o zapisywaniu przed zaksywamizacją rozmiaru i po przywracaniu je odczytać, ale nie ma takie czegoś jak OnMaximalized :/ Ktoś wie może jak mi pomóc ?
Siedziałem na tym dużo czasu wczoraj i dzisiaj i doszedłem tylko do tego, że zamiast WM_COMMAND dałem WM_SYSCOMMAND tylko, że wtedy nie da się zamknąć aplikacji, zminimalizować jej, zmaksymalizować, przenieść itp. :/ Kurde pójde chyba do kumpla dzisiaj jak nic niewymyśle i porzycze od niego Kompedium programisty, tam coś było o komuniaktach, no chyba, że wcześniej ktoś z Was mi pomoże wejść na dobry trop [wstyd]
- Rejestracja:około 23 lata
- Ostatnio:około 13 lat
No fakt, nie zauważyłem, że tam był WM_COMMAND. Jednakże wcześniej mówiłem o WM_SYSCOMMAND :). A żeby działała minimalizacja itd, to musisz wywołać na końcu domyślną procedurę okienka.
Msg.Result:=DefWindowProc(Msg.Handle, Msg.Message, Msg.WParam, Msg.LParam);
Czy jakoś tak :).

- Rejestracja:ponad 21 lat
- Ostatnio:ponad 9 lat
hello a może o takie coś chodzi
W onClose użyj GetWindowPlacement
W onCreate użyj SetWindowPlacement
procedure TForm1.FormCreate(Sender: TObject);
var WndPlacement: PWindowPlacement;
begin
//Load Config
new(WndPlacement);
WndPlacement.length:=SizeOf(WINDOWPLACEMENT);
if configMaximized then begin
WndPlacement.showCmd:=SW_SHOWMAXIMIZED;
WndPlacement.rcNormalPosition:=Rect(100,100,200,200);
end else begin
WndPlacement.showCmd:=SW_SHOWNORMAL;
WndPlacement.rcNormalPosition:=Rect(0,0,200,200);
end;
SetWindowPlacement(Handle,WndPlacement);
end;
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.