vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Status Bar 
Autor: --Florian--
Datum: 28.07.03 22:06

Hi Puma,

So geht es halbwegs:

[color=darkgreen]' zuerst die API-Deklarationen
[color=blue]Private Declare Function[/color] GetDC [color=blue]Lib[/color] _
  "user32" _
  ([color=blue]ByVal[/color] hwnd [color=blue]As Long[/color]) [color=blue]As _
  Long[/color]
 
[color=blue]Private Declare Function[/color] CreateSolidBrush _
  [color=blue]Lib[/color] "gdi32.dll" _
  ([color=blue]ByVal[/color] crColor [color=blue]As Long[/color]) _
  [color=blue]As Long[/color]
 
[color=blue]Private Declare Function[/color] ExtFloodFill _
  [color=blue]Lib[/color] "gdi32.dll" _
  ([color=blue]ByVal[/color] hdc [color=blue]As Long[/color], ByVal nXStart _
  [color=blue]As Long[/color], _
  [color=blue]ByVal[/color] nYStart [color=blue]As Long[/color], ByVal crColor _
  [color=blue]As Long[/color], _
  [color=blue]ByVal[/color] fuFillType [color=blue]As Long[/color]) _
  [color=blue]As Long[/color]
 
[color=blue]Private Declare Function[/color] SelectObject _
  [color=blue]Lib[/color] "gdi32.dll" _
  ([color=blue]ByVal[/color] hdc [color=blue]As Long[/color], ByVal hObject _
  [color=blue]As Long[/color]) [color=blue]As Long[/color]
 
[color=blue]Private Declare Function[/color] GetPixel [color=blue]Lib[/color] _
  "gdi32" _
  ([color=blue]ByVal[/color] hdc [color=blue]As Long[/color], ByVal X _
  [color=blue]As Long[/color], [color=blue]ByVal[/color] y [color=blue]As _
  Long[/color]) [color=blue]As Long[/color]
 
[color=blue]Private Declare Function[/color] SendMessage _
  [color=blue]Lib[/color] "user32" [color=blue]Alias[/color] _
   "SendMessageA" _
   ([color=blue]ByVal[/color] hwnd [color=blue]As Long[/color], ByVal wMsg _
   [color=blue]As Long[/color], _
    [color=blue]ByVal[/color] wParam [color=blue]As Long[/color], lParam _
    [color=blue]As Any[/color]) [color=blue]As Long[/color]
 
[color=blue]Private Declare Function[/color] DeleteObject _
  [color=blue]Lib[/color] "gdi32" _
  ([color=blue]ByVal[/color] hObject [color=blue]As Long[/color]) _
  [color=blue]As Long[/color]
 
[color=blue]Private[/color] hDCTab [color=blue]As Long[/color]
[color=blue]Private[/color] hBrush [color=blue]As Long[/color]
[color=blue]Private[/color] MergeCol [color=blue]As Long[/color]
[color=blue]Private[/color] TabCols(1 [color=blue]To[/color] 3) [color=blue]As _
  Long[/color]
 
[color=blue]Private Const[/color] FLOODFILLSURFACE = 1
[color=blue]Private Const[/color] TCM_FIRST = &H1300
[color=blue]Private Const[/color] TCM_GETITEMRECT = (TCM_FIRST + 10)
 
[color=blue]Private Type[/color] RECT
  Left [color=blue]As Long[/color]
  Top [color=blue]As Long[/color]
  Right [color=blue]As Long[/color]
  Bottom [color=blue]As Long[/color]
[color=blue]End Type[/color]
 
[color=blue]Private Sub[/color] Form_Load()
 
  [color=darkgreen]' TabColors definieren
  TabCols(1) = RGB(0, 0, 255)
 
 
  [color=darkgreen]' DC-Handler für TabStrip ermitteln
  hDCTab = GetDC(StatusBar1.hwnd)
 
  [color=darkgreen]' Damit das Paint-Event ausgelöst wird
  Me.AutoRedraw = [color=blue]False[/color]
 
 
 
[color=blue]End Sub[/color]
 
[color=blue]Private Sub[/color] SetTabColors([color=blue]ByVal[/color] lCol _
  [color=blue]As Long[/color], [color=blue]ByVal[/color] X [color=blue]As _
  Long[/color], [color=blue]ByVal[/color] y [color=blue]As Long[/color])
  [color=blue]Dim[/color] hOldBrush [color=blue]As Long[/color]
  [color=blue]Dim[/color] RVal [color=blue]As Long[/color]
  [color=blue]Dim[/color] bkColor [color=blue]As Long[/color]
 
  MergeCol = GetPixel(hDCTab, X, y)
 
  [color=darkgreen]' Neuen Solid Pinsel erstellen
  hBrush = CreateSolidBrush(lCol)
 
  [color=darkgreen]' Neuen Pinsel zum aktuellen Pinsel deklarieren
  hOldBrush = SelectObject(hDCTab, hBrush)
 
  [color=darkgreen]' Mit neuer Farbe füllen
  RVal = ExtFloodFill(hDCTab, X, y, MergeCol, FLOODFILLSURFACE)
 
  [color=darkgreen]' Ursprünglichen Brush wiederherstellen
  RVal = SelectObject(hDCTab, hOldBrush)
 
  DeleteObject hBrush
[color=blue]End Sub[/color]
 
 
[color=blue]Private Sub[/color] Timer1_Timer()
  [color=blue]Dim[/color] i [color=blue]As Integer[/color]
  [color=blue]Dim[/color] r [color=blue]As[/color] RECT
 
  [color=darkgreen]'StatusBar1.Refresh
 
    SendMessage StatusBar1.hwnd, TCM_GETITEMRECT, i, r
    SetTabColors TabCols(i + 1), r.Left + 5, r.Top + 5
[color=blue]End Sub[/color]
Nicht beschweren wenn die es nicht ganz Funktioniert.
Vielleicht kann Dieter da weiter helfen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Status Bar107Puma28.07.03 15:41
Re: Status Bar355ModeratorDieter28.07.03 18:32
Re: Status Bar420--Florian--28.07.03 22:06

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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