Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Вниз

прозрачность 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
1-10281
Beginner3000
2003-07-16 00:42
2003.08.04
Вопросы по строкам


6-10332
vgkuser
2003-05-29 13:14
2003.08.04
как работать с IdFTP


3-10093
Spawn
2003-07-11 18:10
2003.08.04
Триггеры


1-10167
Spawn
2003-07-22 19:08
2003.08.04
Word


3-10087
Spawn
2003-07-13 12:38
2003.08.04
SQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский