博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VC++6.0 自定义按钮,无标题对话框的拖动方法
阅读量:6817 次
发布时间:2019-06-26

本文共 940 字,大约阅读时间需要 3 分钟。

VC++6.0 自定义按钮,无标题对话框的拖动方法

 

自定义按钮

  首先创建一个基于CButton的CCustomButton类 添加该类的虚函数DrawItem代码如下:

void CCustomButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){  // TODO: Add your code to draw the specified item  CRect rect;    GetClientRect(rect);  CDC dc;    dc.Attach(lpDrawItemStruct->hDC);    int x,y,r;      x=rect.Width()/2;    y=rect.top;  r=rect.Height()/2;    dc.Ellipse(0,0,rect.Width(),rect.Height());    dc.DrawText(TEXT(""),rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);}

  然后添加一个按钮,修改其属性为OwnerDraw,并为其关联一个CCustomButton的变量。然后就可以实现自定义按钮的绘制了。

 

无标题对话框的拖动方法

  实例: 为要添加此方法的对话框添加WM_LBUTTONDOWN消息函数中发送WM_SYSCOMMAND消息,代码如下:

void CLkDlg::OnLButtonDown(UINT nFlags, CPoint point){      // TODO: Add your message handler code here and/or call default    // ::SendMessage();    ::SendMessage(GetSafeHwnd(),WM_SYSCOMMAND,SC_MOVE+HTCAPTION,0);    CDialog::OnLButtonDown(nFlags, point);}

 

转载于:https://www.cnblogs.com/Dageking/archive/2013/03/24/2978694.html

你可能感兴趣的文章
项目中自定义返回任意数据或者消息
查看>>
IOS设计模式的六大设计原则之单一职责原则(SRP,Single Responsibility Principle)
查看>>
How to run ASP file on VS 2010
查看>>
Manacher算法
查看>>
Linux 的cp命令
查看>>
JavaScript类型转换
查看>>
OnClientClick="return confirm('确定要删除吗?')"
查看>>
Android 中间白色渐变到看不见的线的Drawable
查看>>
Oracle创建用户、表空间并设置权限
查看>>
10.5 集合ArrayList 和 io流
查看>>
机器学习简介
查看>>
四则运算使用说明
查看>>
chapter5.3类型注解及习题
查看>>
js回顾2
查看>>
Apache Storm技术实战之3 -- TridentWordCount
查看>>
C语言第三天,《常量指针和指针常量》
查看>>
linux系统中对SSD硬盘优化的方法
查看>>
BigPipe为什么可以节省时间?
查看>>
C# 特性(Attribute)学习
查看>>
构建VIM下的C++编程环境
查看>>