Español
Fuente/ Codesnippets

Choosefont Diálogo

 

Uwe
''Pascal''
Niemeier
Hi Personas!

Hier una Snippet de una aktuellen Projekt: Ein Diálogo a Auswahl uno Schriftart.
KompilierenMarcaSeparación
window 400,400
 $H Windows.ph
 $H Messages.ph
usermessages 16
var Ini$="X:Test.ini"************************* Pfad bitte anpassen!

subproc rtf.SetColor------------------------------------rtf.SetColor

    parameters Edit&,Color&
    declare rtf#:dim rtf#,60--CHARFORMAT
    long rtf#,0=60,$40000000,0,0,0,Color&
    sendmessage(Edit&,1092,0,rtf#)-EM_SETCHARFORMAT
    dispose rtf#
    endproc-------------------------------------------------------------

    proc ChooseFont-------------------------------------------ChooseFont

        parameters Log#
        declare a#:dim a#,60--CHOOSEFONT
        long a#,0=60,%hwnd,0,Log#,0,$541,long(Log#,60)
        var Size%=long(Log#,0)
        long b#,0=Size%*~GetDeviceCaps(%hdc,~LOGPIXELSY)/108
        var Ok&=external("comdlg32","ChooseFontA",a#)
        long Log#,0=if(Ok&,long(a#,16)*0.15,Size%)
        long Log#,60=long(a#,24)
        dispose a#
        return Ok&
        endproc-------------------------------------------------------------
        declare b#:dim b#,60+4--LOGFONT + Textfarbe
        var Edit&=create("RichEdit",%hwnd,"RichEdit
        LaberLaber",10,50,300,100)
        var Result&=~GetPrivateProfileStruct("Config","Font",b#,64,addr(Ini$))

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

            long b#,0=18----------Height (im Dialog angezeigte Größe * 1.5)
            long b#,16=0----------Bold (gesetzt: 700)
            byte b#,20=1,1,0------Italic, Underline, Strikeout
            string b#,28="Arial"--FontName (max. 32 Bytes)
            long b#,60=128--------Farbe

        endif

        var Font&=~CreateFontIndirect(b#)
        setfont Edit&,Font&
        var Color&=long(b#,60)
        rtf("SetColor",Edit&,Color&)

        while 1

            waitinput
            case %umessage=16:break
            Result&=ChooseFont(b#)

            if Result&

                deleteobject Font&
                Font&=~CreateFontIndirect(b#)
                setfont Edit&,Font&
                Color&=long(b#,60)
                rtf("SetColor",Edit&,Color&)

            endif

        endwhile

        deleteobject Font&
        ~WritePrivateProfileStruct("Config","Font",b#,64,addrs2>(Ini$))

Nach Bestätigen des Dialoges se el daran übergebene LOGFONT-Struktur aktualisiert;
lo se entonces por API direkt el Font generiert y una SubProc el Farbe en el
RichEdit gesetzt.
En Beenden se esta Struktur samt angehängter Farbe direkt en un Ini geschrieben
y beim nächsten Start otra vez ausgelesen, sodaß Font y Farbe inmediatamente otra vez a
Disposición posición.

Felices Fiestas euch allen!
Pascal
 
23.12.2009  
 



Hehe muy nett!
 
23.12.2009  
 




Frank
Abbing
Funktioniert.

Yo bastle gerade qué Eigenes, porque Yo inmediatamente una Texteingabe dazu necesidad: [...] 
 
23.12.2009  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.386 Views

Untitledvor 0 min.
E.T.25.06.2023
RudiB.11.04.2022
rquindt01.05.2018
Andre Rohland28.12.2014

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie