W jaki sposób można uzyskać w AmBasic szerokość tekstu, ale nie w jednostkach 0.1 mm ale w punktach ekranowych? Chodzi o zastosowanie do elementu formularza RecList i ustawienie szerokości kolumny w zależności od zawartości.
Zrobiłem to tak:
Kod:
int sub Width(string s)
SetStyl(Styl(Font(14,"Tahoma",""),-1))
Width = TextWidth(s)
endsub
rekord rKH
string kod[40]
endrec
rKH tKH(1)
long nKH(1)
tKH(size(tKH)).kod = kh.GetField("kod")
if nKH(1) < Width(kh.GetField("kod")) then nKH(1) = Width(kh.GetField("kod"))
Form ...
RecList "Kod",tKH,iKH,12,72,520,180,nKH,2
Oczywiście to wycinek kodu.
I oczywiście to nie działa tak jak się tego spodziewałem.
Ktoś może ma pomysł jak to zrobić inaczej?
Wiem, że jest MxGrid, chodzi mi o RecList