В одной проге есть такая байда, которую хотелось бы сделать для своей (см. картинку - окно дано для примера, задача другая, но алгоритм будет тот же):
При показе окна (правое) с точечным массажом, и клике на номере точки (например, 1.11), появляется окно с топографией этой точки (левое), причем при наведении мыши на точку в левом окне курсор меняется на "палец" (подобно гиперссылке), а при клике на точке cама точка начинает мигать, а в нижней части левого окна появляется описание этой точки. При клике на другой точке мигает уже следующая "кликнутая" точка, и, соответственно, меняется описание ее внизу окна. Подчеркиваю, что клик именно на НОМЕРЕ точки, ни на каком другом участке текста, и курсор никак не меняется при наведении на точку.
Подскажите, как енту мыслю воплотить в программный код?
Вопросы следующие (в смысле алгоритма - подправьте/подскажите, если что не так):
1. В правом окне, я понимаю, RichTextBox. Как распознать, что юзер кликнул именно на номере точки? Что-то типа
- Код: Выделить всё
Sub RichTextBox_Click()
If "Что-то там" = "1.11" Or "10.17" Or ... Then
... КОД ...
End if
End Sub
А "Что-то там" - это что? Здесь я в принципе не врубаюсь в процесс, как при клике на тексте распознать именно нужный мне кусок текста, т.е., набор символов. Честно сказать, я с RichTextBox ни разу не имелся.
2. В левом окне, "по понятиям" , PictureBox & TextBox. С текстбоксом понятно, а как вычислить, что курсор находится на нужной мне точке пикчербокса, чтобы затем в текстбоксе выдать нужный мне текст? Я так думаю, что нужно сначала в какую-то "базу данных" или в массив переменных загнать координаты каждой точки, затем их вычислять по SetCursorPos? А юзер форму начнет передвигать по экрану, тады чаво?
Или поступить проще: на форму кинуть пикчербокс с рисунком, на него "маленькие" пикчеры с изображением точек, заделать их Picture.Visible = False, при Picture_MouseMove() поменять курсор, а при Picture_Click() сделать Picture.Visible = True, со всеми остальными привязками к текстбоксу? А рисунков около 20, насколько правильно будет присутствие в проекте 20 почти одинаковых форм с почти одинаковым кодом? Может, какое-то более поизящнее решение существует?
PS. Опять меня старейшины на MSDN отправят! Не могу я по аглицки соображать толком, да на примерах лучше обучаться. Где можно подобный пример с работой с RichTextBox найти? Киньте ссылочку, please!
С уважением - Dummiel