Italia
Stammtisch & Caffè

ChooseColor.

 


Beschreibung:

ChooseColor zeigt eine Farbauswahldialog an und liefert die ausgewählte Farbe zurück.




Deklaration:

Def ChooseColor(1) !COMDLG32,ChooseColorA




Parameter:

1.Parameter: Struktur oder 32 Byte Bereichsvariable =>
Byte 0-3 = Länge des Bereiches in Bytes als LongInt.
Byte 4-7 = Das Handle des Fensters, auf dem der Dialog erzeugt werden soll.
Byte 8-11 = Wenn als Flag $40 gesetzt wurde, steht hier das Handle des Speicherobjektes, das die neue Dialogmaske enthält. Wenn als Flag $20 gesetzt wurde, steht hier das Handle des Moduls mit der Dialogmaske mit dem Dialogtitel, der bei Byte 28 festgelegt wird.
Byte 12-15 = Als Input ein Farbwert, der standardmäßig ausgewählt wird. Kehrt die Funktion zurück, steht hier der Farbwert der gewählten Farbe.
Byte 16-19 = Zeiger auf eine 64 Byte grande Bereichsvariable, die als LongIntwerte die Farbwerte der Farbauswahlboxen enthält.
Byte 20-23 = Flags zur Initialisierung des Dialoges =>
$100 = Anwender kann alle Farben wählen
$10 = Notizie an den Dialog können mit der Prozedur an Byte 28 abgefangen werden.
$20 = Neue Dialogbox Maske wird benutzt und è sich in Modul an Byte 8. Der Name steht an Byte 28.
$40 = Benutzte Maske per den Dialogo con dem Handle in Byte 8.
$2 = Vollauswahl aller Farben Mostra.
$4 = Deaktiviert den Button zum Öffnen der Dialogbox-Erweiterung.
$1 = Vorgabe einer Standard-Farbe.
$8 = Aiuto-Button Mostra.
$80 = Nur Grundfarben auswählbar.



Rückgabewert:

Wenn User OK geklickt hat, ungleich 0. Sonst 0.


Beispiele:

KompilierenMarkierenSeparieren
Def ChooseColor(1) !"COMDLG32","ChooseColorA"
Declare ChooseColor#,CustomColors#,Colors&[16],Button&,OK&

Proc ColorDialog

    Parameters color&,options&,inifile$,Result&,Name$
    Declare i%
    Dim ChooseColor#,36
    Dim CustomColors#,64
    SetTrueColor 1

    While lt(i%,16)

        Long CustomColors#,mul(i%,4)= Colors&[i%]
        Inc i%

    Wend

    Long ChooseColor#,0=36
    Long ChooseColor#,4=GetActiveWindow()
    Long ChooseColor#,8=0
    Long ChooseColor#,12=RGB(192,192,192)
    Long ChooseColor#,16=CustomColors#
    Long ChooseColor#,20=3 CC_RGBINIT(1) + CC_FULLOPEN(2)
    Long ChooseColor#,24=0
    Long ChooseColor#,28=0
    Let Name$="Fensterfarbe wählen!"
    Long ChooseColor#,32=0
    LET OK&=@ChooseColor(ChooseColor#)

    If OK&<>0

        Let i%=0

        While lt(i%,16)

            Let Colors&[i%]=long(CustomColors#,mul(i%,4))
            Inc i%

        Wend

    EndIf

    Let Result&=@LONG(ChooseColor#,12)
    Dispose ChooseColor#
    Dispose CustomColors#
    Return Result&

EndProc

Windowstyle 31
WindowTitle "Farbe auswählen"
Window 0,0-640,440
Settruecolor 1
Let Button&=@Createbutton(%HWND,"Farbe wählen",20,300,200,30)

While 0=0

    WaitInput

    IF @Getfocus(Button&)

        ColorDialog
        Case OK&<>0 : CLS @&(0)

    endif

=s4 href='./../../function-references/xprofan/wend/'>Wend


[keywords:aa38da9c3b]
Farbe Dialog Farben auswählen bestimmen Farbauswahl Farbauswahldialog
[/keywords:aa38da9c3b]
 
07.03.2005  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.816 Views

Untitledvor 0 min.
RudiB.04.11.2021

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie