minimalizacja i 2 formatki

0

Witam ponownie! Jestem zmuszony napisać jeszcze raz mojego posta, ponieważ cały temat znikł(lub ktoś go skasował), zresztą to nie dzieje się pierwszy raz - to już 3 z kolei mój temat, który zostal skasowany (dobrze, że choć część odpowiedzi sobie skopiowałem).

OK, więc przejde do mjego problemu(napisze od nowa, bo może nie wszyscy wiedzą o co mi chodziło):
Mając 2 formatki na pierwszej umieszczam button. Jak na niego się kliknie to pojawia sie druga formatka. Pięknie zastępuje tą pierwszą formatke dzięki procedurom, które dostałem:

protected
      procedure CreateParams(var Params: TCreateParams); override;
//oczywiscie to powyzej jest przed implementation

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
   inherited;
   Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
   Params.Style := Params.Style or WS_SYSMENU or WS_MINIMIZEBOX;
end;

no i kod buttona:

procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
form2.clientwidth := form1.clientwidth;
form2.clientheight := form1.clientheight;
form2.Left := form1.Left;
form2.Top := form1.Top;
form1.Hide;
end;

No i jest super! Tylko przeszkadza mi jeden szczegół a w zasadzie to dwa szczegóły:

  1. Jak uruchamiam plik skompilowany Project1.exe to na pasku zadań pojawiają mi sie 2 ikonki: Project1 i Form1 (aż tak bardzo mi nie przeszkadzają, ale jak ktoś wie jak to zlikwidować to byłbym wdzięczny za odpowiedź).
  2. Jak już klikne na ten button to pięknie pokazuje mi sie druga forma a ta pierwsza sie zamyka. Jest SUPER! (juz nawet z 2 ikonek na pasku zadan zrobiła sie jedna: Project1 - nie wiem czemu nie form2, ale to już mało ważne) Ale... jak klikam na ikone na pasku zadań to sie ładnie Form2 minimalizuje do paska zadań, ale jak klikne na znak minimalizacji to sie minimalizuje nad menu START (a jak potem klikne na pasek zadań to sie chowa do paska- po prostu Form1 jest ukryta na pulpicie) No i jak zrobić, żeby było ok??
  3. Jak kompiluje ten program pod Delphi (wciskam F9), klikam na button, pojawia sie Form2 i jak klikne na zamknij (tzn. na X) to Delphi jest dalej w trybie kompilacji (nie wiem jak to sie nazywa, więc się nie śmiać). Musze kliknać na znaczep || (pauza) i potem zamknac jakieś okienko, a nastepnie klikąć na OK. Co najgorsza pod windą program sie zamyka, ale w Procesach jest nadal uruchomiony. Jak zrobić, żeby było OK??

Z góry wielkie dzięki, choćby za samo przeczytanie tego przydługiego postu
Pozdro

0
  1. Dzieje sie tak, poniewaz form2 nie jest glowna forma, zeby to ominac, w OnClose form2 dodaj Application.Terminate;
0

punkt 3. załatwiony :)
Dzięki!!!
Pozostały jeszcze 1. i 2.

0
var
  q, Ex: Integer;
begin
  Ex := GetWindowLong(Application.Handle, GWL_EXSTYLE);
  SetWindowLong(Application.Handle, GWL_EXSTYLE, Ex or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);

to w onformcreate

a tak przy okazji to naucz sie najpierw poszukac, pozniej pytac - to rozwiazanie znajduje sie na tej stronie...

0

Dzieki!! już prawie wszystko jest tak jak chciałem: nie ma 2 ikonek na pasku zadań, ale jest jeszcze jedna rzecz:
Form1 dalej sie minimalizuje nad menu START (Form2 już jest ok). Próbowałem coś namieszać w kodzie, ale za wiele to mi nie dało ;)

W każdym bądz razie dzięki!!
Pozdro

0
type 
  TForm = class(TForm) 
    {...} 
  protected 
    procedure CreateParams(var Params: TCreateParams); override; 
  end; 

implementation 

{...} 

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

A ja się zastanwaiem nad przeznaczeniem tej drugiej formy.

Mając 2 formatki na pierwszej umieszczam button. Jak na niego się kliknie to pojawia sie druga formatka. Pięknie zastępuje tą pierwszą formatke dzięki procedurom, które dostałem:

Domyślam się (po tym co wyżej i po kodzie), że chcesz zrobic coś w stylu instalatora. Tzn. prowadzić usera krok po kroku po jakiś opcjach. Jeśli się dobrze domyślam, to po co używać 2 form, skoro można użyć np. TNotebook?
Jeśli sie mylę to sorry [stuk]

0

Chodzi mi o to je jak np. klikne na button to cała formatka sie czysci(wszystkie komponenty) i pojawiają sie nowe komponenty(i przez to chciałem 2 formatke)

1 użytkowników online, w tym zalogowanych: 0, gości: 1