Français
Stammtisch & le café

ChooseFont.

 


Beschreibung:

ChooseFont erzeugt une Dialog zur sélection eines Fonts.




Deklaration:

Def @ChooseFont(1) ! COMDLG32.DLL,ChooseFontA




paramètre:

1.paramètre: CHOOSEFONT Struktur ou bien 60 Byte grand Bereichsvariable. =>
-Byte 0-3 = Taille qui Bereichsvariablen dans Bytes
-Byte 4-7 = Handle des Fensters, sur dem qui Dialog erzeugt volonté soll.
-Byte 8-11 = 0, ou bien si chez Byte 20 CF_PRINTERFONTS angegeben wurde, qui Device-Context des Druckers, um dessen verfügbare Fonts trop listen.
-Byte 12-15 = aiguille sur une LOGFONT Struktur (60 Byte großer Bereich), qui Angaben sur den gewählten Font aufnimmt. si chez Byte 20 CF_INITTOLOGFONTSTRUCT angegeben wurde, peux cet Struktur aussi en supplément verwendet volonté, den Dialog trop initialisieren (siehe aussi Rückgabewert).
-Byte 16-19 = si qui Dialog geschlossen wurde, steht ici qui Taille des gewählten Fonts dans 1/10 eines Punktes.
-Bytes 20-23 = Flags, qui cela air et qui initialisation des Dialogs beeinflussen. Flags peut avec | addiert volonté.
$200 = (CF_APPLY) qui Dialog contient une ‘Übernehmen’ Button.
$400 = (CF_ANSIONLY) qui Dialog contient aucun Symbolfonts (pas pour indows95).
$3 = (CF_BOTH) qui Dialog contient Drucker et Bildschirmfonts.
$40000 = (CF_TTONLY) qui Dialog contient seulement Truetype Fonts.
$100 = (CF_EFFECTS) ‚Unterstreichen’, ‚Durchstreichen’ et une Fontfarbe peut gewählt volonté.
$8 = (CF_ENABLEHOOK) Aktiviert qui Hookfunktion de Byte 32.
$10 = (CF_ENABLETEMPLATE) Aktiviert qui Présentation dans Byte 36.
$20 = (CF_ENABLETEMPLATEHANDLE) Aktiviert qui Présentation dans Byte 40.
$4000 = (CF_FIXEDPITCHONLY) seulement Fonts avec gleicher Zeichengröße qui Buchstaben et marque untereinander volonté im Dialog angezeigt.
$10000 = (CF_FORCEFONTEXIST) Fehlermeldung chez pas existierendem Font.
$40 = (CF_INITTOLOGFONTSTRUCT) qui LOGFONT Struktur de Byte 12 wird benutzt à Controls des Dialogs trop initialisieren.
$2000 = (CF_LIMITSIZE) Es volonté seulement Fontgrößen gelistet, qui unterhalb des Wertes de Byte 56 et au-dessus de des Wertes de Byte 52 liegen.
$80000 = (CF_NOFACESEL) c'est aucun Schriftart wählbar.
$800000 = (CF_NOSCRIPTSEL) ‚Scvript’ peux pas ausgewählt volonté.
$100000 = (CF_NOSTYLESEL) ‚Schriftschnitt’ peux pas ausgewählt volonté.
$200000 = (CF_NOSIZESEL) Schriftgröße peux pas ausgewählt volonté.
$1000 = (CF_NOSIMULATIONS) qui ‚Voranzeige’ wird ausgeschaltet.
$800 = (CF_NOVECTORFONTS)
$1000000 = (CF_NOVERTFONTS) seulement horizontal ausgerichtete Fonts volonté gelistet.
$2 = (CF_PRINTERFONTS) Es volonté seulement Druckerfonts gelistet.
$20000 = (CF_SCALABLEONLY) Es volonté seulement skalierbare Fonts gelistet.
$1 = (CF_SCREENFONTS) Es volonté seulement Bildschirmfonts gelistet.
$400 = (CF_SCRIPTSONLY)
$400000 = ( CF_SELECTSCRIPT)
$4 = (CF_SHOWHELP) un Hilfebutton wird angezeigt.
$80 = (CF_USESTYLE) sur Byte 44 est sich qui Adresse eines Buffers avec dem String des ‚Schriftschnitts’ qui gewählt wurde. comme Contribution steht ici qui voreingestellte String des Schriftschnitts. cette Flag läßte alle Inputparameter qui LOGFONT Struktur ungültig volonté, qui den Schriftschnitt spezifizieren.
$8000 = (CF_WYSIWYG) seulement Fonts qui sur dem Drucker et dem Bildschirm disponible sommes volonté gelistet.
-Byte 24-27 = Farbwert qui voreingestellten la couleur pour den Font. Kehrt qui Funktion zurück, steht ici qui gewählte Farbwert.
-Byte 28-31 = place pour données, qui qui Anwendung à qui Hookfunktion sendet (peux 0 son).
-Byte 32-35 = Adresse einer Hookfunktion, qui Messages des Dialoges abfängt (peux 0 son – siehe Flags à Byte 20).
-Byte 36-39 = Adresse eines Cordes, qui une Présentation pour den Dialog angibt (peux 0 son – siehe Flags à Byte 20).
-Byte 40-43 = Handle sur une Présentation pour den Dialog (peux 0 son – siehe Flags à Byte 20).
-Byte 44-47 = Adresse einer Bereichsvariablen, qui une String zur initialisation des ‚Schriftschnittcontrols’ contient (peux 0 son – siehe Flags à Byte 20).
-Byte 48-49 = Gibt qui Art des ausgewählten Fonts à.=>
$100 = (BOLD_FONTTYPE) fett
$200 = (ITALIC_FONTTYPE) kursiv
$4000 = (PRINTER_FONTTYPE) Druckerschriftart
$400 = (REGULAR_FONTTYPE) standard
$2000 = (SCREEN_FONTTYPE) Bildschirmschriftart
$8000 = (SIMULATED_FONTTYPE) simuliert
-Byte 50-51 = 0
-Byte 52-55 = Minimal zulässige Fontgröße (peux 0 son – siehe Flags à Byte 20).
-Byte 56-59 = Maximal zulässige Fontgröße (peux 0 son – siehe Flags à Byte 20).



