Главная страница
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.049 c
2-1204610265
wasko
2008-03-04 08:57
2008.03.30
TFileStream


2-1204184366
pvr
2008-02-28 10:39
2008.03.30
Вызов метода прапрародителя


15-1203270471
Kostafey
2008-02-17 20:47
2008.03.30
С днем рождения ! 17 февраля


15-1202661027
ketmar
2008-02-10 19:30
2008.03.30
kpmc git repository


2-1204133404
Рустам
2008-02-27 20:30
2008.03.30
dbgrid