快捷搜索:

界面开发(三)--- 设置窗体的Region

颠末上面两篇的界面开拓,我们应用Windows的Hook技巧,成功的将系统中的窗体的消息截取,并添加了自己的事故处置惩罚法度榜样,这篇文章便是经由过程我们对这些消息的处置惩罚的第一步,设置窗体的样式和窗体的Region。

Region对付窗体来说是一个异常紧张的观点,他便是Windows分配给窗体显示的区域,以是,我们第一步便是根据我们的必要设计我们的窗体区域。而对付Windows窗体区域的设置,WndProc中的STYLECHANGED,SHOWWINDOW,SIZE,WINDOWPOSCHANGED都有可能用到。这些措施都对窗体的样式或者窗体的大年夜小就行了改动,以是我们也要对这几个消息进行处置惩罚。

首先我们创建一个类用来设置窗体的显示,名称为SkinAppearance.cs,在这个文件中我添加了一个措施,叫做SetRegion,并且参数设置成为我们的窗体SkinningForm。SetRegion的代码如下:

///

/// Set SkinningForm Region

///

///

form to set region

public void SetRegion(SkinningForm form)

{

// Check Form

if (form == null)

{

return;

}

// Get Form Size

Size size = form.Size;

// Set Color Size

Size cornerSize = new Size(90, 90);

// Create Region Handle

IntPtr hRegion = NativeMethod.CreateRoundRectRgn(0, 0, size.Width + 1, size.Height + 1, cornerSize.Width, cornerSize.Height);

Region region = Region.FromHrgn(hRegion);

// Set Region

form.Region = region;

region.ReleaseHrgn(hRegion);

}

您可能还会对下面的文章感兴趣: