Вниз
Скачать: CL | DM;

Не сворачивается окно...   Найти похожие ветки 

 
VDen ©   (2003-07-02 20:14) [0]

Есть DLL, которая ставит хук на клавиатуру. При нажатии определенной клавиши, допустим "а", DLL отправляет BROADCAST сообщение. Мое окно главного приложения в свернутом виде ловит это сообщение, в Application.onMessage следующим образом

procedure TNoterForm.AppMess(var Msg: TMsg; var Handled: Boolean);
begin
if (Msg.message = WM_MyRestMess) then begin
ShowWindow(Handle, SW_RESTORE);
UpdateWindow(Handle);
ShowWindow(RichEdit1.Handle, SW_RESTORE); //Как выяснилось, без этого
UpdateWindow(RichEdit1.Handle); //RichEdit отказывается корректно перерисовываться
Handled:=true;
end;
end;

НО. После того как это сообщение развернет окно 2 раза, оно перестает сворачиваться! То есть если окно было развернуто и пришло это сообщение, ничего не случается, а если свернуто, то...
Подскажите, плз, где лыжи смазать.

ЗЫ И еще, совсем полтергейст, но все-таки... После восстановления окна отказывается работать ActionManager - перестает реагировать на изменение содержимого буфера обмена, например...


 
Юрий Зотов ©   (2003-07-02 20:40) [1]

Явно что-то перемудрено (возможно, не только в этом месте). Просто Application.Restore не помогает? Или WindowState := wsNormal. Или и то, и другое вместе.


 
VDen ©   (2003-07-03 11:00) [2]

Вы будете смеяться, но не помогает...

И вообще, как-то все некрасиво выходит... Ну да ладно, начну заново и по-другому.. ;)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
1-55568
default
2003-07-03 01:20
2003.07.17
Примерный код(Temp)


14-55761
vuk
2003-07-02 20:34
2003.07.17
Вот я не понял...


14-55725
Dmitriy O.
2003-07-02 13:43
2003.07.17
Как в Delphi снять сразу все точки прерывания как в VBA.


3-55419
Relaxxx
2003-06-24 10:20
2003.07.17
Как выделить програмно нужные строки в DBGrid


14-55827
yura
2003-07-01 05:12
2003.07.17
Почта




   Наверх