Buchempfehlung
Visual Basic 6 Kochbuch
Visual Basic 6 Kochbuch
Viele praktische Tipps zum Programmieren mit Visual Basic 6, die sich oft auch auf FB übertragen lassen. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Windows GUI

CommonDialog zur Farbauswahl (ColorPicker)

Lizenz:Erster Autor:Letzte Bearbeitung:
FBPSLAdministratorSebastian 16.12.2015

CommonDialog Farbauswahl

Windows bietet von Haus bereits einen praktischen Farb-Auswahldialog (siehe Abb. oben), der sich auch für eigene FreeBASIC-Programme benutzen lässt. Wie man den Nutzer eine Farbe auswählen lassen kann, zeigt folgendes Code-Beispiel:

#define WIN_INCLUDEALL
#include "windows.bi"

DIM AS CHOOSECOLOR PTR cc        'common dialog box structure
DIM AS UINTEGER PTR acrCustClr   'custom colors (16x4 bytes) -> Speicher dynamisch anfordern
DIM AS HWND hwnd                 'owner window
DIM AS HBRUSH hbrush             'brush handle
DIM AS UINTEGER rgbCurrent       'initial color selection

rgbCurrent = &HFF00FF  'Rosa als Voreinstellung

cc = CAllocate(sizeof(CHOOSECOLOR))
acrCustClr = CAllocate(64)

cc->lStructSize = Cast(UInteger,sizeof(CHOOSECOLOR))
cc->hwndOwner = hwnd
cc->lpCustColors = CAST(LPDWORD, acrCustClr)
cc->rgbResult = rgbCurrent
cc->Flags = CC_FULLOPEN Or CC_RGBINIT

if (ChooseColor(cc) = 1) Then
    hbrush = CreateSolidBrush(cc->rgbResult)
    rgbCurrent = cc->rgbResult
    Print "OK, alles klar! Gewaehlter Farbwert (hexadezimal): "; HEX(rgbCurrent, 8)
Else
    Print "Fehler: Aktion durch Benutzer abgebrochen oder Aufruf fehlgeschlagen."
End If

Sleep
End

Weitere Informationen und ein entsprechender Code für C finden sich in der Externer Link!MSDN-Library.


Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 23.09.2011 von AdministratorSebastian angelegt.
  • Die aktuellste Version wurde am 16.12.2015 von MitgliedLothar Schirm gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen