Ciao FW's
devo rendere interattiva a scelta di font per la stampa, non riesco a verificare le fasi di annullamento da parte dell'utente, infatti se seleziona un qualsiasi font e poi annulla nell'array ritorna l'impostazione effettuata.
Inoltre non mi sembra funzionare bene l'impostazione della dimensione, imposto 12 e visualizza 9, poi seleziono 12 e ritorna 16 ????
Uso ancora la versione 2.5 forse ci sono stati degi aggiornamenti...
Mi confermate?
Grazie per le risposte.
Esempietto:
#define LF_HEIGHT 1
#define LF_WIDTH 2
#define LF_ESCAPEMENT 3
#define LF_ORIENTATION 4
#define LF_WEIGHT 5
#define LF_ITALIC 6
#define LF_UNDERLINE 7
#define LF_STRIKEOUT 8
#define LF_CHARSET 9
#define LF_OUTPRECISION 10
#define LF_CLIPPRECISION 11
#define LF_QUALITY 12
#define LF_PITCHANDFAMILY 13
#define LF_FACENAME 14
#define FW_NORMAL 400
#define FW_BOLD 700
//------------------------------------------------------------------------------
FUNCTION SelectFont( )
LOCAL aFont[14], oIni, aOldFont, cFont
INI oIni FILE DirPrg() + "\" + ExeName() + ".INI"
GET cFont SECTION "Stampanti" ENTRY "FontInStampa" OF oIni DEFAULT "Arial| 0| -12| 0| 0| 0| 0| 0"
ENDINI
MsgInfo( cFont )
aFont[LF_FACENAME] := ALLTRIM(StrToken(cFont,1,"|" ))
aFont[LF_WIDTH] := VAL( StrToken( cFont, 2, "|" ))
aFont[LF_HEIGHT] := VAL( StrToken( cFont, 3, "|" ))
aFont[LF_WEIGHT] := IF( VAL( StrToken( cFont, 4, "|" )) > 0, FW_BOLD, FW_NORMAL )
aFont[LF_ESCAPEMENT] := VAL( StrToken( cFont, 5, "|" ))
aFont[LF_ITALIC] := VAL( StrToken( cFont, 6, "|" )) > 1
aFont[LF_UNDERLINE] := VAL( StrToken( cFont, 7, "|" )) > 1
aOldFont := AClone( aFont )
aFont := ChooseFont( aFont )
cFont := aFont[LF_FACENAME] + "|" +;
cValToChar( aFont[LF_WIDTH] ) + "|" +;
cValToChar( aFont[LF_HEIGHT] ) + "|" +;
cValToChar( aFont[LF_WEIGHT] ) + "|" +;
cValToChar( aFont[LF_ESCAPEMENT] ) + "|" +;
cValToChar( aFont[LF_ITALIC] ) + "|" +;
cValToChar( aFont[LF_UNDERLINE] )
// Test in uscita
MsgInfo( cFont )
return If( ! Empty( aFont[ LF_FACENAME ] ), aFont, aOldFont )
//------------------------------------------------------------------------------