Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Public Function erstellen für Buttons

Begonnen von kfisch, Januar 13, 2016, 12:27:03

⏪ vorheriges - nächstes ⏩

kfisch

Hallo zusammen,

ich erstelle gerade eine neue Datenbank zur besseren Übersicht und komme leider nicht weiter.  :-[
Mein Problem ist folgendes:
ich habe eine Übersicht mit ca. 80 Buttons.
Diese benötige ich zur Weiterleitung an verschiedene Formulare etc.
Nun möchte ich einstellen, dass jeder Button bei Fokuserhalt die Schriftfarbe ändert sowie den Text unterstreicht.
Bei Fokusverlust soll wieder die ursprüngliche Formatierung eingestellt werden.
Da ich nun nicht für 80 Buttons die jeweilige Formatierung programmieren will, würde ich dies gerne über eine Public Function machen und dies dann jedem Button nur noch zuweisen müssen.

Kann mir hier jemand einen Tip geben, wie diese Programmierung am besten aussehen soll?

Bin für jede Hilfe dankbar  :D

DF6GL

Hallo,

ich glaube nicht, dass es in dieser Form (Fokuserhalt/-verlust)  so funktioniert, wie Du Dir das vorstellst.

Allenfalls ginge Folgendes:

In einem Standardmodul:

Public Function formatbutton(btn As Control, mode As Boolean)
If mode Then
  btn.FontUnderline = True
  btn.ForeColor = vbRed
Else
  btn.FontUnderline = False
  btn.ForeColor = vbBlack
End If
End Function


und Aufruf der Funktion  beim Ereignis  "Bei Mausbewegung" der Schaltflächen:  =formatbutton([btnName1];1)
und beim Ereignis "Bei Mausbewegung" des Bereiches, auf dem die Buttons platziert sind:  =formatbutton([btnImpListe107];0)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

#2
Hallo,

warum sollten die Fokusereignisse nicht geeignet sein? Du kannst die Ereigniseigenschaften aller Buttons nach Mehrfachmarkierung im Formularentwurf mit jeweils einer einzigen Eingabe auf die benutzerdefinierten Funktionen einstellen.

Der Code dazu könnte folgendermaßen aussehen:
Public Function fset_btnGotFocus()
    Screen.ActiveControl.FontUnderline = True
End Function
Public Function fset_btnLostFocus()
    Screen.ActiveControl.FontUnderline = False
End Function


Und der Aufruf dann so:
=fset_btnGotFocus()   ' bzw.
=fset_btnLostFocus()


Das hat zumindest den Vorteil, dass du nicht 160 Mal den Funktionsaufruf bei der Ereigniseigenschaft eintippen musst.
Freundliche Grüße
MaggieMay

kfisch

Ich habe jetzt die Lösung von beiden getestet, die von MaggieMay ist genau das was ich suche  ;D ;D

Vielen Dank für die schnelle Hilfe!  :)