Вниз
Скачать: 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 вся ветка

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



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


2-1204728129
nstur
2008-03-05 17:42
2008.03.30
Как подключить *.chm файл


15-1203177531
Alien1769
2008-02-16 18:58
2008.03.30
Интересная ошибка


2-1204115874
ryden
2008-02-27 15:37
2008.03.30
Как получить последнюю строку из таблици в БД


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




   Наверх