Wyłączanie i włączanie belki formy głównej

0

Jak w temacie :D Umiem wylaczyc ale nie potrafie wlaczyc nie wiem jaka procedurka :( Potrzebne mi jest to do mojego programu gdzie sa ukryta glowna forma, ukryta druga forma i tray i powiedzmy po 5 sekundach forma 2 sie pokazuje a forma 1 jest w trayu i nie ma belki a gdy sie pokazuje ta druga forma to wtedy sie pokazuje rowniez belka glownej formy a chcialbym zeby jej nie bylo. szybko prosze o jakies linki czy cos.

0

Jeżeli dobrze zrozumiałem, chodzi Ci o pasek tytułowy. Jeśli tak, to robisz w ten sposób:

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if not CheckBox1.Checked then
    BorderStyle := bsSizeable else
    BorderStyle := bsNone;
end;
0

Chodzi o belke na pasku zadań :)

0

Chodzi o belke na pasku zadań

W takim razie zmodyfikuj projekt do nastepującej postaci:

program Project2;

uses
  Forms, Windows {<-- ważny unit},
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

var
  ExtendedStyle: Integer;

begin
  // Początek ukrywania
  ExtendedStyle:=GetWindowLong(Application.Handle, GWL_EXSTYLE);
  SetWindowLong(Application.Handle,GWL_EXSTYLE,
  ExtendedStyle or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
  // Koniec ukrywania
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
0

Tyle to i ja wiem tylko jak wlaczyc teraz belke na pasku zadan?

0

jedynym (?) sposobem jest ukrycie okna procesu (nie mylic z glowna forma) uzyj do tego funkcji ShowWindow(Application.handle, SW_HIDE); - nie wiem, czy kod jest poprawny bo pisze z pamieci...

<$---

a z pokazaniem analogicznie (SW_SHOW)

0

Nic nie daje :(

0

Nic nie daje :(

Ale co nic nie daje: mój (sprawdzałem i działa :-P), czy Wolverine'a kod [???]

0

nie rozumiecie chyba , wiem jak ukryc zeby nie bylo belki na pasku zadan ale gdy jest tak sobie ukryta i po jakims czasie wywola sie forma 2 to i tak i tak sie pokaze belka formy tej glownej i nie daja te HIDE itp dopiero jak sie schowa ta forma 2 to belka sie chowa

0

wywola sie forma 2 to i tak i tak sie pokaze belka formy tej glownej i nie daja te HIDE itp dopiero jak sie schowa ta forma 2 to belka sie chowa

A zrobiłeś tak jak Ci pokazałem? Bo jeśli tak, to nie ma prawa ikona na pasku zadań się pokazać i później zniknąć :-P

0

jesli chcesz, aby moj kod dzialal to uzywaj TYLKO jego, bo jak schowasz belke innym sposobem to pozniej jej moim sposobem nie przywrocisz

0

Wotek a wiesz jak teraz z tego co napisales wywolac znowu belke na pasku zadan? Ona calkowicie ja wylacza.

0

Ona calkowicie ja wylacza.

I o to własnie chodziło. I niestety nie wiem czy w ogóle można to odkręcić (<ort>jakbym </ort>porządnie <ort>przesrząsnął </ort>SDK pewnie bym coś znalazł, ale <ort>poprubuj </ort>samemu).

Tymczasem wpadłem na inny, prostszy sposób [hurra] :

  if CheckBox1.Checked then
    ShowWindow(Application.Handle, SW_HIDE) else
    ShowWindow(Application.Handle, SW_SHOW);

Jakby było samo [code]Handle[/code] <ort>zniknęłoby (zjadłeś spację)</ort>okno, a nie belka.

0

jedynym (?) sposobem jest ukrycie okna procesu (nie mylic z glowna forma) uzyj do tego funkcji ShowWindow(Application.handle, SW_HIDE); - nie wiem, czy kod jest poprawny bo pisze z pamieci...

<$---

a z pokazaniem analogicznie (SW_SHOW)

Wiesz wotek, jestes niesamowicie odkrywczy.

Nie, tego nie da sie odkrecic (WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW!!), popatrz na wiekszosc programow ktore maja taka opcje: nie widzialem zadnego, ktory by nie wymagal restartu.

0

OK to moze ktos znajdzie jakis pomysl?

0

SetWindowLong(Application.Handle,GWL_EXSTYLE,256);

0

Dzieki Satyricon!!!

0

Nie, tego nie da sie odkrecic, popatrz na wiekszosc programow ktore maja taka opcje: nie widzialem zadnego, ktory by nie wymagal restartu.

Nie da? Ja mam na form2 (forma z opcjami w pewnym progamie) taki kodzik (uruchamiany PO zamknięciem form2, czyli jak już jest tylko form1 widoczna):

 if ShowTitleBar.Checked then
    ShowWindow(Application.Handle, SW_SHOW)
    else
    ShowWindow(Application.Handle, SW_HIDE);

...i bez restartu chowa lub pokazuje belkę.

0

a ja czytam ten wątek i mam ubaw po pachy. [rotfl]
pytającemu gratuluję zadania pytania tak, że przez długi czas nikt nie rozumiał o co chodzi, a odpowiadającym gratuluję olbrzymiej inwencji twórczej w rozwiązywaniu tego jakże zawiłego programu. [rotfl]

btw - zastanawiam się, czemu ten wątek jeszcze istnieje.

[dopisane]
no nie, co post, to lepszy. [sex] może przenieść ten wątek do Offtopic?

0

hahaha no bywa widac nie kazdy potrafi dobrze przedstawic <ort>swojego problemu </ort>:D

0
<quote> ```delphi if ShowTitleBar.Checked then ShowWindow(Application.Handle, SW_SHOW) else ShowWindow(Application.Handle, SW_HIDE); ``` <quote>

<ort>Sprubuj </ort>zminimalizowac program ;]

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