Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.30;
Скачать: CL | DM;

Вниз

как сделать активным окно   Найти похожие ветки 

 
максим   (2008-02-29 03:03) [0]

форма программы появляется на экране при нажатии hot keys(выползает из угла). Но форма при этом не активна, т.е. она выехала и если яф продолжаю печатать,то печатаю в том окне, которое было и есть активно, а мне надо чтобы в моем окне в memo сразу печатал
как сделать?


 
Поп Гапон   (2008-02-29 03:39) [1]

 SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, nil, SPIF_SENDWININICHANGE {or SPIF_UPDATEINIFILE});

 ShowWindow(Application.Handle,SW_RESTORE);
 Application.ProcessMessages;
 //
  SetWindowPos(Application.Handle,{HWND_TOPMOST}HWND_TOP,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE );
 //
 Application.ProcessMessages;
 //
 SetForegroundWindow(Application.Handle);
 //
 if (MainForm.WindowState=wsMinimized) then
   ShowWindow(MainForm.Handle,SW_RESTORE);

Нечто такое


 
Leonid Troyanovsky ©   (2008-02-29 06:05) [2]


> Поп Гапон   (29.02.08 03:39) [1]

>  SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, nil,
>  SPIF_SENDWININICHANGE {or SPIF_UPDATEINIFILE});

Это вовсе лишнее.

--
Regards, LVT.


 
Смирнов   (2008-02-29 06:54) [3]


> выползает из угла

Предполагаю, что используется AnimateWindow, тогда добавь флаг AW_ACTIVATE


 
максим   (2008-02-29 08:25) [4]

спасибо, в совокупности [1] и [3] - работает :)


 
максим   (2008-02-29 08:32) [5]

как быть если у меня
ShowWindow(Application.handle, SW_HIDE);


 
максим   (2008-02-29 08:34) [6]

получается так что кнопка напанели задач то появляется, потом сразу исчезает,но видно... :(


 
Поп Гапон   (2008-02-29 17:18) [7]


> Leonid Troyanovsky ©   (29.02.08 06:05) [2]
>
>
> > Поп Гапон   (29.02.08 03:39) [1]
>
> >  SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0,
>  nil,
> >  SPIF_SENDWININICHANGE {or SPIF_UPDATEINIFILE});
>
> Это вовсе лишнее.


Нет. Просто это выносит окно на передний план, даже если идёт ввод с клавиатуры в текущее окно.

SPI_SETFOREGROUNDLOCKTIMEOUT, 0


 
Поп Гапон   (2008-02-29 17:20) [8]


> максим   (29.02.08 08:34) [6]
>
> получается так что кнопка напанели задач то появляется,
> потом сразу исчезает,но видно... :(


 SetWindowLong(Application.Handle, GWL_EXSTYLE, (GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW) and (not WS_EX_APPWINDOW));


 
Leonid Troyanovsky ©   (2008-03-01 00:31) [9]


> Поп Гапон   (29.02.08 17:18) [7]

> Нет. Просто это выносит окно на передний план, даже если

Лишнее, лишнее.

RTFM msdn: получивший горячую клавишу поток имеет право
хоть на SetForegroundWindow.

--
Regards, LVT.

ЗЫ Как там насчет правил? Бо, Гапон - вполне себе известный чел.



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

Текущий архив: 2008.03.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
2-1204631275
zorik
2008-03-04 14:47
2008.03.30
Переход на Delphi 2007


2-1204285666
Knoob
2008-02-29 14:47
2008.03.30
Настройка Webbrowser


15-1203233243
smartleds
2008-02-17 10:27
2008.03.30
Народ , может кто помнит как в Делфи в степень возвести.


2-1204138273
Рустам
2008-02-27 21:51
2008.03.30
драйвера ADO


2-1204182102
AlexeyMir
2008-02-28 10:01
2008.03.30
ImageList1 в TreeView