Hi Joe,
Ich habe nun fast alle Varianten durchgespielt aber alles ohne
Erfolg.
Ziel ist es eine Schaltfläche zu erstellen bei der Ich:
- einen Text aufdrucken kann.
- die Farbe des Textes ändern kann
- die Farbe der Schaltfläche ändern kann
- einen Rechtsklick und einen links klick unterscheiden kann.
Der Command Button aus den Forms2.0 kann das alles aber er ist
zu groß da er leider die Caption auf sich Zentriert. Der
„alte“ Command Button lässt keine Schriftfarbe zu.
Deine erste Frage dazu hatte sich auf ‚Forms2.0‘ bezogen, dazu kann ich nichts sagen, das kenne ich nicht. Mein VB6.0 weiß nichts von Forms2.0.
Einen Button, den es so wie ich ihn nicht möchte nicht gibt, würde ich mir mit einem Picture bauen. (Und dann eventueell ein OCX daraus basteln, wenn der öfter benötigt wird.
Ein Vorschlag mit einem farbigen Rand:
Option Explicit
Private Sub Form\_Load()
 Me.Show
 ButtonText "Test", vbRed, vbBlue
End Sub
Private Sub ButtonText(ByVal Txt As String, ByVal Back As Long, ByVal Fore As Long)
 Dim Dx As Integer, dy As Integer
 Dim Fl As Long, Fd As Long, r As Long, g As Long, b As Long
 Picture1.BorderStyle = 0 'kein Rand
 Picture1.FontTransparent = True
 Picture1.BackColor = Back
 Picture1.ForeColor = Fore
 Picture1.ScaleMode = 3 'Pixel
 b = (Back And CDbl("&hff0000")) \ (256& \* 256&:wink:
 g = (Back And CDbl("&h00ff00")) \ 256
 r = Back And CDbl("&h0000ff")
 Fl = (r Or 159) + (g Or 159) \* 255 + (b Or 159) \* 255 \* 255
 Picture1.Line (0, 0)-(1, Picture1.ScaleHeight), Fl, BF
 Picture1.Line (0, 0)-(Picture1.ScaleWidth, 1), Fl, BF
 Fd = (r / 2) + ((g / 2) \* 255) + ((b / 2) \* 255)
 Picture1.Line (0, Picture1.ScaleHeight - 2)-(Picture1.ScaleWidth, Picture1.ScaleHeight), Fd, BF
 Picture1.Line (Picture1.ScaleWidth - 2, 0)-(Picture1.ScaleWidth, Picture1.ScaleHeight), Fd, BF
 Picture1.CurrentY = Picture1.ScaleHeight \ 2 - Picture1.FontSize \ 2
 Picture1.CurrentX = 10
 Picture1.Print Txt
End Sub
Gruß Rainer