Problem w tym, że jeżeli przeniesiesz tak skonstruowaną aplikację na komputer z rozdzielczością mniejsza niż u ciebie, to każdy będzie miał ten problem.
To musi być jakiś błąd środowiska.
Spróbuj jeszcze czegoś takiego. Umieść to w konstruktorze klasy formularza:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
this->AutoScroll = false;
TRect scR = Screen->WorkAreaRect;
this->SetBounds(0, 0, scR.Width(), scR.Height() );
}
Ten kod w momencie tworzenia formularze powinien go przeskalować do rozmiaru okna.
Jeżeli to nie zadziała. To musisz projektując aplikację na komputerze z niszą rozdzielczością zmniejszyć znacząco formularz i używać pasków przewijania.
Nigdy nie stanąłem przed takim problemem. Nigdy nie tworzyłem aplikacji dla konkretnej rozdzielczości. Nawet jeżeli z założenia aplikacja miała działać w wysokiej rozdzielczości to projektowałem ją tak, by dobrze wyglądała w rozdzielczości niższej. Dlatego na etapie programowania, formularz miał taki rozmiar, jaki powinien mieć w najniższej założonej rozdzielczości.
Dawniej używałem np. rozdzielczości 1280x1024 i w takiej rozdzielczości projektowałem, ale zakładając, że program będzie również pracował na rozdzielczości 1024x768. Dlatego na etapie projektowania taki rozmiar ustalałem dla formularza. Dziś te programy bez problemu skalują się i dobrze wyglądają w rozdzielczości HD.
Tak powinieneś tworzyć swoją aplikację, by dało się jej używać w niższej rozdzielczości niż używana przez ciebie. Dlatego na etapie programowania formularz powinien mieć mniejszy rozmiar.
Powinieneś wiedzieć, że kontrolki: przyciski, listy, pola Edit itp. nie muszą być zawsze wyrównywane do lewego górnego rogu okna. Sterując właściwością Anchors możesz określać jak ma być wyrównywany komponent na formularzu. Przeprowadź testy z tą właściwością i dowolnym komponentem by zrozumieć jak on działa.
Przyszła mi do głowy jeszcze jedna rzecz. Ustaw właściwość Align formularza na alClient. To powinno rozciągnąć formularz.