[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Szerokość pól FILL-IN w wersji graficznej



On Tue, 21 Apr 1998, Henryk Jusza wrote:

> Mam problem z szerokością pól FILL-IN w ramkach i kolumnach browser'ów w
> wersji graficznej PROGRESS'a (wersja 8.1). Poniżej opiszę o co chodzi.
[...]
> 
> Przypuszczam, że wynika to z tego, że trójwymiarowe brzegi pól
> FILL-IN w ramkach zajmują tyle samo piksli w każdym foncie i kradną trochę
> miejsca na znaki, jednak czy aż tak dużo, by wyjaśnić to zjawisko to nie
> wiem. W przypadku kolumn browserów to przypuszczenie zawodzi całkowice (tam
> nie ma trójwymiarowych brzegów). Pozostałe znaki oczywiście nie giną, bo
> pole jest przewijane w poziomie, ale jest to niewygodne, a w przypadku pól
> tylko wyświetlanych ("sensitive"=False)  przewijania nie ma.

Moim zdaniem bez size-phraze sie tego zrobic nie da. Sadze, ze teoria o
zajmowaniu dodatkowych piksli (pikseli?) trojwymiarowych fill-in'ow
niczego nie wyjasnia. W przypadku najszerszej litery "w" w polu o formacie
"X(20)" miesci sie (dla fontu MS Sans Serif) miesci sie 13 znakow. Az tyle
ramka na pewno nie zabiera.

Da sie to jednak zrobic, poprzez skonstruowanie automatu wyliczajacego
szerokosc najszerszego stringu i policzenie za pomoca metod
dostepnych w FONT-TABLE, szerokosci w pikslach danego pola. Jest nawet
takie darmowe oprogramowanie firmy DOT-R, pozwalajace na "resizing" kolumn
browsera lub fill-in'ow do optymalnej wielkosci z poziomu UIB. Niestety
widzialem tylko wersje dla Progress'a 8.2.

> 
> Stąd moje pytanie - czy ktoś wie jak zmusić PROGRESS'a by zwiększył
> "średnią szerokość znaku" dla fontu przyjmowaną do wyliczania szerokości
> pola na podstawie formatu bez wymuszania poprzez "size-phrase" przyjęcia
> konkretnej szerokości pola FILL-IN, tak by znaki mieściły się polu (może
> nawet zostać trochę wolnego miejsca na końcu). Może jest jakiś parametr
> dający dodatkowy współczynnik do przeliczeń, może w samej definicji fonta
> można coś zmienić, czy też jest inny sposób. Przewertowałem dokumentację,
> ale nie udało mi się trafić na coś takiego. Myślę, że ten problem jest dość
> powszechny.

Ja tez na skutek Panskiego listu staralem sie cos znalezc na ten temat,
ale wydaje mi sie, ze nie da sie w latwy sposob sparametryzowac "sredniej
szerokosci znaku". Zastrzegam jednak, ze nie jestem specem od Windowsow,
a moze da sie to ustawic z tego poziomu.

Pozdrawiam
Tomek

 ________ 
|_   _|__| Tomasz Fidecki, Progress Analyst/Programmer, UNIX fan 
  | || _|  Financial Services LTD Marynarska 21 02-674 Warsaw Poland 
  |_||_|   phone (voice) +48 22 6404728, tomek@fsl,com,pl, IRC Fido__