Текущий архив: 2008.07.27;
Скачать: CL | DM;
ВнизModel-View-Controller Найти похожие ветки
← →
megavolt © (2008-06-26 13:05) [0]Создаю программку, сборник аккордов, вывожу текст, (рисую в канву текст и аппликатуру(Am/Hm...)), как мне сделать ссылками аппликатуры?
для себя понял, что необходимо применить МВК- архитектуру, но я с ней ранее не работал.. и информации достаточно мало..
а все что необходимо добиться это событие и реакцию на RollOver/Click для Аппликатуры(RoundRect+text). использовать RichEdit нет желания, хочу свой компонент. помогите пожалуйста, весь мозг сломал..
зы. на DK не отсылать.. был, безрезультатно
← →
clickmaker © (2008-06-26 13:12) [1]OnMouseDown (или ..Up или OnClick) с проверкой координат.
Есть вариант, конечно, делать их из Label, но это ресурсов больше
← →
megavolt © (2008-06-26 14:09) [2]
> clickmaker
в том и дело, что не текстом, а шейпом или изображением надо, как в браузере для напримера.. тоесть рисование на канве, и обработка координат.. но как..
← →
clickmaker © (2008-06-26 14:14) [3]> рисование на канве, и обработка координат.. но как
Так а они у тебя хранятся же как-то, аппликатуры эти? В виде списка/массива? Вот в нем и храни координаты, при щелчке ищи по массиву, ну а дальше обрабатывай ссылку в зависимости от конкретного объекта
← →
megavolt © (2008-06-26 14:41) [4]пока не хранятся, я еще думаю в каком виде хранить, вернее сказать в каком типе данных, и в каком хранилище.. в принципе я думаю что TList подойдет.. понятно, что после щелчка перебором по листу надо ждать ответа от аппликатуры, вот как этот процесс реализовать? как говорится на языке крутится =)) может у кого-то есть исходничек, или линк на статейку..
← →
clickmaker © (2008-06-26 15:41) [5]type TFingering = class (или record)
Chord: string; // аккорд
Link: string; // ссылка
Coords: array of TRect; // места, где аккорд в тексте
Создаешь список из них и вперед. При щелчке, в цикле ишещь if PointInRect(item[i]) then переход по ссылке
как-то так.
← →
megavolt © (2008-06-26 15:53) [6]это само собой, до этого дошел.. а как заставить реагировать нарисованную аппликатуру на клик и оновер?
я понимаю, что нотифиевент нужен..
ну ладно, буду разбираться, в любом случае спасибо за ответы
← →
clickmaker © (2008-06-26 15:54) [7]> как заставить реагировать нарисованную аппликатуру на клик
> и оновер?
а OnMouseDown и OnMouseMove на что?
← →
megavolt © (2008-06-26 16:37) [8]
> а OnMouseDown и OnMouseMove на что?
да это-то понятно)) я к тому, что аппликатуры то нарисованы... тоесть у них должны как ты говорил, храниться координаты.. а как мне с канвы координаты содрать тогда?
вот пока что есть, чтобы представить о чем речь))
<a href="http://www.valar.ru/upload/jpg/0608/sbv20.htm">
<img src="http://www.valar.ru/tm2/0608/sbv20.jpg">
</a>
← →
clickmaker © (2008-06-26 16:53) [9]> тоесть у них должны как ты говорил, храниться координаты..
> а как мне с канвы координаты содрать тогда?
эээ... координаты хранятся в списке. Это - первоисточник. На канве их рисуешь, пробегая по списку. А события ловишь на том, у чего эта самая канва
← →
megavolt © (2008-06-26 16:59) [10]ну вобщем понял) спасибо, буду дальше думать.. конечно примерчик бы какой-нибудь не помешал.. суть-то я уловил, а на практике, не понимаю, как координаты канвы поймать.. тем более, что тут же масштабируемая канва, придется какие-то еще координаты изобретать. как с событиями быть, не понимаю..
Страницы: 1 вся ветка
Текущий архив: 2008.07.27;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.006 c