Rückgabewert:

1 chez Erfolg, 0 chez Misserfolg. qui Angaben trop dem gewählten Font volonté sous anderem dans qui 60 Byte grand LOGFONT Struktur abgelegt. comme Contribution peux cet Struktur aussi zur initialisation des Dialoges genutzt volonté. =>
-Byte 0-3 = Hauteur des Font. Steht ici 0, wird un Defaultwert pris. Berücksichtigt wird qui Absolutwert sans Vorzeichen.
-Byte 4-7 = Breite des Font. Steht ici 0, wird un Defaultwert pris. Berücksichtigt wird qui Absolutwert sans Vorzeichen.
-Byte 8-11 = Gibt den Winkel entre dem Neigungsvektor et qui X-Ahse des Geräts dans zehntel Grad à.
-Byte 12-15 = Gibt den Winkel entre qui Grundachse eines Zeichens et qui X-Achse des Gerätes dans zehntel Grad à.
-Byte 16-19 = Wert entre 0 et 1000, qui qui Schriftdicke des Fonts beschreibt.
0 = (FW_DONTCARE) indéterminé
100 = (FW_THIN) dünn
200 = (FW_EXTRALIGHT/ FW_ULTRALIGHT)
300 = (FW_LIGHT)
400 = (FW_NORMAL/ FW_REGULAR) normal
500 = (FW_MEDIUM)
600 = (FW_SEMIBOLD/ FW_DEMIBOLD)
700 = (FW_BOLD) fett
800 = (FW_EXTRABOLD/ FW_ULTRABOLD)
900 = (FW_HEAVY/ FW_BLACK)
-Byte 20 = 1 pour kursiv
-Byte 21 = 1 pour unterstrichen
-Byte 22 = 1 pour durchgestrichen
-Byte 23 = Flag pour den Buchstabensatz.=>
$0 = (ANSI_CHARSET)
$1 = (DEFAULT_CHARSET)
$2 = (SYMBOL_CHARSET)
$80 = (SHIFTJIS_CHARSET)
$86 = (GB2312_CHARSET)
$81 = (HANGEUL_CHARSET)
$88 = (CHINESEBIG5_CHARSET)
$FF = (OEM_CHARSET)
$82 = (JOHAB_CHARSET)
$B1 = (HEBREW_CHARSET)
$B2 = (ARABIC_CHARSET)
$A1 = (GREEK_CHARSET)
$A2 = (TURKISH_CHARSET)
$DE = (THAI_CHARSET)
$EE = (EASTEUROPE_CHARSET)
$CC = (RUSSIAN_CHARSET)
$4D = (MAC_CHARSET)
$BA = (BALTIC_CHARSET)
-Byte 24 = qui gewünschte Ausgabegenauigkeit.=>
$0 = OUT_DEFAULT_PRECIS) Defaultverhalten des Font-Mappers.
$5 = (OUT_DEVICE_PRECIS) qui Font-Mapper nimmt une Geräte-Font, si mehre Fonts avec gleichem Namen vorhanden sommes.
$8 = (OUT_OUTLINE_PRECIS) qui Font-Mapper wählt Truetype Font ou bien une anderen Outline-Font.
$6 = (OUT_RASTER_PRECIS) qui Font-Mapper nimmt une Raster-Font, si mehre Fonts avec gleichem Namen vorhanden sommes.
$7 =(OUT_TT_ONLY_PRECIS) qui Font-Maper wählt une Truetype Font.
$4 = (OUT_TT_PRECIS) qui Font-Maper wählt une Truetype Font si mehrer Fonts avec gleichem Namen vorhanden sommes.
-Byte 25 = un Flag pour qui Anpassungsgenauigkeit. cette Wert défini, comment marque zugeschnitten volonté, qui außerhalb des Clipping-Bereichs liegen.
$0 = (CLIP_DEFAULT_PRECIS)
$80 = (CLIP_EMBEDDED)
$10 = (CLIP_LH_ANGLES)
-Byte 26 = un Flag, pour qui gewünschte Ausgabequalität.
$0 = (DEFAULT_QUALITY) cela Erscheinungsbild qui Schrift écoutes aucun rôle.
$1 = (DRAFT_QUALITY) cela Erscheinungsbild qui Schrift ist moins important comme chez PROOF_QUALITY.
$2 = (PROOF_QUALITY) qui Zeichenqualität qui Schrift ist wichtiger comme qui exakte Übereinstimmung qui Attribute.
-Byte 27 = un Flag pour den ‚Durchschuss’ qui Schriftart =>
$0 = (DEFAULT_PITCH)
$1 = (FIXED_PITCH)
$2 = (VARIABLE_PITCH)
peut-être. dans Addition (|) avec einem qui folgenden Flags pour qui ‘Fontfamilie’:=>
$0 = (FF_DONTCARE)
$50 = (FF_DECORATIVE)
$0 = (FF_MODERN)
$10 = (FF_ROMAN)
$40 = (FF_SCRIPT)
$20 = (FF_SWISS)
Byte 28-59 = String avec dem Namen des gewählten Fonts, ou bien chez qui initialisation qui nom qui Voreingestellten Fonts.


Beispiele:

KompilierenMarqueSéparation
Def @ChooseFont(1) ! "COMDLG32.DLL","ChooseFontA"
Declare Choosefont#,LOGFONT#,BUF#,BUF&,FETT%,Kursiv%,Unterstrichen%
Declare Font&
SetTruecolor 1
Windowstyle 31
Windowtitle "Fontauswahldialog"
Window 0,0-640,440
DIM LOGFONT#,60
DIM Choosefont#,60
DIM BUF#,32
Clear BUF#
String buf#,0="Standard"
Clear Choosefont#
Long Choosefont#,0=60
Long Choosefont#,4=%hwnd
Long Choosefont#,12=LOGFONT#
Long Choosefont#,20=$800 | $20000 | $400 | $80 | $100 | $40000 | $1 | $40 + $800000
Long Choosefont#,44=BUF#
LET BUF&=BUF#
Clear Logfont#
Long LOGFONT#,0=20
Long Logfont#,4=0
Long Logfont#,12=200
Long Logfont#,16=400
Byte Logfont#,20=1
Byte Logfont#,26=1
String Logfont#,28="Times New Roman"
@ChooseFont(Choosefont#)

IF @INSTR("KURSIV",@UPPER$(@String$(Buf#,0)))>0

    LET KURSIV%=1

endif

IF @INSTR("FETT",@UPPER$(@String$(Buf#,0)))>0

    LET FETT%=1

ENDIF

IF @Byte(LogFont#,21)=1

    LET Unterstrichen%=1

endif

IF @Byte(LogFont#,22)=1

    @Messagebox("Durchstreichen will ich heute nicht!","Hinweis",64)

endif

ADDSTRING "Font="+@STRING$(LOGFONT#,28)
ADDSTRING "Höhe="+@STR$(@LONG(Logfont#,0))
ADDSTRING "Breite="+@STR$(@LONG(Logfont#,4))
ADDSTRING "Fett="+@STR$(Fett%)
ADDSTRING "Kursiv="+@STR$(Kursiv%)
ADDSTRING "Unterstrichen="+@STR$(Unterstrichen%)
ADDSTRING "Farbe="+@STR$(@Long(Choosefont#,24))
USEFONT @STRING$(LOGFONT#,28),@ABS(@LONG(Logfont#,0)),@ABS(@Long(Logfont#,4)),Fett%,Kursiv%,Unterstrichen%
Textcolor @Long(Choosefont#,24),@RGB(255,255,255)
Drawtext 0,0,"Hallo"
@LIstbox$("Das wurde gewählt:",1)
DISPOSE LOGFONT#
DISPOSE CHOOSEFONT#
Dispose buf#

While 0=0

    Waitinputclass=s4 href='./../../funktionsreferenzen/XProfan/Wend/'>Wend


[keywords:008d4ad7f3]
Font auswählen sélection Schriftart Schriftfarbe kursiv fett unterstrichen
[/keywords:008d4ad7f3]
 
22.04.2005  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.703 Views

Untitledvor 0 min.
Peter Max Müller13.05.2015
Julian Schmidt31.03.2011

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie