WEB开发网
开发学院软件开发VC Windows 中不规则窗体的编程实现 阅读

Windows 中不规则窗体的编程实现

 2006-07-19 11:29:53 来源:WEB开发网   
核心提示: 在MFC中"region"对象,由CRgn类实现,Windows 中不规则窗体的编程实现(2),CRgn的几乎每个成员函数都有同名的SDK API函数对应,三、简单“region”的创建类CRgn创建一个新的"region"的

在MFC中"region"对象,由CRgn类实现。CRgn的几乎每个成员函数都有同名的SDK API函数对应。

三、简单“region”的创建

类CRgn创建一个新的"region"的简单方法有以下几个成员函数:

  1. BOOL CRgn::CreateRectRgn( int x1, int y1, int x2, int y2 ); 创建矩形的“region”。
  2. BOOL CRgn::CreateEllipticRgn( int x1, int y1, int x2, int y2 ); 创建圆形或椭圆形“region”。
  3. BOOL CRgn::CreateRoundRectRgn( int x1, int y1, int x2, int y2, int x3, int y3 ); 创建圆角矩形“region”。
  4. BOOL CRgn::CreatePolygonRgn( LPPOINT lpPoints, int nCount, int nMode ); 创建多边形“region”。

这里以创建椭圆窗体为例,介绍椭圆窗体创建的方法。在创建椭圆“region”的CreateEllipticRgn函数中,x1,y1指椭圆所在矩形的左上角坐标,x2,y2指该矩形的右下角坐标。

下面的代码加入到MFC对话框程序的OnInitDialog函数中,可将该对话框变成椭圆窗体:

BOOL CTestDlg::OnInitDialog()
{
  CDialog::OnInitDialog();
  ...
  CRgn rgn;
  rgn. CreateEllipticRgn(0,0,200,100);
  SetWindowRgn(rgn,TRUE);
}

四、作图路径法创建”region”

使用该方法创建”region”的过程如下:

第一步绘制所要创建的窗体形状。

该步骤中使用到CDC类中的一些成员函数如下:BOOL CDC::BeginPath( );

调用该函数后当前设备环境(DC)开始追踪绘图的过程。

上一页  1 2 3 4  下一页

Tags:Windows 不规则 窗体

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接