![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Окно, "прозрачное" для кликов мыши [Win2k, WinXP]
Razor © (2005-11-14 23:17:00)Видел в какой-то программе такую фичу: полупрозрачное окошко(поверх всех), при этом клики проходят как бы сквозь это окно - т.е. приходят контролам под этим окном.
Поясню на примере: если полупрозрачное окошко разместить над какой-нибудь кнопкой, то по этой кнопке можно спокойно кликать прямо сквозь полупрозрачное окно!
Не могу понять, как это сделано. Единственное, что приходит на ум - отлавливание движений мыши и вырезание региона 1х1 пиксель. Но там такого не происходит! Плюс к этому, написано, что эта фича работает только под 2000/ХР. Но в параметрах layered window я ничего подобного не нашёл....
Deka (2005-11-15 14:55:00) [1]Когда я искал ответ на примерно такой-же вопрос, мне подсказали вот такой ответ...
procedure TForm1.FormShow(Sender: TObject);
begin
SetWindowLong(Handle, GWL_EXSTYLE,
GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
end;
Правда после этого твое окно никакие клики принимать не сможет.
Antonn (2005-11-15 05:02:00) [2]Antonn © (15.11.05 5:01) [2]
updatelayerderWindow(),
вру - UpdateLayeredWindow()
Antonn (2005-11-15 05:01:00) [3]функция updatelayerderWindow(), поищи на этом форуме, где то было
Джо (2005-11-15 03:14:00) [4]
> Единственное, что приходит на ум - отлавливание движений
> мыши
Зачем движений? Досточно нажатий.
> Но там такого не происходит
Откуда уверенность?