Deutsch
Quelltexte/ Codesnippets

Choosecolor2 Dialog

 

Uwe
''Pascal''
Niemeier
Hi Leute!

Noch ein aktuelles Snippet: Ein Dialog zur Farbauswahl.
KompilierenMarkierenSeparieren
window 400,400
 $H Windows.ph
usermessages 16
var Ini$="X:Test.ini"************************* Pfad bitte anpassen!

proc ChooseColor2---------------------------------------ChooseColor2

    parameters rgb#
    declare a#:dim a#,36--CHOOSECOLOR
    var Color&=long(rgb#,64)
    long a#,0=36,%hwnd,0,Color&,rgb#,11
    Color&=if(external("comdlg32","ChooseColorA",a#),long(a#,12),-1)
    case Color&>=0:long rgb#,64=Color&
    dispose a#
    return Color&
    endproc-------------------------------------------------------------
    declare b#:dim b#,64+4--Array für 16 benutzerdefinierte Farben + gewählte Farbe
    var Result&=~GetPrivateProfileStruct("Config","Color",b#,68,addr(Ini$))

    ifnot Result&----------Vorgaben, falls Ini noch nicht vorhanden

        long b#,0=$FFDDDD,$DDFFDD,$DDDDFF,$FFFFDD,$FFDDFF,$DDFFFF--Definierte Farben
        long b#,64=$F0F0F0--Aktuelle Farbe

    endif

    cls long(b#,64)--zuletzt gewählte Farbe, gelesen aus Ini

    while 1

        waitinput
        case %umessage=16:break
        Result&=ChooseColor2(b#)
        case Result&>=0:cls Result&

    endwhile

    ~WritePrivateProfileStruct("Config","Color",b#,68,addr(Ini$))

Im Gegensatz zum profanen ChooseColor  wird hier eine Bereichsvariable übergeben,
in der als LongInts 16 Farben für die "Benutzerdefinierte Farben"-Felder + die vorgewählte Farbe abgelegt sind.
Bei Bestätigen wird dieses Array aktualisiert; die gewählte Farbe wird zusätzlich direkt zurückgegeben.
Bei Beenden wird das Array mit allen Farben per API in eine Ini geschrieben,
damit es beim nächsten Start wieder ausgelesen werden kann; alle Farben stehen dann wieder zur Verfügung

PS: Wenn man a# und b# zu Beginn des Programmes global "zur allgemeinen Verwendung" deklariert/dimensioniert,
wird das Ganze noch etwas einfacher

Frohes Fest euch allen!
Pascal
 
23.12.2009  
 




Frank
Abbing
Hi,

ich erhalte leider nur ein leeres Fenster.
 
23.12.2009  
 




Frank
Abbing
Ah, Extraklick nötig... dann gehts.
 
23.12.2009  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.243 Betrachtungen

Unbenanntvor 0 min.
RudiB.19.04.2022
Matzbub29.12.2018
rquindt28.11.2017
Jochen Roxlau15.04.2015

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Frank Abbing (2x)
Uwe ''Pascal'' Niemeier (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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