Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.04;
Скачать: CL | DM;

Вниз

прозрачность TGraphicControl а   Найти похожие ветки 

 
race1 ©   (2003-07-22 14:52) [0]

представьте такую картину:
рисуем на сабжевом канвасе баранку, т.е. круг и в сердинке дырка. теперь нарисуем внутри этой баранки (т.е. там где дырка) на другом сабжевом канвасе полностью круг.

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

а нельзя как-нибудь нажать на круге мышкой, что бы вызвался его обработчик (круга)? SendToBack\Front нужного эффекта не даёт


 
Spawn ©   (2003-07-22 18:11) [1]

Если я правильно понял, то делай так - введи какую либо переменную, влияющую на то чей обработчик будет вызван, а потом в обработчике клика на "баранке" пиши что то типа:

if <условие> then
<Обработка клика>
else
OnGraphicControl2MouseClick(GraphicControl2){Разумеется OnGraphicControl2MouseClick должен быть описан}


 
Ader_007   (2003-07-22 20:54) [2]

Var Xc, Yc : Integer; {координаты центра круга-не_бублика}
R : Integer; {радиус круга-не_бублика}

procedure TAny_Class.БубликClick(Sender: TObject);
Begin
if ((Mouse.X - Xc)**)+((mouse.y-Yc)**)<r** then
CircleClick(Sender) else
Begin
....//А вот тут мы кликнули на самом бублике
end;

Может с синтаксисом напутал, но идея я думаю ясна.


 
race1 ©   (2003-07-23 05:58) [3]

//Spawn © (22.07.03 18:11)
GraphicControl2 - это круг, да?

впринципе, идея хорошая, но маленько не то. то что было в первом письме я упростил. может быть любое сочетание самых разных примитивов, а не только закомпелированные бублики и кружки :). и мы не можем знать что находится под кликнутой фигурой

планирую примитивы сделать типа TShape; но Шэйп сам прямоугольный, хоть и прозрачный, и перекрывает лежащие под ним другие шэйпы.

мне вот что в голову пришло: если мы кликнули на шэйпе на прозрачном цвете, то отправляем этот шэйп назад (SendToBack) и снова кликаем, но программно

//Ader_007 (22.07.03 20:54)
нет, это уж слишком узконаправленно :)



Страницы: 1 вся ветка

Текущий архив: 2003.08.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
3-10080
Slap
2003-07-11 19:33
2003.08.04
PDOXUSRS.LCK. Permissin dinied


14-10429
Vlad Oshin
2003-07-16 15:40
2003.08.04
Боитесь ли Вы виртуальной жизни?


1-10212
Gorn
2003-07-20 11:26
2003.08.04
Работа со строками


11-10154
jfo
2002-11-30 14:35
2003.08.04
Хочется странного... или может что не то делаю...


1-10219
abc
2003-07-20 20:23
2003.08.04
как под переменную типа Variant выделить 100kb?