Mega Code Archive

 
Categories / Delphi / System
 

Remove the Windows Constraint on Minimum Form Size Width and Height (112 118)

Title: Remove the Windows Constraint on Minimum Form Size: Width and Height (112 / 118) By Windows design a form (window) has a size constraint that sets the minimum form height to the height of the caption bar and the width to 112 pixels (118 in XP theme). This minimum size constraint is imposed by Windows to prevent a user from accidentially resizing a window so much that it becomes unusable. There might be situations where you need to have your forms smaller then 112 pixels in width. By handling the WM_GETMINMAXINFO Windows message, you can set your own size constraint that are applied when the user is resizing the form (or the size is set programmatically). type TForm1 = class(TForm) ... private procedure GetMinMaxInfo(var Msg: TWMGETMINMAXINFO) ; message WM_GETMINMAXINFO; ... implementation Note also you have to "clear" the BorderIcons and the Caption properties of the form in order for this code to work. Ah, I almost forgot: double check the Constraint property for the form and any of the controls on the form that use client alignement. procedure TForm1.GetMinMaxInfo(var Msg: TWMGETMINMAXINFO) ; begin with Msg.MinMaxInfo^ do begin ptMinTrackSize.X := 0; // min. Width ptMinTrackSize.Y := 0; // min. Height end; end;