Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Завтра :

День славянской письменности и культуры


Прозрачная форма - прозрачна во всём...


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеВт, 12-Дек-2006 14:52    Заголовок сообщения: Прозрачная форма - прозрачна во всём...
Цитата

Тут возникла такая тема... У меня в программе имеется полу прозрачное окно. Стоит оно поверх всех остальных окон и просто показывает пользователю статистику... Висит оно постоянно. И хоть оно не больших размеров, но всёравно как-бы мешает...

Товарищи знатоки не подскажете ли вы свои идеи как сделать так - чтобы все нажатия на моё окно просто пересылались окнам, которые под ним...

_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеВт, 12-Дек-2006 16:49 
Цитата

Глянь реализацию THintWindow
Это делается через сообщение WM_NCHITTEST
delphi:
  1. procedure THintWindow.WMNCHitTest(var Message: TWMNCHitTest);
  2. begin
  3.   Message.Result := HTTRANSPARENT;
  4. end;


Добавлено спустя 3 минуты 48 секунд:

Обычно, в подобных формах делают ещё одну функцию. При проходе по ней мыши форма прячется или становиться более прозрачной.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеПт, 01-Июн-2007 9:32 
Цитата

Это не совсем то что нужно... Прикол в том что твой пример просто не даёт форме принемать сообщения... А мне нужно чтобы например нажимались кнопки на форме снизу (та которая под моей находится...
_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
СообщениеСб, 27-Окт-2007 17:14    Заголовок сообщения: WinApi
Цитата

Возможно попробывать прогнать по NextWindow и таким образом сравнивая в цикле координаты Вашего окна и того окна которое ниже Вашего, потом если оно попадает под переданные Вам координаты нажатия мыши послать ему индентичное сообщение ?
В начало
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеСб, 27-Окт-2007 17:28 
Цитата

тема старая какая.....
выводить на рабочий стол (поверх всего) графику, а не в окне рисовать и не маяться с перебором окон

_________________
Сила дурака в том, что умный перед ним бессилен.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Yurik
Модератор


Возраст: 29
Знак зодиака: Рыбы
Зарегистрирован: 08.03.2006
Сообщения: 150
Откуда: Омск
СообщениеВс, 28-Окт-2007 14:20 
Цитата

to NikotiN
Зачем простые вещи делать сложными способами? А очищать рабочий стол от нарисованного ты пробовал?

В начале топика все правильно было сказано.
Шурик показал код, который позволяет сделать окно полностью прозрачным именно для кликов мышью. Кликаешь по окну -- а кликается то, что под окном.

_________________
Зри в корень.
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
NikоtiN
Гость







СообщениеВс, 28-Окт-2007 15:01 
Цитата

пробовал, HWND_DESKTOP очищаешь, а он по иерархии все остальные чистит
В начало
Пол:Муж Yurik
Модератор


Возраст: 29
Знак зодиака: Рыбы
Зарегистрирован: 08.03.2006
Сообщения: 150
Откуда: Омск
СообщениеВс, 28-Окт-2007 22:38 
Цитата

to NikоtiN
Хмм... Напиши код, пожалуйста. У меня в свое время не получалось, как я ни измывался (и над HWND_DESKTOP в первую очередь).

_________________
Зри в корень.
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеВс, 28-Окт-2007 23:33 
Цитата

не помню)

Добавлено спустя 44 секунды:

чего-нить типа invalidate....

_________________
Сила дурака в том, что умный перед ним бессилен.
В начало
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100