vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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
Wieso, da ist doch die Lösung  
Autor: unbekannt
Datum: 26.06.02 20:19

Option Explicit
Private Type GRADIENT_TRIANGLE
    Vertex1 As Long
    Vertex2 As Long
    Vertex3 As Long
End Type
 
Private Type TRIVERTEX
    X As Long
    Y As Long
    Red As Integer 
    Green As Integer 
    Blue As Integer
    Alpha As Integer 
End Type
 
Private Type GRADIENT_RECT
    UpperLeft As Long  
    LowerRight As Long 
End Type
 
Const GRADIENT_FILL_RECT_H As Long = &H0 
Const GRADIENT_FILL_RECT_V  As Long = &H1
Const GRADIENT_FILL_TRIANGLE As Long = &H2 
 
Private Declare Function GradientFillTriangle Lib "msimg32" _
Alias "GradientFill" (ByVal hDC As Long, pVertex As TRIVERTEX, _
ByVal dwNumVertex As Long, pMesh As GRADIENT_TRIANGLE, ByVal dwNumMesh As Long, _
ByVal dwMode As Long) As Long
 
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As _
  Long, ByVal Y As Long) As Long
 
Private Sub Form_Load()
    Dim vert(4) As TRIVERTEX
    Dim gTRi(1) As GRADIENT_TRIANGLE
    ScaleMode = vbPixels
    AutoRedraw = True
    Move Left, Top, 3945, 4230
    vert(0).X = 0
    vert(0).Y = 0
    vert(0).Red = -256
    vert(0).Green = 0&
    vert(0).Blue = 0&
    vert(0).Alpha = 0&
 
    vert(1).X = 255
    vert(1).Y = 0
    vert(1).Red = 0&
    vert(1).Green = -256
    vert(1).Blue = 0&
    vert(1).Alpha = 0&
 
    vert(2).X = 256
    vert(2).Y = 256
    vert(2).Red = 0&
    vert(2).Green = 0&
    vert(2).Blue = -256
    vert(2).Alpha = 0&
 
    vert(3).X = 0
    vert(3).Y = 256
    vert(3).Red = -256
    vert(3).Green = -256
    vert(3).Blue = -256
    vert(3).Alpha = 0&
 
    gTRi(0).Vertex1 = 0
    gTRi(0).Vertex2 = 1
    gTRi(0).Vertex3 = 2
 
    gTRi(1).Vertex1 = 0
    gTRi(1).Vertex2 = 2
    gTRi(1).Vertex3 = 3
    GradientFillTriangle hDC, vert(0), 4, gTRi(0), 2, GRADIENT_FILL_TRIANGLE
    Form1.Show
End Sub
 
Private Function RgbParse(hDC As Long, X As Single, Y As Single) As String
    Dim ColorMe As Long
    ColorMe = GetPixel(hDC, X, Y)
    Dim rgbRed, rgbGreen, rgbBlue As Long
    rgbRed = Abs(ColorMe Mod &H100)
    ColorMe = Abs(ColorMe  &H100)
    rgbGreen = Abs(ColorMe Mod &H100)
    ColorMe = Abs(ColorMe  &H100)
    rgbBlue = Abs(ColorMe Mod &H100)
    ColorMe = RGB(rgbRed, rgbGreen, rgbBlue)
    RgbParse = "RGB(" & rgbRed & ", " & rgbGreen & ", " & rgbBlue & ")"
End Function
 
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y _
  As Single)
    Caption = RgbParse(hDC, X, Y)
End Sub
Ziehe mal das in eine Form.

cu
Lordchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Gibt es ein Color Picker Control für VB6?160GrooveMeister25.06.02 21:24
Re: Gibt es ein Color Picker Control für VB6?638unbekannt25.06.02 22:03
Re: Gibt es ein Color Picker Control für VB6?63GrooveMeister26.06.02 20:09
Wieso, da ist doch die Lösung 723unbekannt26.06.02 20:19
Prädikat: sehr empfehlenswert o.T.573ModeratorMoni26.06.02 20:24
Sehr beeindruckend - Vielen Dank55GrooveMeister27.06.02 09:52
Noch ne kleine Frage dazu54GrooveMeister27.06.02 14:35
Re: Noch ne kleine Frage dazu518unbekannt27.06.02 14:54
Und schon haben wir's 569unbekannt27.06.02 14:58
Toll - wie immer Super Service50GrooveMeister27.06.02 15:19

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