Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 327

Текст, как ссылка)

21.07.2013, 01:26. Показов 1461. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно ли сделать так, чтобы по нажатию на какую либо строчку в текстовом поле, открывалась новая форма?и чтобы эта форма всегда была поверх всех окон?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.07.2013, 01:26
Ответы с готовыми решениями:

Как преобразовать текст из формата RTF в обычный текст?
Как преобразовать текст из формата RTF в обычный текст?

Текст как ссылка
Уважаемые форумчане делаю Help к дипломному проекту и возник такой вопрос: Можно ли текст в Memo или RichEdit сделать ссылкой чтобы при...

Чем заменить функцию ссылка на текст-текст на этой же странице на Wordpress 4.6.1
Доброго времени суток. Нужно сделать страницу на сайте вот в таком виде http://www.ttk.ru/rus/msk/business/service/ Текст слева в виде...

6
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
21.07.2013, 03:20
Visual Basic
1
2
3
4
5
6
7
8
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
 
Private Sub Command1_Click()
    Const HWND_TOPMOST = -1
    Const SWP_NOMOVE = 2
    Const SWP_NOSIZE = 1
    SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End Sub
Какой объект Вы именуете текстовым полем?
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
21.07.2013, 07:00
Лучший ответ Сообщение было отмечено The trick как решение

Решение

В примере используется идентификация по слову, разделителем являются символы с кодом < 33, по желанию можно добавить другой. А вообще правильнее для таких целей использовать Rich TextBox
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Option Explicit
 
Private Const EM_CHARFROMPOS& = &HD7
 
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
 
Private Const IDC_HAND = 32649&
Private Const IDC_IBEAM = 32513&
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
 
Private Sub txtText_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim Pos As Long, Wrd As String
    x = ScaleX(x, vbTwips, vbPixels): y = ScaleY(y, vbTwips, vbPixels)
    Pos = CLng(x) + (CLng(y) * &H10000)
    Wrd = LCase(GetWord(txtText, Pos))
    Select Case Wrd
    Case "first", "second"
        SetCursor LoadCursor(0, IDC_HAND)
        lblMsg.Caption = Wrd
    Case Else
        SetCursor LoadCursor(0, IDC_IBEAM)
        lblMsg.Caption = vbNullString
    End Select
End Sub
Private Sub txtText_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim Pos As Long
    x = ScaleX(x, vbTwips, vbPixels): y = ScaleY(y, vbTwips, vbPixels)
    Pos = CLng(x) + (CLng(y) * &H10000)
    Select Case LCase(GetWord(txtText, Pos))
    Case "first"
        SetTopMost frmFirst
        frmFirst.Show
    Case "second"
        SetTopMost frmSecond
        frmSecond.Show
    End Select
End Sub
Private Function SetTopMost(Form As Form) As Boolean
    SetTopMost = SetWindowPos(Form.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Function
Private Function GetWord(Text As TextBox, Pos As Long) As String
    Dim ptChar As Long, PtLine As Long
    Dim ptStart As Long, ptEnd As Long
    ptChar = SendMessage(Text.hwnd, EM_CHARFROMPOS, 0, ByVal Pos)
    PtLine = ptChar \ &H10000
    ptChar = ptChar And &HFFFF&
    If ptChar <= 0 Then Exit Function
    ptStart = ptChar
    Do Until ptStart <= 0
        If Mid$(Text.Text, ptStart, 1) <= " " Then Exit Do
        ptStart = ptStart - 1
    Loop
    ptEnd = ptChar
    Do Until ptEnd > Len(Text.Text) Or Mid$(Text.Text, ptEnd, 1) <= " "
        ptEnd = ptEnd + 1
    Loop
    If ptStart = ptEnd Then Exit Function
    GetWord = Mid$(Text.Text, ptStart + 1, ptEnd - ptStart - 1)
End Function
Вложения
Тип файла: rar Char from pos.rar (2.5 Кб, 11 просмотров)
1
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 327
21.07.2013, 09:23  [ТС]
Dragokas, TextBox, а что этот код делает??

Добавлено через 4 минуты
The trick, Можете объяснить пожалуйста
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
21.07.2013, 11:28
Функция GetWord возвращает слово в элементе редактирования текста, исходя из его позиции в клиентских координатах окна; позиция в старшем слове содержит координату по оси Y, соответственно в младшем X. Разделителем слов, как написано выше, я использовал все символы с ASCII кодом меньшим 33 (знаки припинания и т.п. не учитываются и считаются как одно слово), модификацией строк 55 и 59 можно добавить и другие символы (правильно создать функцию IsLetter или CharType которая будет определять класс символа). Остальное впринципе все и так понятно. Код содержит один недочет заключающийся в том, что если мышь будет находится за строкой, то она вернет слово находящееся в конце строки, но это можно легко исправить измерив длину строки используя GetTextExtentPoint32
1
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
21.07.2013, 14:54
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Вот вариант с использованием RichTexBox'а
Вложения
Тип файла: rar RichHyperLink.rar (3.0 Кб, 10 просмотров)
1
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 327
23.07.2013, 10:32  [ТС]
ясно, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.07.2013, 10:32
Помогаю со студенческими работами здесь

Как перенести продублировать данные из справочника.ЕдиницыИзмерения.Ссылка в справочник КлассификаторЕдиницИзмерения.Ссылка
Ну вапрос таков есть два справочника 1)КлассификаторЕдиницИзмерения и 2) ЕдиницыИзмерения нужна сделать так что бы у них были индоинтичные...

текст ссылка
подскажите какой компонент нужно скинуть на форму что бы при нажатии его можно было перейти на указанный сайт

Ссылка на текст
Всем привет! В ворде можно сделать оглавление в виде ссылок на разделы документа! Как сделать тоже самое на сайте? Подскажите где искать...

Как проверить - есть ли обратная ссылка ссылка?
Добрый вечер! Есть сайт. Обменялся год назад с другими сайтами ссылками. Сейчас хочу проверить - у всех ли этих сайтов сохранились...

Текст(ссылка)на картинке
Доброе утро! можно как то написать текст(ссылка) на картинке?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru