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

Вниз

Как сделать окошко которое не будет на себя переключать фокус   Найти похожие ветки 

 
Still Swamp   (2005-09-21 18:32) [0]

Как сделать окошко которое не  будет на себя переключать фокус при клике по нему мышкой.


 
Desdechado ©   (2005-09-21 19:14) [1]

обработать  в нем получение фокуса так, чтоб оно отдавало его назад :)


 
Anatoly Podgoretsky ©   (2005-09-21 19:21) [2]

Невозможно. Противоречит принципам работы Виндоус.


 
Still Swamp   (2005-09-21 19:28) [3]

to Anatoly Podgoretsky

Полная ерунда. Любая On Screen Keyboard. Например osk.exe


 
Still Swamp   (2005-09-21 19:31) [4]

to Desdechado

Блыманье заголовка окошка наблюдается, и плюс если у того окнана потерю фокуса стоят события -они начинают активно срабатывать... Нежелательно.


 
Джо ©   (2005-09-21 19:37) [5]


>  [4] Still Swamp   (21.09.05 19:31)
> Блыманье заголовка окошка наблюдается,

У osk.exe тоже наблюдается "блыманье заголовка".

> и плюс если у того окнана потерю фокуса стоят события -они
> начинают активно срабатывать

Не назначай никаких нежелательных обработчиков.


 
begin...end ©   (2005-09-21 19:38) [6]

> Still Swamp   (21.09.05 18:32)

Расширенный стиль WS_EX_NOACTIVATE (только для 2000/XP).

> Anatoly Podgoretsky ©   (21.09.05 19:21) [2]

LOL


 
Anatoly Podgoretsky ©   (2005-09-21 19:41) [7]

Still Swamp   (21.09.05 19:28) [3]
Чем подтвердишь? Только глазами, так фокус можно отдать другому окну.


 
Джо ©   (2005-09-21 19:41) [8]


>  [6] begin...end ©   (21.09.05 19:38)

Это "не совсем то". Все равно придется вручную ловить активирование окна и запрещать это.

Windows 2000/XP: The WS_EX_NOACTIVATE value for dwExStyle prevents foreground activation by the system. To prevent queue activation when the user clicks on the window, you must process the WM_MOUSEACTIVATE message appropriately. To bring the window to the foreground or to activate it programmatically, use SetForegroundWindow or SetActiveWindow. Returning FALSE to WM_NCACTIVATE prevents the window from losing queue activation. However, the return value is ignored at activation time


 
Anatoly Podgoretsky ©   (2005-09-21 19:44) [9]

begin...end ©   (21.09.05 19:38) [6]

Точно.
Но в MSSDK нет этого флага, поскольку новый.


 
Still Swamp   (2005-09-21 19:46) [10]

to Anatoly Podgoretsky

Ну тем не менее... можно же :) И винде не противоречит.


 
Anatoly Podgoretsky ©   (2005-09-21 19:47) [11]

Still Swamp   (21.09.05 19:46) [10]
Пошли на поводу :-)


 
Still Swamp   (2005-09-22 11:07) [12]

Ок... хорошо.
Фокус можно передатьвот так: SendMessage(FActiveWindow, WM_SETFOCUS, 0, 0);

А как активировать окно. WM_ACTIVATE у меня не срабатывает. ЧТо то видимо не доделал.


 
ANB ©   (2005-09-23 11:26) [13]


> Still Swamp   (22.09.05 11:07) [12]
- путаешь активность окна и фокус.


 
psa247 ©   (2005-09-28 09:35) [14]

Смотри хуки типа CBT. Если передать 0 - то позволишь Windows передать фокус окну, 1 - предотвратить.



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

Форум: "WinAPI";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.012 c
2-1131732106
ANSH
2005-11-11 21:01
2005.11.27
программа с элементами webbrowzer-a


14-1131367045
ZOOooo
2005-11-07 15:37
2005.11.27
Полезный софт...


4-1127825453
DELORAC
2005-09-27 16:50
2005.11.27
Как отловить нажатие комбинации клавиш в системе?


6-1123567115
Shopot
2005-08-09 09:58
2005.11.27
Как передавать данные удаленному компу.


1-1130705369
ArchValentin
2005-10-30 23:49
2005.11.27
Прозрачный TEdit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский