Većina korisnika traži posebna podešavanja interfejsa aplikacija. Kada se kaže podešavanje interfejsa, ovo se posebno odnosi na veličinu formi. U slučaju da ih napravite malim, na ekranima manje dijagonale izgledaće dosta nepregledno, isto važi i u suprotnom slučaju kada imate velike forme. Svaki programer gleda da udovolji korisnicima njegovih aplikacija, pa zašto im onda ne pružiti malo više fleksibilnosti u pogledu podešavanja i veličine formi.
Navedeni problem možete rešiti limitiranjem maksimalne i/ili minimalne veličine forme. Ovo nije previše komplikovano, ali lako možete zalutati u Delphi-ju tražeći odgovarajuću soluciju. Odgovor leži u korišćenju Windows API poruke wm_GetMinMaxInfo. Postavljanjem vrednosti tako da odgovaraju na ovu poruku, prebacujete celo upravljanje na sam Windows. Ispratite sledeće korake i pronaći ćete rešenje navedenog problema:
- Kreirajte novi projekat sa praznom formom i dajte mu naziv npr. MINMAX.DPR. Dajte naziv i jedinici koda (unit-u) npr. MINMAX.PAS.
- Podesite osobine forme na sledeći način:
Caption „Min/Max Forma“
Height 131
Left 285
Top 192
Width 250
- Unutar deklaracione sekcije forme dodajte proceduru za upravljanje porukom, za poruku wm_GetMinMaxInfo:
type
TForm1 = class(TForm)
private
{ Private declarations }
procedure WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo);
message WM_GETMINMAXINFO;
public
{ Public declarations }
end;
- Naredni programski kod dodajte u implementacionu sekciju forme:
implementation{$R *.DFM}
{ Odgovor na poruku, i podesavanje vrednosti po potrebi… }
procedure TForm1.WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo);
var
MinMax: PMinMaxInfo;
begin
inherited;
MinMax := Message.MinMaxInfo;MinMax^.ptMaxSize.X := 500;
MinMax^.ptMaxSize.Y := 500;MinMax^.ptMaxPosition.X := 200;
MinMax^.ptMaxPosition.Y := 200;MinMax^.ptMaxTrackSize.X := 300;
MinMax^.ptMaxTrackSize.Y := 300;MinMax^.ptMinTrackSize.X := 200;
MinMax^.ptMinTrackSize.Y := 200;
end;end.
- Na kraju iskompajlirajte projekat i istestirajte ga.
Pratite Krstaricu na www.krstarica.com