-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â rss_sql_ru_access_programming

 -Ïîäïèñêà ïî e-mail

 

 -Ïîñòîÿííûå ÷èòàòåëè

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 16.03.2006
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 4


Âñïëûâàþùàÿ ïîäñêàçêà.

Ñðåäà, 15 Èþëÿ 2015 ã. 10:13 + â öèòàòíèê
Çíàþ ÷òî ïîäîáíûå òåìû óæå áûëè (è ÿ èõ â ìåðó ñâîåãî ïîíèìàíèÿ ïåðåëîïàòèë), íî òàêè íå âñå ïîíÿòíî, ïîýòîìó ñîçäàþ ýòó.

Èòàê çàäà÷à - èìååòñÿ íåêîòîðàÿ ïîä÷èíåííàÿ ôîðìà íà êîòîðîé ïðåäñòàâëåíû äàííûå â òàáëè÷íîì âèäå. Äëèíû ïîëåé ôèêñèðîâàíû - à â íåêîòîðûõ ïîëÿõ òàêè ïîíàïèñàíî äî ïîëóòîðà ñîòåí ñèìâîëîâ. Íåîáõîäèìî ÷òî áû ïðè çàäåðæêå ìûøêè íàä ïîëåì âûâîäèëàñü "ïîäñêàçêà" â êîòîðîé áûëî áû âèäíî ñîäåðæàíèå âñåãî ïîëÿ. Ïðè ýòîì õîòåëîñü áû ÷òî áû ýòî áûëî äîñòàòî÷íî ïðîñòî (à òî åñòü òàêèå âàðèàíòû (î÷åíü êðàñèâûå êîíå÷íî, íî...) â êîòîðûõ ìîæíî ìåñÿö ðàçáèðàòüñÿ êàê ýòî ðàáîòàåò. È åùå ìåñÿö ýòî ïðîãðàììèðîâàòü. Íàäî ïðîñòî, òóïî, êâàäðàòíî.

×òî áûëî ñäåëàíî. Ñîçäàíà âñïëûâàþùàÿ ôîðìà hfrmTipText â ìîäóëå êîòîðîé (â ñîîòâåòñòâèè ñ îäíèì èç ïðèìåðîâ äëÿ ïîÿâëåíèÿ ôîðìû ðîâíî òàì êóäà óêàçûâàåò ìûøêà (÷òî òîæå íå ñóïåð ëó÷øå áûëî áû íåïîñðåäñòâåííî ïîä ïîëåì - íî è òàê ñîéäåò)) âíåñ:
Option Compare Database
Option Explicit

Private Declare Function MoveWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINT_TYPE) As Long
Private Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, lpRect As Rect) As Long

Private Type POINT_TYPE
X As Long
Y As Long
End Type

Private Type Rect
left As Long
top As Long
right As Long
bottom As Long
End Type

Private Sub Form_Open(Cancel As Integer)
Dim coord As POINT_TYPE ' êîîðäèíàòû êóðñîðà
Dim retval As Long ' âîçâðàùàåìîå çíà÷åíèå
Dim r As Rect ' ðàçìåðû îêíà
retval = GetCursorPos(coord) ' ñ÷èòûâàåì ïîçèöèþ êóðñîðà
retval = GetWindowRect(Me.hwnd, r) ' ñ÷èòûâàåì ðàçìåðû òåêóùåãî îêíà
' Ïåðåìåùàåì îêíî ôîðìû ïî ïîçèöèè êóðñîðà
retval = MoveWindow(Me.hwnd, coord.X, coord.Y + 10, r.right - r.left, r.bottom - r.top, 1)
End Sub


Ó ôîðìû íåò íè êíîïîê, íè ãðàíèö. Ïðîñòî êâàäðàòíàÿ ïàíåëüêà ñ ëåéáëîì.

Ïî ñîáûòèþ OnMousMove öåëåâîãî ïîëÿ çàïóñêàåòñÿ ïðîãðàììà:
Private Sub cmbApplication_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Shift = 1 Then
    Me.cmbApplication.SetFocus
    If Me.cmbApplication.VALUE <> "" Then
        DoCmd.OpenForm "hfrmTipText", acNormal, , , acFormReadOnly, acWindowNormal
        Forms!hfrmTipText.lblTipText.Caption = Me.cmbApplication.Text
    End If
End If
End Sub

È âñå áû áëèí íè÷åãî - äà âîò òîëüêî íàäïèñü â "ïîäñêàçêå" ìåíÿåòñÿ òîëüêî ïðè çàõîäå íà ïîëå ñî ñòîðîíû (ñëåâà èëè ñïðàâà). Ïðè ïåðåìåùåíèè ìûøêè â ïðåäåëàõ ïîëÿ (ïî âñåì çàïèñÿì) ïðè ïåðåõîäå ãðàíèöû çàïèñè - íàäïèñü íå ìåíÿåòñÿ. À ýòî êðàéíå íå óäîáíî. ×òî ìîæíî ñ ýòèì ïîäåëàòü?

http://www.sql.ru/forum/1165998/vsplyvaushhaya-podskazka


 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó