Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
максим   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.046 c
15-1203415250
Ega23
2008-02-19 13:00
2008.03.30
Что почитать про безопасность?


11-1186581109
misha_shar
2007-08-08 17:51
2008.03.30
TStrList неверно работает


2-1204526072
DimOk
2008-03-03 09:34
2008.03.30
ADO


2-1204281119
q1485
2008-02-29 13:31
2008.03.30
Запрос в потоке


15-1202819297
ketmar
2008-02-12 15:28
2008.03.30
система контроля версий git — интересуют плохие отзывы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский