Главная страница
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.016 c
14-10368
Soft
2003-07-15 13:57
2003.08.04
Извиняюсь перед всем форумом


7-10482
qwerty2
2003-05-21 22:28
2003.08.04
Настройка DCOM программно через реестр или API


1-10221
Relaxxx
2003-07-20 19:55
2003.08.04
разбитие текста на слова


3-10097
vopros
2003-07-14 11:59
2003.08.04
Как в таблицу добавить поле


7-10473
Siemens
2003-05-22 12:54
2003.08.04
Как использовать MODEM или локалку в DELPHI!