vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Oberfläche · Effekte   |   VB-Versionen: VB4, VB5, VB613.01.01
Formoberfläche einmal anders

Meinen Sie nicht auch, daß das Standard-Grau der Windows-Fenster etwas langweilig aussieht? Mit unserem nachfolgenden Tipp können Sie ein bestimmtes...

Autor:   Heinz PrelleBewertung:     [ Jetzt bewerten ]Views:  24.658 
www.visual-basic5.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Meinen Sie nicht auch, daß das Standard-Grau der Windows-Fenster etwas langweilig aussieht? Mit unserem nachfolgenden Tipp können Sie ein bestimmtes Fenster z.B. eine reliefartige Struktur geben und zusätzlich die Texte in 3D-Schrift ausgeben.

Alles, was hierfür benötigen ist ein Picture-Objekt auf der entsprechenden Form. Setzen Sie die ScaleMode-Eigenschaft auf "3 - Pixel". Die Ausgabe des "neuen" Hintergrunds erfolgt zunächst in der PictureBox. Das dadurch entstehende "Bild" wird dann auf die gesamte Form "gekachelt".

Beispiel: Formhintergrund gestalten...reliefartig

' zunächst die benötigten Deklarationen
Private Declare Function BitBlt Lib "gdi32" ( _
  ByVal hDestDC As Long, _
  ByVal X As Long, _
  ByVal Y As Long, _
  ByVal nWidth As Long, _
  ByVal nHeight As Long, _
  ByVal hSrcDC As Long, _
  ByVal xSrc As Long, _
  ByVal ySrc As Long, _
  ByVal dwRop As Long) As Long
 
Private Const SRCCOPY = &HCC0020
 
' Fensterhintergrund
Public Sub HintergrundSetzen(F As Form, Pic As Control)
  Dim lngTileWidth As Long, lngTileHeight As Long
  Dim lngWidthX As Long, lngHeightY As Long
  Dim X As Long, Y As Long, XX As Long, YY As Long
  Dim lngRandomWidthX As Long, lngRandomHeightY As Long
  Dim lngCounter As Long
 
  ' Random Hintergrund
  Randomize
  lngRandomWidthX = Pic.ScaleWidth - 1
  lngRandomHeightY = Pic.ScaleHeight - 1
  Pic.Cls
  For lngCounter = 0 To 150
    X = Int(lngRandomWidthX * Rnd + 1)
    Y = Int(lngRandomHeightY * Rnd + 1)
    Pic.PSet (X, Y), QBColor(8)
    Pic.PSet (X + 1, Y + 1), QBColor(15)
  Next lngCounter
 
  ' Tile
  lngTileWidth = 128: lngTileHeight = 128
  lngWidthX = (F.ScaleWidth \ lngTileWidth) + 1
  lngHeightY = (F.ScaleHeight \ lngTileHeight) + 1
  For Y = lngHeightY To 0 Step -1
    For X = 0 To lngWidthX
      BitBlt F.hDC, X * lngTileWidth, Y * lngTileHeight, _
        lngTileWidth, lngTileHeight, Pic.hDC, 0, 0, _
        SRCCOPY
    Next X
  Next Y
End Sub
 
' Relief Text [3D]
Public Sub PrintText(F As Form, X As Long, Y As Long, _
  ByVal Text As String, _
  Optional ByVal fName As String = "Times New Roman", _
  Optional ByVal fSize As Integer = 18)
 
  With F
    .FontName = fName
    .FontSize = fSize
    .ForeColor = QBColor(0)
    .CurrentX = X - 1
    .CurrentY = Y - 1
    F.Print Text
 
    .ForeColor = QBColor(15)
    .CurrentX = X + 1
    .CurrentY = Y + 1
    F.Print Text
 
    .ForeColor = QBColor(7)
    .CurrentX = X
    .CurrentY = Y
    F.Print Text
  End With
End Sub

Und hier ein kleines Beispiel, wie Sie die Prozeduren in Ihrem Projekt aufrufen.

Private Sub Form_Load()
  ' Fensterhintergrund setzen
  HintergrundSetzen Me, Picture1
 
  ' 3D-Text
  PrintText Me, 50, 50, "www.Visual-Basic5.de", , 26
  PrintText Me, 65, 150, "www.Visual-Basic5.com", "Arial", 20
End Sub

Dieser Tipp wurde bereits 24.658 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel