如何隐藏MDI子窗体中的滚动条?Delphi 11.3问题求助
Delphi 11.3 MDI子窗体自动显示滚动条的解决方法
检查MDI主窗体的
AutoScroll属性
你看到的滚动条大概率不是子窗体自身的,而是MDI主窗体客户区的滚动条。主窗体默认AutoScroll为True,当子窗体的位置或大小超出主窗体客户区范围时,就会自动显示滚动条。直接将主窗体的AutoScroll设为False即可禁用该自动触发逻辑。确认子窗体的边框与位置设置
- 如果子窗体使用
bsSizeable这类可调整大小的边框,拖动子窗体超出主客户区时,主窗体仍可能触发滚动条。若不需要子窗体调整大小,可将子窗体BorderStyle设为bsSingle等固定样式;若需要保留可调整功能,确保主窗体AutoScroll保持False状态。 - 将子窗体的
Position属性设为poClientCenter,让子窗体初始显示在主窗体客户区中央,避免因初始位置超出范围触发滚动条。
- 如果子窗体使用
代码层面强制禁用(若属性设置无效)
若通过属性面板设置后问题仍存在,可在主窗体的OnCreate事件中添加代码强制禁用:
procedure TMainForm.FormCreate(Sender: TObject); begin AutoScroll := False; Perform(WM_SETREDRAW, 1, 0); Refresh; end;
内容的提问来源于stack exchange,提问作者3G_1200_Endik Jauhari
相关产品推荐
相关产品推荐

