随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万


这应该是 IW 中最重要的容器了, 和它同父的还有 TIWTabControl

TIWRegion 所在单元及继承链:
IWRegion.TIWRegion < TIWCustomRegion < TIWHTML40Container < TIWHTMLContainer < TIWContainer < TIWBaseContainer < TScrollingWinControl < TWinControl < TControl < TComponent < TPersistent < TObject

主要成员:
property Align: TAlign
property Anchors: TAnchors
property BorderOptions: TIWContainerBorderOptions //设置边框的宽度、颜色、样式
property Color: TIWColor
property ClipRegion: Boolean           //对应 CSS clip, 如果控件大于区域, 是否剪切; 默认 True
property LayoutMgr: TIWContainerLayout //要套用的布局管理器
property Splitter: Boolean	       //是否提供分割线; 它出现的位置与 Align 属性有关系
property StyleRenderOptions: TIWStyleRenderOptions
property Visible: Boolean
property DoRefreshControl: Boolean
property InternalTabOrder: TTabOrder
property ContainerContext: TIWContainerContext 
property IWComponentsCount: Integer
property RenderInvisibleControls: Boolean //是否呈现隐藏的控件; 默认 False
property HorzScrollBar: TControlScrollBar
property VertScrollBar: TControlScrollBar

property OnCreate: TNotifyEvent
property OnRender: TNotifyEvent

procedure SetBounds(ALeft: Integer; ATop: Integer; AWidth: Integer; AHeight: Integer)
procedure Invalidate
function OwnerForm: TIWBaseForm
function OwnerFrame: TIWHTMLContainer
procedure Freeing(AObject: TObject)
procedure ForceAlign
procedure DisableAutoRange
procedure EnableAutoRange
procedure ScrollInView(AControl: TControl)


RenderInvisibleControls 属性测试:
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWRectangle1.Visible := False;             //假如 IWRectangle1 在 IWRegion1 内, 并且已经隐藏了
  IWRegion1.RenderInvisibleControls := True; //如果不指定 RenderInvisibleControls := True 那么再从异步事件中设置 IWRectangle1.Visible := True 将无效
end;

{OnAsyncClick}
procedure TIWForm1.IWButton1AsyncClick(Sender: TObject; EventParams: TStringList);
begin
  IWRectangle1.Visible := not IWRectangle1.Visible;
end;


Splitter 属性测试:
{先放三个互不嵌套的 TIWRegion}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWRegion1.Color := $ff0000;
  IWRegion2.Color := $0000ff;
  IWRegion3.Color := $00ff00;

  IWRegion1.Align := alTop;
  IWRegion2.Align := alLeft;
  IWRegion3.Align := alClient;

  IWRegion1.Splitter := True;
  IWRegion2.Splitter := True;
end;

效果图:


posted on   万一  阅读(3202)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2008-06-19 再学 GDI+[53]: 路径 - SetFillMode
2008-06-19 再学 GDI+[52]: 路径 - Reverse、Reset
2008-06-19 再学 GDI+[51]: 路径 - IsVisible、IsOutlineVisible
2008-06-19 学习官方示例 - TApplication.OnShowHint
2008-06-19 学习官方示例 - TApplication.OnMessage
2008-06-19 学习官方示例 - TApplication.OnException
2008-06-19 学习官方示例 - TApplication.OnDeactivate


点击右上角即可分享
微信分享提示