Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Всплывающая подсказка и значения полей / 4 сообщений из 4, страница 1 из 1
03.02.2017, 00:51
    #39397705
currentnum
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Всплывающая подсказка и значения полей
1) Существует несколько полей и для "TITLE" хочу присвоить значения из Me.[1_txt], Me.[2_txt], Me.[3_txt], Me.[4_txt]
в зависимости от того, на какое поле будет сделано нажатие. Не знаю, как именно присвоить, вроде все варианты испробованы.


Код: vbnet
1.
  Const TooltipTitle As String = "TITLE"




А также, непонятно, как работает эта строчка и почему мне показывает для каждого поля разные значения, вместо одного и того же значения.

Код: vbnet
1.
    .lpszText = TooltipText & Me.[3_txt]



=========================================================

Код: vbnet
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.
Private Sub Ctl1_Click()
    Call PopupView(Ctl1)
End Sub

SRC vba]Private Sub Ctl2_Click()
    Call PopupView(Ctl2)
End Sub

SRC vba]Private Sub Ctl3_Click()
    Call PopupView(Ctl3)
End Sub

SRC vba]Private Sub Ctl4_Click()
    Call PopupView(Ctl4)
End Sub

Function PopupView(TH)
If i = 0 Then
  Dim hWndParent As Long
  Dim hInstance As Long
  Dim EditRect As tRect
  Const TooltipText As String = " "
  
[quote автор]  Dim THT As String
  THT = """ & Me.[3_txt] & """

  Const TooltipTitle As String = "TITLE"
 
  Call TH.SetFocus
  hWndParent = GetFocus()
  hInstance = GetWindowLong(Application.hWndAccessApp, GWL_HINSTANCE)
  FHandle = CreateWindowEx(WS_EX_TOPMOST, _
    FTooltipClassName, 0&, _
    TTS_NOPREFIX Or TTS_BALLOON Or TTS_CLOSE, _
    0, 0, 0, 0, hWndParent, 0, hInstance, 0)
  With FToolInfo
    .cbSize = Len(FToolInfo)
    .uFlags = TTF_TRACK
    .hwnd = hWndParent
    Call GetClientRect(.hwnd, .rect)
    .rect.Top = 500
    .rect.Bottom = .rect.Top + 100
 '   .lpszText = TooltipText & TH & " " & Me.[3_txt]
    .lpszText = TooltipText & Me.[3_txt]
  End With
  Call SendMessage(FHandle, TTM_ADDTOOLA, 0, FToolInfo)
  Call SendMessage(FHandle, TTM_SETTITLE, TTI_INFO, ByVal TooltipTitle) 
  'ïîêàçûâàåì tooltip
  Call GetWindowRect(hWndParent, EditRect)
  Call SendMessage(FHandle, TTM_TRACKPOSITION, 0, _
    ByVal (EditRect.Left + 1) Or ((EditRect.Top + 1) * 65536)) 
  Call SendMessage(FHandle, TTM_TRACKACTIVATE, True, FToolInfo)
  i = 1
End If
End Function
...
Рейтинг: 0 / 0
03.02.2017, 10:04
    #39397824
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Всплывающая подсказка и значения полей
currentnum,
пример 18563444 , "докрути" под свои нужды, там вроде всё понятно
...
Рейтинг: 0 / 0
03.02.2017, 11:49
    #39397986
currentnum
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Всплывающая подсказка и значения полей
Мною именно та ссылка и была использована. Спасибо.

Второй пункт исправлен, второй аргумент не был передан оказывается.
Осталось только с константой разобраться, как ей передать значение из THT.

Код: sql
1.
Const TooltipTitle As String = "TITLE"



Просто присвоить, нельзя. А дальше в коде мною не найдено, где можно было бы присвоить ее.

Const TooltipTitle As String = THT


Код: vbnet
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.
Private Sub Ctl1_Click()
    Call PopupView(Ctl1, Ctl1_txt)
End Sub

SRC vba]Private Sub Ctl2_Click()
    Call PopupView(Ctl2, Ctl2_txt)
End Sub

SRC vba]Private Sub Ctl3_Click()
    Call PopupView(Ctl3, Ctl3_txt)
End Sub

SRC vba]Private Sub Ctl4_Click()
    Call PopupView(Ctl4, Ctl4_txt)
End Sub

Function PopupView(TH, THT)
If i = 0 Then
  Dim hWndParent As Long
  Dim hInstance As Long
  Dim EditRect As tRect
  Const TooltipText As String = " "
  Const TooltipTitle As String = "TITLE"
 
  Call TH.SetFocus
  hWndParent = GetFocus()
  hInstance = GetWindowLong(Application.hWndAccessApp, GWL_HINSTANCE)
  FHandle = CreateWindowEx(WS_EX_TOPMOST, _
    FTooltipClassName, 0&, _
    TTS_NOPREFIX Or TTS_BALLOON Or TTS_CLOSE, _
    0, 0, 0, 0, hWndParent, 0, hInstance, 0)
  With FToolInfo
    .cbSize = Len(FToolInfo)
    .uFlags = TTF_TRACK
    .hwnd = hWndParent
    Call GetClientRect(.hwnd, .rect)
    .rect.Top = 500
    .rect.Bottom = .rect.Top + 100
    .lpszText = TooltipText & THT
  End With
  Call SendMessage(FHandle, TTM_ADDTOOLA, 0, FToolInfo)
  Call SendMessage(FHandle, TTM_SETTITLE, TTI_INFO, ByVal TooltipTitle) 
  Call GetWindowRect(hWndParent, EditRect)
  Call SendMessage(FHandle, TTM_TRACKPOSITION, 0, _
    ByVal (EditRect.Left + 1) Or ((EditRect.Top + 1) * 65536)) 
  Call SendMessage(FHandle, TTM_TRACKACTIVATE, True, FToolInfo)
  i = 1
End If
End Function
...
Рейтинг: 0 / 0
03.02.2017, 19:25
    #39398443
currentnum
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Всплывающая подсказка и значения полей
Надо было заменить Const на Dim
Код: vbnet
1.
Const TooltipTitle As String = "TITLE"


авторWhen you declare a constant, the value you give it must be constant too.
In this case, part of it is the parameter __ , which is variable.
You cannot declare a constant with a variable value.
Код: vbnet
1.
2.
Dim TooltipTitle As String
       TooltipTitle = THT
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Всплывающая подсказка и значения полей / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]