Newsgroup: it.comp.lang.delphi
Titolo: Caratteri grandi maledetti

Siccome č parecchio tempo (da D2) che non mi preccupo piů dei famigerati
"caratteri grandi" di windows, vorrei sapere voi come li gestite.
Mi spiego meglio, io sviluppo con i caratteri "normali" (96 dpi), e faccio
uso massiccio di anchor (align poco) e font di dimensione standard (8).
Quando la mia applicazione gira su sistemi con i caratteri grandi (120 dpi)
sballa che č un piacere: bottoni che non si vedono piů, panel che sforano
dallo schermo... voi cosa fate per risolvere il problema? O il problema non
sussiste e sono io che sbaglio?
--
Jax
Journeying Artificial Xenomorph

voi cosa fate per risolvere il problema? 
Personalmente, credo che non ci sia limite alla fantasia degli utenti.
Non so a cosa possa mai servire avere dei caratteri 120 dpi (a meno di
handicap da tenere in seria considerazione).   
Io progetto le maschere per risoluzioni 800x600 a 96dpi (che č la
configurazione standard).  Cerco di tenere in considerazione quella
che puň essere la configurazione dei colori (quindi, anche se il mio
PC ha la configurazione "Windows standard", evito di usare clSilver ed
uso clBtnFace), perché ognuno adatta i colori rispetto ai propri gusti
e, soprattutto, rispetto a quanto tempo passa davanti allo schermo.
Come dicevo prima, ben diverso č il caso in cui il tuo utente abbia un
handicap alla vista o di altro tipo (e a me č capitato) per cui
bisogna progettare la maschera perché sia facilmente accessibile (e
non č un problema da poco).  
In ogni caso č una configurazione specifica, mirata sull'esigenze
della persona che lavora col programma e molto spesso concordata con
essa.
-- 
Andrea Laforgia - a.laforgia(at)
libero.it
"There are three kinds of people in this world; 
 those who are good at maths and those who aren't".

 handicap da tenere in seria considerazione).   
AUAUAU io lavoro a 1280*960 su un 17" e non ci vedo nulla di male nei miei 
120dpi... (e credo pure di vederci bene :P)
cmq in effetti qualche applicazione da me viene leggermente "sballata" per 
questo, ma sono poche...
Saluti
Paolo
 

120dpi... (e credo pure di vederci bene :P)
Non è quella che viene considerata la configurazione standard.
800x600 dovrebbe essere la modalità più diffusa.


 configurazione standard).
Sì, anch'io faccio la stessa cosa, colori inclusi - una delle quisquilie che
mi ha fatto preferire Delphi a VB è appunto che già nella 1 c'erano i colori
di sistema :)
Più che altro, non capisco perché un'applicazione (soprattutto quelle
delphi) sballa notevolmente quando l'utente usa i caratteri grandi.
Possibile che non ci sia un modo per evitare questo problema????
Ci sono applicazioni che, caratteri grandi o no, vanno benissimo...


Ciao Jax,
se ti può consolare ho lo stesso problema anch'io.
I miei SW sono tutti a 1024x768, vorrei farli a 800x600, ma poi i clienti
voglio mille indicazioni sulle videate e così mi tocca rimpicciolire.
Per programmare uso un monitor a 21' ed effettivamente quando carico i
programmi su PC con monitor a 15' tutto diventa veramente piccolo.
Alcuni clienti avevano la tendenza ad usare i carattei grandi (a 120 dpi),
li ho convinti a rinunciarci e quando è stato possibile ho venduto loro
dei monitor LCD che anche a parità di pollici hanno una "visualizzazione"
migliore.
Io rimango dell'avviso che a volte bisognerebbe "tagliare del manine" ai
clienti perchè nel 90% dei casi il fatto di cambiare i colori o ingrandire i
caratteri è solo un modo per far vedere agli altri (quelli che non lo sanno
fare) di essere degli "esperti".
Comunque il problema di Jax (ed il mio) rimane. C'è qualcuno che sa come
risolverlo ?
Ciao
--
MaoSw
Reporter Professional srl
support...@reporterprofessional.it

> Io rimango dell'avviso che a volte bisognerebbe "tagliare del manine" ai
"tagliare le manine"  (sorry)

Ci sono applicazioni che, caratteri grandi o no, vanno benissimo...
Quali applicazioni, per esempio ? non si può pensare, a mio avviso, di
aumentare a dismisura le dimensioni dei caratteri e avere sempre le
form coerenti da punto di vista grafico.  
Almeno non in automatico, è una questione di spazi, non c'è nulla da
fare.  
Prova a fare in modo che le tue form non contengano troppe
informazioni, non siano troppo grandi, utilizzino sempre le anchors e
cerchino di adattare gli elementi grafici sul resize da parte
dell'utente.


 form coerenti da punto di vista grafico.
La calcolatrice di windows (che non è semplicissima da gestire immagino),
tutte le finestre di windows, dialogs compresi, Webshots, Outlook Express,
per adesso tutte quelle che ho guardato su un pc che ho qua.
Invece, per esempio, una semplicissima applicazione (un ricerca CAP) che ho
fatto io in Delphi, mi sballa, sia se ho Form.Scaled = True che False (in
quest'ultimo caso molto meno, ma resta comunque un problema sull'altezza
della form, e comunque i caratteri restano piccoli).
Secondo me è proprio Delphi che ha qualche problema nel gestire questa
proprietà (e PixelsPerInch) in modo corretto.


fatto io in Delphi, mi sballa, 
Forse sarebbe bene capire che intendi per "sballa".


 Forse sarebbe bene capire che intendi per "sballa".
Hai ragione, sarň piů preciso: ho fatto varie prove oggi e credo di aver
trovato un buon metodo, ma non perfetto.
Un'immagine vale piů di mille parole:
http://www.giopa.net/delphi_prova_dpi.htm


 Jax
Carino, il gatto



http://www.giopa.net/delphi_prova_dpi.htm
Mi sembra di vedere che non usi gli allineamenti automatici e questo č
male, a mio avviso.  Puň condurre a dei problemi come quelli della
progressbar.  


 Carino, il gatto
Opera della mia morosa in pratica con l'HTML :)


 progressbar.
Cosa intendi per allineamenti automatici? Io uso gli anchor, ho abbandonato
gli align da quando mi rompevo veramente tanto a creare 80 panel in una form
per mettere 10 maledetti componenti come dicevo io.
Non so se hai notato, ma il problema della progressbar č dato proprio dal
fatto che il ClientHeight originale č 333, mentre in WinXp diventa 320.
Capisco che con Align risolverei il problema (la listview diventerebbe piů
piccola perň), ma non concordi con me che il ClientWidth e ClientHeight
dovrebbero essere sempre uguali, a prescindere dallo scaled e dalla
dimensione della title bar?
E poi, nessun altro ha qualcosa da dire in proposito?
Tutti silenziosi oggi! O in ferie :(


dimensione della title bar?
Sì, dovrebbe.  Hai provato a impostare il ClientHeight fisso a 333
sull'OnCreate del form ?



Infatti. Se tutti progettassero le proprie interfacce utente come si deve
buona parte dei software a me ancora non accessibili lo sarebbero.
Riferendomi a me parlo in nome della categoria.
Molti software sono accessibili via screen reader o ingranditore di schermo.
Quelli che non lo sono, i più sofisticati, quelli con mille effetti grafici
fini a se stessi, quelli in pratica da usare solo col mouse, dispositivo di
input per me non proprio tanto usabile, sono software da rinunciarci sin
dall'installazione.
Se proprio si vuol tenere conto della dimensione dei caratteri di un
software, gli si faccia delle opzioni proprietarie di ingrandimento o un
controllo approfondito dei messaggi inviati dal sistema per il cambio dei
font.
Solitamente, dalla mia esperienza, chi ingrandisce i caratteri ha problemi
di vista comuni a molti, ma non è un portatore di handicap.
Gli ipovedenti o non vedenti come me usano sistemi specializzati che si
affiancano al sistema operativo per la sua gestione.
Ciao.
Giuseppe

 sull'OnCreate del form ?
Provato e se ne strafrega. Mi spiego meglio:
Se imposto Scaled = True, fa sempre la stessa storia, ossia i componenti
"sforano" la form, se metto False e poi faccio ScaleBy, va meglio ma
comunque la progressbar non si vede, oltretutto ho la form alta 333 e quindi
più piccola di come dovrebbe essere con i 120 dpi.
Ho dato uno sguardo al sorgente di delphi, e credo che l'errore sia lì:
ChangeScale (e compagnia bella) non distinguono tra una form e tutti gli
altri componenti. Il fatto è che per una form le proprietà Height e Width
dipendono dalle impostazioni dell'utente (i famosi Metrics): se ad un utente
piacciono le title bar cicciotte (o usa WinXP), mettiamo 20-25 pixel, è
ovvio che, ragionando solo sull'height, lo spazio del clientheight
diminuisce di conseguenza!
Bisognerebbe overridare la TControl.ChangeScale per poter gestire anche le
eventuali proprietà ClientHeight e ClientWidth... questo però non so come
farlo :(
Se qualcuno mi dà una mano, risolviamo radicalmente questo annoso problema!


 dall'installazione.
Sono d'accordo, e a tal proposito ho appena iniziato la lettura di un bel
malloppone: The essential guide to user interface design, di Galitz. So
leggendo molte cose che davo per scontate e che invece hanno un'importanza
fondamentale. 
imho qualcunque programmatore dovrebbe studiarsi questo argomento
-- 
Lis
ICQ@Home #7317603sette     ICQ@Work #16285702tre
Mercatino: 
http://lis77.bravepages.com
 (aggiornato *con foto*: 16/06/03)