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

Вниз

Можно ли создать объект...   Найти похожие ветки 

 
Shopot ©   (2005-11-09 21:30) [0]

Здравствуйте. Можно ли создать такой визуальный объект, чтобы он представлялсобой кольцо, некоторой толщины, и отрисовывался на форме. Но при клике мыши по самому кольцу, выполнялся бы метод OnMouseClick объекта, а при клике во внутренней его области, OnMouseClick формы? Как примерно можно это сделать и какой класс взять родителем?


 
злобная танька   (2005-11-09 21:35) [1]

а шо мешает нарисовать кольцо на имейдже с прозрачным фоном и вызывать Form1Click при нажатии во внутренней области?


 
Shopot ©   (2005-11-09 21:47) [2]

А как отследить эту область? Перебором? Долго, таких объектов если много и быстро по ним щелкать, все тормозить будет. И потом события должны вызываться автоматом, а не где то в процедуре определения границ области кольца, повешенной на OnMouseClick imag"а.


 
злобная танька   (2005-11-09 21:53) [3]

нафига перебором?
можно цвет например проверять в том же имедже
if image1.canvas.pixels[X, Y] = yourtransparentcolor then Form1Click
не думаю что ето будет работать слишком медленно.

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


 
злобная танька   (2005-11-09 21:56) [4]

ишо можно расстояние от центра дырки считать и сравнивать с ее радиусом


 
Shopot ©   (2005-11-09 22:03) [5]

А если 2 объекта перекрываются или одно кольцо находится поверх или внутри другого. Как определить метод того объекта, над которым произошел click? Ведь имаджи квадратные, и который создан позже будет всегда поверх того, который появился раньше.


 
злобная танька   (2005-11-09 22:23) [6]

а можно вопрос нафига вообще эти кольца нужны?
может есть другое решение? :)


 
vvvaaa   (2005-11-09 22:32) [7]

Основные функции для создания не прямоугольных контролов:
CreateRectRgn, CreateEllipticRgn и т.д см. хелп
CombineRgn
SetWindowRgn

Можешь хоть весь контрол дырками изтыкать. А рисовать кольца можно на любом контроле, главное чтоб Canvas был.


 
Zeqfreed ©   (2005-11-09 23:15) [8]

vvvaaa   (09.11.05 22:32) [7]
Щас пойдут просьбы примеров. Справка давно ведь уже не рулит.



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

Форум: "Основная";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.035 c
2-1132313797
Дева
2005-11-18 14:36
2005.12.04
SQL: о параметризированных запросах


9-1120320151
NE_Parovoz
2005-07-02 20:02
2005.12.04
Мутанчики (2D Demo)


2-1131989531
serko
2005-11-14 20:32
2005.12.04
Форма на весь экран!


14-1131587946
vidiv
2005-11-10 04:59
2005.12.04
Культура мысли


5-1115307035
Mutex
2005-05-05 19:30
2005.12.04
Проблема с экспертом (IOTAFormEditor)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский