VC创建圆角窗体2

为了实现圆角的对话框窗口,这里主要用两个函数,

CreateRoundRectRgn,和SetWindowRgn

程序先通过GetWindowRgn函数得到窗口矩形,然后通过CreateRoundRectRgn函数创建一个圆角矩形,最后通过SetWindowRgn函数改变窗口的形状。

具体操作如下:

1  打开“class view”,右击“CMyDlg”,出现一个菜单,选择“AddWindow Message Handler..”

2  之后在“New Windows Messages\events”中双击“OnSize”,“OK”

3  编辑函数如下:

void CMyDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialog::OnSize(nType, cx, cy);

	// TODO: Add your message handler code here
	CRgn m_rgn;
	CRect rc;
	GetWindowRect(&rc);
	rc-=rc.TopLeft();
	m_rgn.CreateRoundRectRgn(rc.left,rc.top,rc.right,rc.bottom,100,100);
	SetWindowRgn(m_rgn,TRUE);
}

其他窗口的操作基本上相同,都按照这个操作

运行结果如下:

时间: 2024-07-28 18:28:26

VC创建圆角窗体2的相关文章

VC创建圆角窗体

有时候根据具体需求,我们可能要改变窗口的形状.使用API函数SetWindowRgn可以改变一个窗体的可见范围. 使用API函数CreateRoundRectRgn()函数可以创建一个圆角矩形区域. 图片ID为:IDB_BACKBMP BOOL CDemoDlg::OnInitDialog() { CDialog::OnInitDialog(); // Set the icon for this dialog. The framework does this automatically // w

WPF换肤之一:创建圆角窗体

原文:WPF换肤之一:创建圆角窗体 我们都期望自己的软件能够有一套看上去很吸引人眼球的外衣,使得别人看上去既专业又有美感.这个系列就带领着大家一步一步的讲解如何设计出一套自己的WPF的窗体皮肤,如果文中有任何错误或者不足,还请指出. WPF是微软大战略中的一个重心所在,学习WPF可谓是一举多得:首先,学习WPF可以让你了解SilverLight的80%:其次,XAML语言可以让你快速的入手WCF和WF:更甚者,就是WPF给予DX渲染核心,抛弃了传统WINFORM以GDI+为主的渲染方式,使得界面

C# 开发圆角窗体

因为项目需要做个Winform的随机启动的数据上传工具,用Visual Studio的窗体感觉太丑了,就想进行优化,反正就一个窗体,上面也没啥按钮,就不要标题栏了,就搞一个圆角的窗体好了,搞个漂亮的背景图片.上面搞一个最小化和关闭按钮.把窗体设置为圆角窗口的操作如下: 1.把窗体frmMain的FormBorderStyle属性设置为None,去掉窗体的边框,让窗体成为无边框的窗体. 2.设置窗体的Region属性,该属性设置窗体的有效区域,我们把窗体的有效区域设置为圆角矩形,窗体就变成圆角的.

VC中获取窗体句柄的各种方法

AfxGetMainWnd AfxGetMainWnd获取自身窗体句柄HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow函数功能:该函数检查与特定父窗体相联的子窗体z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗体的句柄. 函数原型:HWND GetTopWindow(HWND hWnd):參数: hWnd:被查序的父窗体的句柄.假设该參数为NULL,函数返回Z序顶部的窗体句柄.返回值:    假设函数成功,返回值为在Z序顶部的子窗

GUI——AWT框架和容器,创建简单窗体

GUI概述:GUI(Graphical User Interface)—图形化用户界面.用户和程序之间可以通过GUI能方便友好地进行交互,在Java语言中,JFC(Java Foundation Classed)是开发GUI的API集,它主要包含以下几个部分: a)   AWT(抽象窗口工具包):Java开发用户界面最初的工具包,是建立JFC的主要基础; b)   Swing组件:建立在AWT之上,新的,功能更强大的图形组件包; c)   JAVA 2D:实现高质量的二维图形; AWT框架: ①

C#创建不规则窗体的3种方式详解

现在,C#创建不规则窗体不是一件难事,下面总结一下: 一.自定义窗体 一般为规则的图形,如圆.椭圆等. 做法:重写Form1_Paint事件(Form1是窗体的名字),最简单的一种情况如下: System.Drawing.Drawing2D.GraphicsPath shape = new System.Drawing.Drawing2D.GraphicsPath(); shape.AddEllipse(0,0,this.Height, this.Width); this.Region = ne

MySql 服务器 创建Web窗体

1.创建Web窗体: 选择的是Visual C# 2. 3. 4. 5. 6.

WPF 采用Border创建圆角

通过设置可以创建圆角border的CornerRadius属性其边框呈现圆角样式 代码: <Border Height="50" Background="Red" CornerRadius="20,0,0,0" > 效果图: 位置说明: CornerRadius="左,右,右下,左下" 提示: 如过圆角处有颜色,请将外层容器的背景色设置为透明 Background="Transparent" 版

EXtJS 创建一个窗体Window

Ext.onReady(function(){ //创建的窗体默认是hidden,需要调用show方法显示 Ext.create("Ext.window.Window",{ title:'窗体', height:400, width:300, layout:'fit', //限制边界只能在浏览器范围内 constrain:true, //限制标题不能超过浏览器范围 // constrainHeader:true, //模态窗体 modal:true, //模态窗体 plain:true