Главная страница
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.07 c
15-1202877339
Xmen
2008-02-13 07:35
2008.03.30
Выбор книги.


2-1204396513
La-la-Land
2008-03-01 21:35
2008.03.30
Реестр. Как работать?


2-1204125571
scorpio
2008-02-27 18:19
2008.03.30
Помогите переделать функцию из фокса в дельфи


2-1204549737
sqlmaniac
2008-03-03 16:08
2008.03.30
не понимаю что с try-except


2-1204533659
Chorniy
2008-03-03 11:40
2008.03.30
Запустить процедуру в чужом процессе