| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Прозрачность и управление "сквозь" форму. |
| Автор: Legolas 9.1.2008, 18:07 |
| Возможно ли сделать так, чтобы сквозь прозрачную форму можно было управлять окном под ней. То есть если форма открыта на рабочем столе, то переносить\запускать ярлыки\папки, если же под ней интернет браузер, то свободно просматривать страницы? главное чтобы форма оставалась на ними, а активировалась сочетанием клавиш например... |
| Автор: mr.DUDA 10.1.2008, 11:25 |
| ИМХО, никак нельзя. Если есть окно - оно будет обрабатывать все сообщения поступающие к нему от мыши и т.п. Если только не извратиться, искать следующее окно по Z и перекидывать все сообщения кроме WM_PAINT с пом. SendMessage |
| Автор: PPS05 10.1.2008, 19:41 |
| mr.DUDA, мне кажется, вы не правы. Если задать свойство TransparentKey, то часть формы с этим цветом свободно пропускает действия "под себя". |
| Автор: Legolas 10.1.2008, 23:44 |
| PPS05, можно чуть-чуть поподробнее =) Добавлено через 9 минут и 57 секунд PPS05, сквозь форму получается, но у меня на всю форму WinMediaPlayer растянут как сквозь него можно? Добавлено через 14 минут и 32 секунды mr.DUDA, можно ли заставить компьютер думать, что мой контрол невидим, а в действительности оставить его видимым? |
| Автор: Legolas 11.1.2008, 00:02 |
| может быть как нибудь изменять свойство "Focused", хотя оно read-only |
| Автор: mr.DUDA 11.1.2008, 11:01 |
| Если просто сбрасывать Focused, получится что фокус ввода уберётся с формы и всё. Это ничего не даст для решения проблемы управления сквозь форму. |
| Автор: Legolas 11.1.2008, 14:05 | ||
mr.DUDA,
Можно? каким-нибудь способом? даже самым извращенным - главное что работало |
| Автор: mr.DUDA 11.1.2008, 14:53 |
ответ уже был: а насчёт извращённого способа - это только мои предположения, не пробовал не знаю... |
| Автор: PPS05 11.1.2008, 14:58 | ||||
А почему у меня получилось?
С контролом все хуже... Я не пробовал, но можно попытаться обработать WM_NCHITTEST и вернуть HTNOWHERE:
|