...могло это случится из-за компонентов, расположенных на вашей форме? Попробуйте создать _новую_ форму без компонентов и установить ей ширину, равную 130, и посмотреть что будет (сохранится ли проблема?).
Вы можете преодолеть ограничение Windows, которое устанавливает минимальную ширину по-умолчанию. Для этого необходимо самим обработать системное сообщение wm_GetMinMaxInfo, которое позволяет задать минимальную ширину окна. Способ работы с этим сообщением состоит в передаче указателя на структуру (в lParam). Вы можете установить максимальный размер окна, размер максимально раскрытого окна, и позицию при его максимизации. Вот пример того, как можно изменить минимальную ширину:
Добавьте следующую строку к частным декларациям вашего наследника от TForm:
procedure WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo); message wm_GetMinMaxInfo; |
а вот реализация:
procedure TForm1.WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo); begin Msg.MinMaxInfo^.ptMinTrackSize.x := 130; end; |
Имейте в виду, что минимальная ширина окна в Windows 95 отличается от аналогичного значения в Windows 3.1. Поскольку Win95 добавляет новые кнопки в область заголовка окна (в случае, если вы определили их использование, например, кнопки Minimize или Maximize), то минимальная ширина немного больше, чем в Windows 3.1. Также следует принять во внимание разные размеры шрифта заголовка. [001752]