|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.10.2013, 17:19 | #11 | |
Пользователь
Регистрация: 26.09.2013
Сообщений: 26
|
Цитата:
Окна, вот так: Код:
Последний раз редактировалось Stilet; 03.11.2013 в 19:36. |
|
20.10.2013, 20:41 | #12 | |
Пользователь
Регистрация: 31.08.2013
Сообщений: 93
|
Цитата:
Я понимаю что x и y это координаты относительно окна, а не всей области Desktop. Но это же не проблема: - Имея hWnd окна, получаем его размеры и положение на экране и просто добавляем к координатам x и y смещение, устанавливая при этом курсор в нужное место. Код:
PS Сорри что на C++, с делфи я просто не знаком, но код простой, думаю разберетесь, перепишете на Delphi Последний раз редактировалось Vladiger; 20.10.2013 в 20:44. |
|
20.10.2013, 23:42 | #13 | |
Пользователь
Регистрация: 26.09.2013
Сообщений: 26
|
Цитата:
|
|
21.10.2013, 00:33 | #14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
03.11.2013, 18:28 | #15 |
Пользователь
Регистрация: 08.04.2009
Сообщений: 45
|
подобная проблема
Всем доброго времени суток! С кликами проблем нет, а вот сделать окно на переднем плане и активным работает только если окно свернуто (ShowWindow) , но если окно просто на заднем плане, это не работает. Посоветуйте как по любому выкинуть окно на передний план?
После изучения ассемблера стал мозг зависать...
|
03.11.2013, 18:53 | #16 |
Пользователь
Регистрация: 31.08.2013
Сообщений: 93
|
SetForegroundWindow(hWnd);
Но это срабатывает не всегда. Если речь про окна с обычными стилями по умолчанию, то это работает. Но если в процессах есть активное окно с расширенным стилем, например WS_EX_TOPMOST (поверх всех окон) то выдергивание окна SetForegroundWindow(hWnd) приводит к непонятным результатам. окно вроде бы становится активным, а вроде бы и нет. В WinXP например у меня были такие траблы, попытка выдернуть окно на передний план, заканчивалась тем что в панели быстрого запуска это окно просто начинало моргать синеньким квадратиком. Пытался что нибудь нагуглить по этому поводу, но так толком и не нашел "разумного" решения, непонятное поведение. Самый надежный вариант - это свернуть и сразу развернуть окно: Код:
|
03.11.2013, 19:01 | #17 |
Пользователь
Регистрация: 08.04.2009
Сообщений: 45
|
А если оно уже свернуто, есть способ узнать его статус. Просто это тоже бывает глючит, причем при первом запуске моей проги почти всегда
После изучения ассемблера стал мозг зависать...
|
03.11.2013, 19:11 | #18 |
Пользователь
Регистрация: 31.08.2013
Сообщений: 93
|
Узнаем свернуто окно или развернуто?
Код:
Код:
|
03.11.2013, 19:37 | #19 |
Пользователь
Регистрация: 08.04.2009
Сообщений: 45
|
ну, вот то что надо, если свернуто выдвигаем, если нет сворачиваем и выдвигаем, так думаю надежнее будет и меньше телодвижений с окном. Спасибо.
После изучения ассемблера стал мозг зависать...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Установка курсора | _-Re@l-_ | Общие вопросы Delphi | 3 | 28.05.2010 17:25 |
задание положения курсора в окне(не full screen)) | Oburec | Общие вопросы Delphi | 1 | 30.06.2009 00:42 |
Установка курсора на новую запись в DBGrid | Nomiko | БД в Delphi | 9 | 24.05.2009 18:40 |
Установка курсора в определеное место экрана? | ALEX_RAS | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 23.05.2008 20:49 |
Установка собственного курсора | Amateur | Общие вопросы Delphi | 4 | 13.11.2007 05:42 |