Problem z wysłaniem aplikacji do paska.

0

Witam, mam dosyć dziwne zachowanie formy a mianowicie nie mogę schować aplikacji do paska, klikam na przycisk zwiń a aplikacja sobie jakby się dezaktywowała i ponownie się aktywowała nie wykonując minimalizacji. Debugowałem wywołując ręcznie Application.Minimize; kod nie wywołuje żadnej operacji zwijania aplikacji tylko bezpośrednio zaczyna odrysowywanie komponentów na formie.

Na formie mam standardowe kontrolki TListView, kilka TLabel, TPanel i TImage; Na OnShow wywołuje dużo operacji min. Formę logowania do Aplikacji i w miedzy czasie Formę z informacją o komunikacji aplikacji z serwerem w której wywołuje

procedure TCzekajFrm.FormShow(Sender: TObject);
var
  i: integer;
begin
  kolorek := 26;


  Timer.Enabled := False;
  CzasStart := Now;
  SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, 0);

  for i:=0 to Screen.FormCount-1 do
    if not(Screen.Forms[i].Name='MainFrm') then
      EnableWindow(Screen.Forms[i].Handle, False);
end;

procedure TCzekajFrm.FormHide(Sender: TObject);
var
  i: integer;
begin
  for i:=0 to Screen.FormCount-1 do
    if not(Screen.Forms[i].Name='MainFrm') then
      EnableWindow(Screen.Forms[i].Handle, True);
end;

na OnResize wywołuje RePaint a w OnPaint nie wywołuję nic poza rysowaniem Gradienta z 4p.

Zaznaczę, iż wyłączałem wszystko co się wykonuje przy starcie i nie mam pojęcia co może blokować minimalizowanie aplikacji. Proszę o pomoc.

0

Rozwiązanie było proste, ale trzeba było się na debugować aż zacząłem usuwać linia po linii.

//Edit

niestety się pomyliłem błąd powodował pedz wywołaniem procedury pokazywania okna Czekaj

EnableWindow(Application.Handle, False);

i przed chowaniem okna Czekaj
wykonałem również to samo
a powinienem

EnableWindow(Application.Handle, True);

Temat uważam za zamknięty

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