椭圆窗体的实现

代码运行效果图如下:


我将分三部分介绍这一程序的实现过程:

1.生成椭圆形图形界面,并在上面写斜体带颜色的子和鼠标拖动功能。

2.增加鼠标右键菜单,并实现总在前面和其他程序自动覆盖的功能。

3.生成鼠标的全局钩子,截获鼠标事件,返回****的值。

1.生成椭圆形图形界面,并在上面写斜体带颜色的子。

在VC集成编译环境中,选择“文件”,“新建”,然后选择“工程”选项卡。在左侧的工程选择项中选取“MFC AppWizard[exe]”,在右侧工程标题下的编辑框中输入“EllipseWindow”。

单击“确定”按钮,进入“MFC AppWizard step-1”选择页,选中“D基本对话框”左侧的单选按钮,将应用程序的类型设为基本对话框,然后点击“完成”按钮后点击“确定”即可。

在自动生成的“IDD_ELLIPSEWINDOW_DIALOG”对话框资源中删除“取消”,“确定”按钮和标题为“TODO:在这里设置对话框”的文本框。此时,编译运行这个程序,应该能在窗口弹出一个空的对话框。

椭圆窗体的实现主要是靠CRgn类来实现的。

1.1 生成椭圆窗体

在类CEllipseWindowDlg的定义中填加CRgn m_rgnWnd的protected型变量。在CEllipseWindowDlg::OnInitDialog()中加入如下代码:

CRect rc;
GetClientRect(rc);
m_rgnWnd.CreateEllipticRgn(rc.left+32,rc.top+32,rc.Width()-64,rc.Height()-20);
SetWindowRgn((HRGN)m_rgnWnd,TRUE);

此时运行这个程序,将出现一个灰色的椭圆窗体。如果不能关闭这个应用程序,可用Alt+F4关闭这个程序。

时间: 2024-10-06 15:26:38

椭圆窗体的实现的相关文章

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

一.序言 在绝大多数的Windows应用程序中,其窗体都是使用的正规正矩的矩形窗体,例如我们常用的,"记事本","扫雷",等等.矩形窗体,具有编程实现简单,风格简洁的优点,所以在普通文档应用程序和简单小游戏中使用足矣.但在某些娱乐游戏程序中使用就略显呆板些了,这时若用不规则窗体替代原先的矩形窗体,将会使这类程序更添情趣.典型的例子有windows 自代的Media Player,新版本的Media Player有个控制面板的选项,选中这些面板,播放器就以选中的面板形

显示-请教C#如何领用Win API将窗体绘制为椭圆

问题描述 请教C#如何领用Win API将窗体绘制为椭圆 如题,请教C#如何领用Win API将窗体绘制为椭圆,利用paint事件绘制的在系统特别卡的时候总是先显示长方形的窗体在编程椭圆的,有没有避免这种情况的方法 解决方案 和Paint没有关系,有专门的API来剪裁窗体 http://www.doc88.com/p-046807075488.html 解决方案二: 和Paint没有关系,有专门的API来剪裁窗体 http://www.doc88.com/p-046807075488.html

请问一下 用C#怎么在窗体上画一个椭圆? 大侠们给点源代码吧!

问题描述 当点击一个按钮时可以把一个椭圆画到窗体上!怎么添加这个画椭圆的具体事件的代码? 解决方案 解决方案二:winform使用gdi+就可以webform就比较麻烦了.解决方案三:http://www.comprg.com.cn/detail.asp?hw_id=7049解决方案四:privatevoidbutton1_Click(objectsender,EventArgse){Graphicsg=CreateGraphics();g.DrawEllipse(newPen(Brushes.

VB.Net创建不规则窗体 Montaque(原作)

 VB.Net创建不规则窗体    Montaque(原作)   一般说来,应用程序的窗体都是规则的,即是矩形窗体.有时候为了某种特殊的用途,我们希望改变应用程序窗体的形状,比如做个个性十足的mp3播放器,小时钟等等,这就需要 "定制"我们的应用程序.另外,特殊形状的窗体有时候也能吸引用户的注意力,使得他们格外注意你的程序. 在VB6里面,我们一般通过以下代码来创建不规则窗体.Private Declare Function SetWindowRgn Lib "user32&

Visual Basic中窗体控制特效代码收集

visual|控制 在Visual Basic中如何拖动窗体或控件 现在的许多Windows下的应用程序,都采用了图形化的界面,例如:WINAMP等!这样做的好处是可以使程序界面更漂亮生动,更具吸引力.但是在这样的界面下就不能使用Windows原来的标题条了,否则会影响界面的美观性.那么在没有标题条的情况下如何用鼠标拖动窗体呢?或者拖动其它的控件呢? 其实,采用API函数调用很容易实现,下面我们以拖动窗体(Form1)为例来具体讲一下实现方法: 1.新建立一个项目,名称为:test.vbp. 2

形态各异的不规则窗体

说起不规则窗体也许我们大家都会觉得新鲜,这是因为我们平日里绝大部分窗体用的都是正规正矩的矩形窗体,Word这个大名鼎鼎的软件想必大家都已用过,那么在Word里就按下你手中的F1键吧,弹出的窗体形态怎么样,很炫吧!(如下图所示). 那么实现这样的窗体困难吗?简单!几句话就可以轻松搞定.不过在揭示答案之前我们还是先来熟悉一下在Windows里不规则窗体的实现几点要素. 一.创建不规则窗体的几个主要函数: <1> CreateRectRgn : 创建矩形窗体轮廓. <2> CreateR

透明窗体的又一实现

前面拜读过本站无数高手的许多好文章,受益非浅,首先向各位大侠致敬!今天编程偶有小得,不敢独享,特拿出来与各位共享,希望对某些朋友有些许帮助. 透明窗体的问题相信大家已经很熟悉了,前面的几期在线杂志也有几篇详尽的教程,总结一下就是通过SetWindowRgn这个函数来实现,具体的裁切框用CRgn来生成,比较简单的 象圆,椭圆,圆角窗口等CRgn类都提供了相应的生成方法,我们如果想根据自己的图片来生成裁切框前面的朋友提到的方法是首先生成一个矩形裁切框,然后扫描图片,根据象素点的颜色与掩码颜色的匹配与

C# Winfrom项目,如何将form窗体由矩形绘制成圆形。

问题描述 C# Winfrom项目,如何将form窗体由矩形绘制成圆形. 在C# Winfrom项目中,如何将form窗体由矩形绘制成圆形.请帮忙看看如何设置form窗体可以达到下面截图中的圆形效果.谢谢!最好能够与截图中的圆形做得十分接近(圆形的背景色.字体.线条等). 解决方案 不规则窗体代码下载:http://files.cnblogs.com/alexis/IrregularForm.rar 解决方案二: 使用protected override void OnPaint(PaintEv

C#创建不规则窗体的几种方式

现在,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