Infofenster bei "mouseover"

SpeedyFighter1

Grünschnabel
Huhu,

ich wollte in einem Formular (Access) ein Infofenster per VBA programmieren, was nur dann aufgehen soll, wenn man mit der Maus über einem Steuerelement (z.B. Bild) ist.

In etwa sollte es so aussehen wie in diesem Bsp.:

http://www.1ngo.de/web/infobox.html

(Wenn ihr mit der Maus über "AFAIK" geht, dann öffnet sich solch ein Infofenster.)

Nur leider konnte ich bis jetzt keine nützliche Hilfe hierzu finden.
Wäre nett, wenn ihr mir helfen könntet.

mfg SpeedyFighter1
 
Huhu,

das hatte ich mir ja auch gedacht, nur fehlt es mir leider am Wissen den Code für solch ein Fenster zu programmieren. :(
Und mit Hilfe dieser "Anfrage" an euch hoffe ich eine Lösung für das zu finden ..

Danke

mfg SpeedyFighter1
 
Hi...

Würde es mit einem Bezeichnungsfeld realisieren...

Bemerkung:
OBJ -> Das Steuerelement wo das Infofenster angezeigt werden soll.
TIPP1 -> Das Infofenster

Vorarbeit:
Auf der Form ein Bezeichnungsfeld erstellen.
Den Wert "Name" auf "Tipp1" setzen
Dieses Optisch nach deinem wünschen gestalten. (Zeilenumbruch mit [ALT] + 010)
Den Wert "Sichtbar" auf "Nein" stellen...

Code bearbeiten:
MouseMove Ereignis des Detailbereiches anpassen.
Damit der Tipp wieder versteckt wird wenn das OBJ verlassen wird.
Code:
Private Sub Detailbereich_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'Nur verstecken wenn es sichtbar ist
    If Tipp1.Visible = True Then Tipp1.Visible = False
End Sub

MouseMove Ereignis des Tipps festlegen.
Falls Benutzer mit der Maus auf den Tipp kommt verstecken (Schnelle Mausbewegung)
Code:
Private Sub Tipp1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Tipp1.Visible = False
End Sub

MouseMove Ereignis des OBJ bearbeiten.
Da hast 2 Varianten...

1.) Fix unter dem Steuerelement plazieren...
Code:
Private Sub OBJ_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Tipp1.Visible = False Then
        Tipp1.Visible = True
        Tipp1.Top = OBJ.Top + OBJ.Height + 100
        Tipp1.Left = OBJ.Left
        'Text setzen per Quellcode, Zeilen umbruch mit "vbCrLf"
        'Tipp1.Caption = "Hallo:" & vbCrLf & "Test TippBox"
    End If
End Sub

2.) An die Maus heften...
Code:
Private Sub OBJ_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Tipp1.Visible = False Then
        Tipp1.Visible = True
        'Text setzen per Quellcode, Zeilen umbruch mit "vbCrLf"
        'Tipp1.Caption = "Hallo:" & vbCrLf & "Test TippBox"
    End If
    Tipp1.Top = OBJ.Top + Y + 250
    Tipp1.Left = OBJ.Left + X - Tipp1.Width / 2
End Sub

So das wars... Gutes gelingen!

lg Tody
 
Hy

Kann auch ToolTip sein oder ? Ist aber sehr komplexer als die Lösungvorschläge von Tody83

Rest siehe Anhang Access 2000

MfG
Sascha
 

Anhänge

  • A2kTooltipver34.zip
    108,9 KB · Aufrufe: 298
@Tody83

ein rar Archiv kann man nicht entpacken da kommt ein Fehler.
und ein wichtiges Tool zum schauen wie es geht ist es ja auch nicht.
Ich hoffe es kann einer mal so was bereit stellen.
 
Danke dir Tody83 !

Es hat super geklappt und die Anleitung war auch schön verständlich.
Hat mir sehr geholfen, nur habe ich jetzt mal noch eine klitze kleine Frage.
In einem Textfeld des Formulars wird ein Wert des jeweils aufgerufenen Datensatzes angezeigt und ich brauch diesen als Integer.
Meine Idee:
Code:
Textfeld.SetFocus
    Textfeld_int = CInt(Textfeld.Text)
Der Haken ist nur leider, wenn ich das Textfeld unsichtbar machen will, weil ich es nicht angezeigt haben will auf dem Forumlar, dass Access den nötigen Fokus nicht mehr setzen kann.
Gäbe es denn noch eine andere Variante an den Wert zu kommen, ohne den Fokus auf das Textfeld setzen zu müssen ? (ohne die Textfarbe einfach an die Hintergrundfarbe anzupassen)

Nochmals DANKE !

mfg SpeedyFighter1
 
@Tody83

ein rar Archiv kann man nicht entpacken da kommt ein Fehler.
und ein wichtiges Tool zum schauen wie es geht ist es ja auch nicht.
Ich hoffe es kann einer mal so was bereit stellen.

1. ist es ein Zip Archiv (Mit WinACE in der Version 2.03 erstellt)
2. Nutze ein neues WinZip oder WinAce zum entpacken (CRC Fehler treten nur bei zu alten Programmen auf)
3. Woher weist du was in der Zip drinn ist wennst es nicht aufbringst?

4. Danke für deinen netten ton... Immerhin hab ich die eine Fertige lösung für dein Problem geliefert und zusätzlich dann auch noch eine Beispiel DB....

gruß Tody
 

Neue Beiträge

Zurück