Code-Beispiel
CommonDialog zur Farbauswahl (ColorPicker)
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
FBPSL | Sebastian | 16.12.2015 |
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 MSDN-Library.
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|
|