Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Kann ein Tooltip den Inhalt einer Zelle in einem Endlosformular anzeigen?

Begonnen von shadock, Juni 29, 2010, 20:37:42

⏪ vorheriges - nächstes ⏩

shadock

Hallo,
habe ein Endlosformular und in manchen Zellen sind die Werte (Text) ziemlich lang.
Will nun die Zellen nicht so gross machen und dachte mir wenn in einer Zelle ein
für die Zelle zu langer Text drin steht und den jemand ganz lesen will
das er dann mit der Maus auf die Zelle geht und der Text der Zelle dann
im Tooltip angezeigt wird.
Geht das?

shadock

DF6GL

Hallo,

das geht nur bedingt:


Private Sub Textfeldname_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Me!Textfeldname.ControlTipText = Me!Textfeldname
End Sub


Es wird der Wert aus demjenigen DS angezeigt, der akt. den Fokus hat.  Allein mit der Maus über/auf ein Feld in einem bestimmten DS zu fahren, setzt nicht den Fokus auf diesen Datensatz. Man muß mindestens vorher in das entspr. Feld klicken oder den Datensatzmarkierer benutzen.

K_Mueller

Hallo,

oder man benutzt die Klasse clsControlData von Stephen Lebans mit einer kleinen Anpassung.

Download:
http://www.lebans.com/conformscurcontrol.htm

und die vorhandene Sub "ctlTextBox_MouseMove"

durch diese ersetzen:

Private Sub ctlTextBox_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Debug.Print "X:" & x & "    Y:" & y
Dim sngY As Single
Dim lngRet As Long
Dim lngTemp As Long

' Get our Cursor Postition
sngY = GetCursorPosition(m_Form.hWnd)

' Get current position of ScrollBar Thumb. This value is equal to
' the currently displayed top most row in the Form.
lngRet = fGetScrollBarPos(m_Form)

' Calculate which row we are on adding in the ScrollBar Thumb offset.
lngTemp = (sngY \ m_Form.Section(acDetail).Height) + lngRet - 1

If Not (ctlRowNumTextBox Is Nothing) Then
    ctlRowNumTextBox = lngTemp + 1
End If

' Use the Forms' Recordsetclone to find the record the cursor is over.
m_Form.RecordsetClone.MoveFirst
m_Form.RecordsetClone.Move IIf(lngTemp < 0, 1, lngTemp)
If Not m_Form.RecordsetClone.EOF Then
    ctlDisplayTextBox = m_Form.RecordsetClone.Fields(ctlTextBox.ControlSource).Value     '("Genus").Value
    'm_Form.txtCode.ControlTipText = m_Form.RecordsetClone.Fields(ctlTextBox.ControlSource).Value
   
    'Insert by KM
    ctlTextBox.ControlTipText = ctlDisplayTextBox
   
   
   
    'Me.Genus.ControlTipText = Me.txtCurrentRowData
End If

End Sub


Gruß Klaus Müller
Win 98SE bis11, Acc97 bis 21, SQL-Server, Replikation
PS: Bitte Feedback nicht vergessen!

Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert, Einstein)

shadock

Hallo K_Mueller,

werde ich mal ausprobieren.

Vielen Dank schon mal.

shadock