Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2010, 23:14   #1
Ax_32
Пользователь
 
Регистрация: 25.11.2010
Сообщений: 24
Восклицание Окно поверх курсора

Всем здравствуйте! Необходимо сделать так, чтобы окно программы было поверх всех остальных окон, полупрозрачное и не реагировало на курсор мыши (пример боковая панель с виджетами на Vista), тоесть к примеру во время игры часть экрана занимает окно с программой, и нужно чтобы при нажатии мыши в области окна с программой действие совершалось в игре, а не проге. Всё реализовал, осталось только сделать окно некликабельным, помогите плз
Ax_32 вне форума Ответить с цитированием
Старый 26.11.2010, 23:51   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
сделать окно некликабельным
Form.Enabled:=False; ?
mihali4 вне форума Ответить с цитированием
Старый 26.11.2010, 23:53   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

переносить клик под окно?(то есть кликнули по нам, а мы передали клик дальше?)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.11.2010, 11:09   #4
Ax_32
Пользователь
 
Регистрация: 25.11.2010
Сообщений: 24
По умолчанию

Пепел Фникса, именно так) Помогите реализовать

Последний раз редактировалось Ax_32; 27.11.2010 в 12:06.
Ax_32 вне форума Ответить с цитированием
Старый 27.11.2010, 12:44   #5
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

в обработчике OnCreate
Код:
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
x128 вне форума Ответить с цитированием
Старый 27.11.2010, 12:46   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

разве это даст переносимость кликов?
это ж прозрачность..
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.11.2010, 12:51   #7
Ax_32
Пользователь
 
Регистрация: 25.11.2010
Сообщений: 24
По умолчанию

Ну а переносимость кликов что даст?
Ax_32 вне форума Ответить с цитированием
Старый 27.11.2010, 14:12   #8
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

Цитата:
разве это даст переносимость кликов?
Такое окно в сочетании с прозрачностью и свойством StayOnTop, будет отображаться, но все действия будут происходить под ним т.е. на мышь такое окно реагировать не будет.
x128 вне форума Ответить с цитированием
Старый 05.12.2010, 23:34   #9
Ax_32
Пользователь
 
Регистрация: 25.11.2010
Сообщений: 24
По умолчанию

Всем огромное спасибо, получилось) Но терь встал ещё вопрос: как сделать так, чтобы эта "переносимость" включалась и отключалась по горячей кнопке?
Ax_32 вне форума Ответить с цитированием
Старый 06.12.2010, 11:27   #10
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

в обработчике хоткея инвертируй флаг WS_EX_TRANSPARENT
Код:
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) xor WS_EX_TRANSPARENT);

Последний раз редактировалось x128; 06.12.2010 в 11:35.
x128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Окно поверх всех Billys Общие вопросы Delphi 6 25.02.2011 22:17
Окно поверх остальных Артэс Win Api 5 22.05.2010 22:02
Окно поверх всех остальных Vikelf Помощь студентам 2 28.05.2009 17:11
Окно поверх остальных dsp Общие вопросы C/C++ 1 15.12.2008 14:49