Показать сообщение отдельно
  #1  
Старый 28.09.2010, 22:21
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию не генерируется WM_PAINT

Есть главная форма и не главная: во второстепенной форма разместил PopupMenu...генерирую событие нажатия пункта меню:
Код:
procedure TIconForm.N1Click(Sender: TObject);
begin
 case IndIco of
  0, 1, 2: begin
            MessageBox(Handle, PChar('Этот значок нельзя удалить'),
                       PChar('Внимание !!!'), MB_OK or MB_ICONHAND);
            Application.MainForm.Tag:= MAINFRM_REFRESH shl 16;
            SendMessage(Application.MainForm.Handle, WM_PAINT, 0, 0);
            exit;
           end;
 end;
 Application.MainForm.Tag:= (FRM_FREE shl 16) and IndIco;
 doHide;
 SendMessage(Application.MainForm.Handle, WM_PAINT, 0, 0);
end;
На главной форме генерирую событие:
Код:
procedure TForm1.FormPaint(Sender: TObject);
 var i: integer;
begin
 i:= Hi(Tag);
 case i of
  MAINFRM_REFRESH: DoRefresh;
 end;
end;
DoRefresh-это моя проца обновления компонентов окон. Но вот проблема в том что в RunTime событие TForm1.FormPaint(Sender: TObject) не генерируется.....константа MAINFRM_REFRESH обявлена...не могу понять в чем дело TForm1 главная форма...
Delphi7, Win7
__________________
APPLICATION.TERMINATOR
Ответить с цитированием