Skalowanie elementów wizualnych Windows Lazarus

0

Dobry wieczór,
Jestem po przesiadkach systemu Mac os na najnowszy, nowy lazarus i laptop wiec miałem problem ze skalowaniem aplikacji.

Napiszę jak skalować swoje aplikacje w windowsie , bo w mac os dzieje się to automatycznie i nie jest wymagane. Ale skoro jest to rozwiązanie multiplatformowe to napiszę dosłownie dwa zdania.
szukałem jak to zrobić i oczywiście najprościej było pokombinować samemu:

  1. Wystarczy ustawić formę - wys i szerokość jako funkcję wys. i szer. ekranu.
  2. wszystkie elementy wizualne ustawiać na współrzędnych względnych w stosunku do wartości z punktu 1. wszystkie obrazki i rysunki na formie trzeba robić względem formy rozciągnięte i na względnych wsp. np: img.left:= round(form1.width/10);
    itd

Dla większości z Was to podstawa ale mi napsuło kilka
chwil i czasu zjadło, więc może takie coś się przyda komuś a czasu szkoda dlatego piszę.
pozdrawiam :)

2

Możesz pokazać testowy projekt? Bo nie za bardzo rozumiem o jakie skalowanie chodzi. :D

LCL ma swój system skalowania kontrolek, zgodny z tym co oferuje sam system Windows — ten system skalowania jest domyślnie włączony. Jeśli o mnie chodzi, to formularze projektuję w taki sposób, aby były rozsądnie rozmieszczone, a następnie korzystam z narzędzia Anchor Editor, aby je wszystkie ze sobą pospinać. Dzięki temu nieważne jaki rozmiar, typ skalowania, użyte w systemie fonty i skórki, interfejs zawsze wygląda dobrze — oczywiście o ile wszystko zrobi się prawidłowo.

0

Chodzi mi odynamiczne tworzenie komponentów w tym obrazkowych które są np klawiszami menu itd albo grafiką. Gdy ustalam ich wielkość na sztywno np ładując obrazek do określonych współrzędnych z góry określonych width i high na sztywno to obrazki robią się bardzo małe albo lądują w zupełnie innych obszarach formy niż w pierwotnym projekcie na mac os bo są ustawione np względem bandy formy wg ilości pixeli. A te się zmieniają. Kiedy piszę tekst na obrazku który jest mały dosyć to po przerzuceniu do windowsa obrazek jest mały albo rozciągnięty tekst jest bardzo niskiej jakości

1 użytkowników online, w tym zalogowanych: 0, gości: 1