| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Работа с TImage. |
| Автор: SkyAngel 6.2.2009, 22:52 |
| В общем такая проблема у меня появилась - необходимо загрузить картинку, и в специально отведённых областях обрабатывать событие OnClick. Всего TImage делиться на 18 не равных частей, которые должны быть в виде окружности. Есть предположения после прочтения примеров немного другого типа в гугле, однако хотелось бы более точный совет =). Configuration: CodeGear Rad Studio 2009 Windows Vista Sp1. |
| Автор: AntonN 6.2.2009, 23:20 |
| по MouseDown определять координаты клика, иметь маску областей (в принципе в качестве цвета можно использовать номер области) и смотреть какой цвет (и номер области) вернулся по клику, в случае удачи "вручную" вызывать некий обработчик (самописную функцию итд). |
| Автор: SkyAngel 6.2.2009, 23:32 |
| Не пойдёт. Различие цветов невозможно. Все центры окружностей имеют один и тот же цвет, а 6/9/15 ( в зависимости от загружаемой картинки) имеют один и тот же цвет. Мне необходимо "разбить" TImage на части и анализировать событие onClick на этих областях. Но проблема - я не знаю как это сделать. Жду ещё предложений =) |
| Автор: Shaggy 7.2.2009, 00:59 |
| CreateEllipticRgn PtInRegion |
| Автор: SkyAngel 7.2.2009, 01:34 |
Всё выдержано в строгости времён СССР. А поподробнее можно? Я уже понял, что необходимо с этими функциями WinAPI работать. Но про окружность я, к примеру, не совсем понял. Какие именно кординаты задаються? Там же вроде их 4 штуки. Поподробнее, пожалуйста =). |
| Автор: THandle 7.2.2009, 01:57 |
| Так есть же описания: http://msdn.microsoft.com/en-us/library/dd183496(VS.85).aspx http://msdn.microsoft.com/en-us/library/dd162883(VS.85).aspx Что не понятно? Еще в http://drkb.ru есть примеры. |
| Автор: SkyAngel 7.2.2009, 13:56 |
| В общем в условиях поставленой задачи гораздо легче воспользоваться дополнительными TImage с Transparent:=True; И обрабатывать событие onClick на них. P.S. Мне были необходимы другие способы решения данной проблемы. Однако возникает и ествевственный вопрос - как сделать TImage в виде окружности? |
| Автор: MetalFan 7.2.2009, 19:42 |
| а не легче почитать описание функций, предложенных к использованию? или английский не панима? |
| Автор: AntonN 7.2.2009, 22:53 | ||
SkyAngel,
Пойдет. Ты параметры областей знаешь? ну вот на рисуй на маске (на втором битмапе) эти области и по маске определяй. Если надо пиши свой компонент, с двумя св-вами picture, в первом лицевая, во второй маска, обработчик onclick переделывай. |