![]() |
|
Модераторы: Akina |
![]()
|
|
| Сувор |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 7.6.2004 Репутация: нет Всего: нет |
Label1.Caption =длинный текст
Я хочу щелкнуть на каком-то слове и получить его. Как? - Я конечно могу снять координаты мыши, но ширина-то букв разная и, кроме того, автоматические переносы! -С ума свихнешся пересчитывать! С другой стороны очень многие программы это умеют. Нет ли для этого какой спец.функции? Спасиба! |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
Вряд ли они это делают с Label'ом... лучше использовать для этого TextBox...
Тебе для какой цели надо это? Объясни, найдем чего-нить... -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| Сувор |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 7.6.2004 Репутация: нет Всего: нет |
TextBox так TextBox! Просто я где-то читал что при отсутствии нужды всегда лучше пользовать label. А цель -показать перевод или, может, установить плеер на это место.
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
Конечно лучше! Label ведь менее ресурсоемкий, чем TextBox. Но ведь нужда в использовании TextBox есть, с ним это сделать проще... Ну или можешь пересчитывать все положения слов в Label -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Конечно ,если постараться можно и гвоздь забить в стену шляпкой вперед.
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 10 Всего: 68 |
1. Определять координаты каждого слова, как предложил -Mikle-
2. Опять же как предложил -Mikle- сипользовать текстбокс или мемо 3. Разбивать строку на слова и каждое слово запихивать в отдельный лэйбл (естственно лэблы строить run-time).
В этих программах слова (сокрее всего) есть отделтные компаненты со своими свойствами, методами и событиями. Более того в большенстве программ слово, строка, обзац и т.д. есть также объекты не имеющие ни какого отношения к лэблам! |
|||
|
||||
| Сувор |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 7.6.2004 Репутация: нет Всего: нет |
Ничего не имею против перехода к TextBox! (про label я просто так к слову вякнул) -- Но, как сделать-то? С текстбоксом?
А про программы -я имел в виду переводчик Stylus в частности. Там открываешь текст из любого документа (ну правда конвертацию он делает вроде бы) и при подводе мышки появляется перевод. Как-то я был бы резко удивлен если бы каждое слово или даже строка были отдельными обьектами! |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 10 Всего: 68 |
Сувор
А ты попробуй покодить на ВБА в ворде и поймешь, что к чему - там обзац - объект, слово - объек, даже буква объект. По сабжу: Split тебе поможет аминь |
|||
|
||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 2 Всего: 27 |
Может тебе просто ListBox нужен?
-------------------- Возмездие настигнет |
|||
|
||||
| -Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
точно... я как-то давно писал свой контрол, который выводил текст в форматированом виде, и делал без объектов, в массиве хранил структуру параметров слова... потом потом попытался добавить туда всплывающие подсказки, при наведении на определенное слово, потом захотел сделать события, которые возникают при нажатии на слово, потом мне захотелось чтобы каждое слово имело свой индент... и короче получился такой запутанный код, что уследить за его логикой даже мне было уже сложно
Просто ты представляешь себе это как нечто большое, жрущее ресурсы и громоздкое На самом деле все намного компактнее... PS: Ой... что-то я кажется уже флейм пишу... пива напился блин... сорри... Это сообщение отредактировал(а) -Mikle- - 26.10.2004, 20:54 -------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
| -Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
Например так:
-------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 2 Всего: 27 |
А может попроще ,а?
Здесь выделенное ручками слово отражается в другом Text2. Остается выделить программно типа сосчитать сколько символов от курсора до пробела. -------------------- Возмездие настигнет |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
а не то же самое сделал что ли?
просто не выделяю, а работаю с переменной... зачем выделять? для этого есть ф-ия Mid$
ты кинь сюда свой вариант, который считает все это, при этом разделитель может быть не только пробел, как в моем варианте, и позиция курсора может оказаться внутри подрят идущих разделителей ("Hello!!!!!" между восклицательными знаками например). В этой ф-ии я учел все варианты положения курсора, также когда слово последнее, и после него не идет никаких разделителей... или первое, перед ним нет разделителей не думаю что твой вариант будет меньше по кол-ву строк Это сообщение отредактировал(а) -Mikle- - 27.10.2004, 07:01 -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| -Mikle- |
|
||||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
PS: перед тем как использовать
Это сообщение отредактировал(а) -Mikle- - 27.10.2004, 07:10 -------------------- Если тебе плюют в спину, значит ты впереди... |
||||||
|
|||||||
| Сувор |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 7.6.2004 Репутация: нет Всего: нет |
Mikle! I thank you very much! И твой код великолепен! Хотя можно было передо мной бисер и не метать, а просто ткнуть меня носом в атрибут .selstart -кстати какого дьявола его нет в панели свойств ? (а следовательно и его расшифровки)! Но код великолепен! Thank you once more!
Кстати интересно- при просмотре on line я увидел только начало твоего кода (четыре строчки) а после сохранения на диск проявилось остальное! Это так и надо? Или это баг какой? Это сообщение отредактировал(а) Сувор - 27.10.2004, 10:49 |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |