Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Форма прозрачная для кликов [Delphi, Windows]


Страницы:   1 2

SKA1997 ©   (2006-11-17 21:50:00) 

Доброго времени суток.

Мудрые люди (по другому и быть не может!), подскажите ...
Как делается форма, прозрачная для кликов ?


  (2008-05-04 04:07:00) [1]

Удалено модератором


  (2008-05-04 04:07:00) [2]

Удалено модератором


homm   (2007-10-22 22:06:00) [3]

Влдаимир, пропачте, пожалуста мою любимую процедурку %)

  Result := TRUE;

  if Sender.fTransparent and (not Sender.fParentRequirePaint) then begin

became to
  Result := TRUE;

  if (Sender.fTransparent or Sender.fDoubleBuffered)  and (Sender.FParent <> nil)
   and Sender.FParent.fDoubleBuffered and (not Sender.fParentRequirePaint) then begin


AND

          with C{-}^{+} do begin
           if (C <> nil) and fTransparent then begin

became to
          with C{-}^{+} do begin
           if (C <> nil) and (fTransparent or fDoubleBuffered) then begin


homm   (2007-10-22 14:52:00) [4]

> [17] Barloggg   (22.10.07 14:16)
> хмм...значит ли это что всем вообще надо включать прозрачность?

Вообще конечно не логично…
Временно определи OLD_TRANSPARENT м включи у всех контролов, даблбуфер.
Дома поколдую, что-бы и в новой версии так можно было сделать.


Barloggg   (2007-10-22 14:16:00) [5]

эмм... дочерних или тех что под ним?
ибо у этого паинтбокса нет дочерних.

хмм...значит ли это что всем вообще надо включать прозрачность?


homm   (2007-10-22 13:15:00) [6]

> [15] Barloggg   (22.10.07 10:48)
> однако он не стал прозрачным! клики сквозь него как положено
> проходят, на изображение нет.

Нужно включить прозрачность для всех дочерних элементов.


Barloggg   (2007-10-22 10:48:00) [7]

вот и я задумался как бы подобное сделать.

хочу по случаю зимы украсить приложение летающими снежинками.
на на форме накидано всяких там вкладок, движков, ползунков, короче много чего.

ну заметив свойство transparent+mouseTransparent я было подумал что достаточно бросить поверх всего растянутый на всю форму скажем паинтбокс и рисувать на нем каждый такт таймера эти снежинки.
Гм.
однако он не стал прозрачным! клики сквозь него как положено проходят, на изображение нет.

Как сделать правильно?
Не делать же каждую снежинку отдельным контролом в самом деле.


  (2007-06-11 23:40:00) [8]

Удалено модератором


  (2007-06-11 23:40:00) [9]

Удалено модератором


  (2007-06-11 23:40:00) [10]

Удалено модератором


Dy1   (2007-02-22 20:24:00) [11]

SKA1997 ©   [9]
Разобрался... :) Теперь все ок...

Сие есмь тайна или можно рассказать это не таким умным? :)


Galkov   (2006-11-19 23:30:00) [12]

Так рассказал бы как...
Мне в голову ничего не приходит, кроме sub-classing-а через SetWindowLong с индексом GWL_WNDPROC :(


SKA1997   (2006-11-19 22:54:00) [13]

Разобрался... :) Теперь все ок...


SKA1997   (2006-11-18 23:22:00) [14]

Замысле такой - эта форма всегда сверху (или снизу), но она не мешает пользователю... Через нее можно кликать и т.п. Но на форме тем самым постоянно крутится флэш-анимация ...


SKA1997   (2006-11-18 23:19:00) [15]

У меня на форме находится включенный ShockwaveFlash ... И как быть в этом случае с HTTRANSPARENT ?


Vladimir Kladov   (2006-11-18 21:32:00) [16]

WM_NCHITTEST, HTTRANSPARENT?


ANTPro   (2006-11-18 21:31:00) [17]

> [3] homm ©   (18.11.06 13:43)
> Кому надо хороший телепатор, могу сказать где свой взял :D

Колись ;)


SKA1997   (2006-11-18 20:52:00) [18]

Galkov - точно не то, да и потом вот этот параметр LWA_COLORKEY у меня не сработает (специфика приложения), а то бы и с регионами не пришлось бы возиться (приходится дополнительно маску создавать)...

Ссылка ANTPro тоже не про то ...

Как создать прозрачненькую (силами винды) и не прямоугольную форму я в курсе, а вот как, как правильно говорит hommсделать такую форму, которая кликбы передавала лежащему под собойобъекту не знаю ...

???


homm   (2006-11-18 13:43:00) [19]

А по-моему человек о другом спрашивает.

> Как делается форма, прозрачная для кликов ?
Т.е. как я понял, пользователь кликает на форме, а она передает событие клика лежащему под собой компоненту (не обязательно этого-же приложения)

зы. Кому надо хороший телепатор, могу сказать где свой взял :D


ANTPro   (2006-11-18 00:42:00) [20]

http://www.delphimaster.ru/cgi-bin/forum.pl?n=10&id=1158934714


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо