Minimalizowanie formy wraz z aplikacja

Minimalizowanie formy wraz z aplikacja
KA
  • Rejestracja:prawie 21 lat
  • Ostatnio:około 2 miesiące
  • Postów:700
0

Cześć,
mam mały problem a nie bardzo wiem jak sobie z nim poradzic.

W swojej aplikacji tworze nowe okno przez:

Kopiuj
Okno:=TForm.Create(Application);
Okno.Show;

Problem w tym, że kiedy np minimalizuje główne okno aplikacji to to stworzone również się minimalizuje.

Co zrobić żeby było ono jakby niezależne od głównego okna aplikacji i nie minimalizowało się kiedy minimalizuje główne?
Musze sie tutaj pobawic z WindowState? Nie mam pojecia:) Prosze o pomoc.


Kto nigdy nie zrobił var dupa niech pierwszy rzuci kamień.
edytowany 1x, ostatnio: karpov
PD
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 6 godzin
2
Kopiuj
unit Unit2;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Windows, LCLType;

type

  { TForm2 }

  TForm2 = class(TForm)
  private
    { private declarations }
  public
    procedure CreateParams(var Params: TCreateParams); override;
    { public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.lfm}

{ TForm2 }

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited;
  if (FormStyle = fsNormal) then begin
    Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
    Params.WndParent := GetDesktopWindow;
  end;
end;

end. 

pozdrawiam
paweld
Azarien
GetDesktopWindow NIE powinno być używane jako parent okna. okno główne nie ma parenta (nil) a nie jest oknem podrzędnym pulpitu.
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 6 godzin
  • Lokalizacja:Tuchów
  • Postów:12175
0

@karpov, z innej beczki - dlaczego chcesz tak to wykonać?

Ogólnym założeniem głównego okna aplikacji jest to, że jego zminimalizowanie powoduje także minimalizację (raczej ukrycie) wszystkich widocznych okien potomnych; Najlepszym przykładem jest sam Lazarus (jako edytor) - główne okno to to wąskie z menu, jak je zminimalizujesz to wszystkie okna potomne (edytory kodu, okno OI, designery, messages, watches itd.) chowają się i jest to jak najbardziej prawidłowe zachowanie;

Pytam, dlatego że takiego zachowania oczekują użytkownicy i mogą być zirytowani, jeśli główne okno będzie się dziwnie zachowywało (niestandardowo); Napisz jaki jest tego cel i jakie widzisz w tym zalety.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 3x, ostatnio: flowCRANE
KA
  • Rejestracja:prawie 21 lat
  • Ostatnio:około 2 miesiące
  • Postów:700
0

Moja aplikacja wygląda tak, że w głównym oknie aplikacji wyświetlane są różne opcje, które może wybrać klient. Po wyborze jednej z opcji (na zasadzie komunikacji sieciowej) pojawia się nowe okno z otrzymanymi od serwera szczegółami wybranej opcji oraz jeszcze jedno, w którym odbywa się komunikacja oraz interakcja z klientem.

W zasadzie od tego momentu to okno jest najważniejsze do zakończenia działa przez klienta. Chcą sobie zrobić miejsce na ekranie albo po prostu móc skupić się na zadaniu klient może chcieć zostawić sobie tylko to okno ale zminimalizowanie tamtych sprawia, że to najważniejsze również znika.

Oczywiście mogę dodać możliwość wyboru dla klienta w ustawieniach ale sam testując aplikację zauważyłem, że odruchowo i naturalnie oczekiwałem takiej reakcji programu przy minimalizowaniu głównego okna.


Kto nigdy nie zrobił var dupa niech pierwszy rzuci kamień.
edytowany 2x, ostatnio: karpov
woolfik
  • Rejestracja:ponad 17 lat
  • Ostatnio:około godziny
  • Postów:1598
0

@furious programming u mnie jest podobnie. Okno główne daje możliwość wybrania operatorowi zadania z którego parametry przekazywane są do właściwego okna na którym pracują operatorzy. Do tego jest druga niezależna aplikacja do analizy sygnału która odbiera/wysyła informacje z i do tego okna "potomnego" tryb pracy jest taki, że main formy operatorzy minimalizują okno na którym pracują mają na jednym monitorze, a na drugim monitorze jest druga aplikacja "obrazująca" wynik pracy okna potomnego :)

flowCRANE
Dobra już dobra, widać nie znam się... :D
woolfik
Ja też się nie znam to wymysły userów :P

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.