Witam !
Jak zrobić aplikację tak aby wyglądała tak samo w różnych rozdzielczościach.
Mam na formie kilka editów, dwa DBGrid-y, itd... I za cholewe mi to się nie mieści na ekranie gdzy odpale programik na innym kompie z monitorem 15''. Ktoś ma jakieś sugestie, proszę o pomoc.
Możesz pobrać rozdzielczość i odpowiednio dostosować rozmiary komponentów. Rozdzielczość pobiera się Screen.Width i Screen.Height
BTW. Używanie paneli i align bardzo ułatwia panowanie nad ustawieniem komponentów
Zobacze co da się zrobić. Chociaż przyzna, że może być to kłopotliwe, gdyż ta aplikacja ma z 10 form, które będę musiał dostosować do ekranu. :| Dzięks
Zawsze możesz sobie obliczyć jakąś skale: Rozdzielczość gdzie dobrze wygląda do rozdzielczości na której jest uruchamiany program. Potem w pętli szerokość i wysokość wszystkich komponentów na formie mnożysz przez skalę. A pozycje ustawiasz panelami , alignami i anchorami
Kurcze, a jak to zrobić może jakiś przykład. ;)
najpierw ustalasz globalną wymiar 1:1 dla jakiejś rozdzielczości.
potem sprawdzasz jaka jest rozdzielczość przy uruchomieniu i obliczasz nowe wymiary.
const
x_opt=1024;
y_opt=768;
procedure TForm1.FormCreate(Sender: TObject);
var
dx, dy : real;
begin
dx:=Screen.Width/x_opt;
dy:=Screen.Height/y_opt;
width:=trunc(Form1.width*dx)
height:=trunc(Form1.height*dy)
for i := 0 to ComponentCount - 1 do
begin
components[i].width:=trunc(components[i].width*dx)
components[i].height:=trunc(components[i].height*dy)
end;
end;
jakoś tak...
Tak samo powinienieś zrobić z właściwościami Left, Top, Font.Size itp...