请问怎么样在对话框上做一个圆形的按钮??
问题点数:27、回复次数:11Top
1 楼anywn_cwh(我有个问题)回复于 2002-01-31 19:57:34 得分 0
不知道。
我先想用贴图,但就不是按钮了。
UP.Top
2 楼inter_national(inter_national)回复于 2002-01-31 19:58:49 得分 0
嘿嘿。。。我一直想问问。。up 是什么意思???Top
3 楼inter_national(inter_national)回复于 2002-01-31 19:59:17 得分 0
有谁知道的?帮帮忙?Top
4 楼bugsalwaysare(虫虫杀不完)回复于 2002-01-31 20:04:54 得分 0
在DrawItem中先画一矩形按钮,然后屏蔽掉不想要的。具体步骤:
用CButton::Create(_T("MYBUTTON"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
rect,this,IDB_CANCEL );//注意要用BS_OWNERDRAW
然后在重载DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);Top
5 楼stoneyrh()回复于 2002-01-31 20:47:27 得分 27
你找一下有很多
要不然给我一个邮件,我給你例子
stoneyrh@163.comTop
6 楼wenjie_liu(长河)回复于 2002-01-31 21:54:12 得分 0
可以用api setwindowrgn,用法自己查吧!!!Top
7 楼crazyingmouse()回复于 2002-02-01 00:01:43 得分 0
inter_national 本来想帮你写好的,可是现在似乎有点bug
void CFunDlg::OnOK()
{
// TODO: Add extra validation here
CRgn a_rgn;
a_rgn.CreateEllipticRgn(10,10,50,50);
HWND h_handle=m_cancel.GetSafeHwnd();
HRGN h_rgn=(HRGN)a_rgn;
::SetWindowPos(h_handle,HWND_TOP,10,10,50,50,SWP_SHOWWINDOW); //这个倒是执行了。
TRACE("%d",::SetWindowRgn(h_handle,h_rgn,TRUE));
//m_cancel.SendMessage(WM_PAINT);
}
如果删除setwindowpos,似乎就可以,不知道问题在哪里,还是大家来看看吧。Top
8 楼pzone(见分眼红)回复于 2002-02-01 00:24:26 得分 0
重绘,示例多多
要emailto:pzone0846@sina.comTop
9 楼hanawu(hanawu)回复于 2002-02-01 00:57:58 得分 0
参阅《windows程序设计> 中的对话框那一章,里面有一个现成的例子就是画的圆形按钮Top
10 楼sponube(虾之大者)回复于 2002-03-06 22:52:15 得分 0
<<Visual C++编程高 II>> ,
北京希望电子出版社 39元
你要什么按钮有什么按钮,有源代码的!!!!!!Top
11 楼sponube(虾之大者)回复于 2002-03-06 22:53:39 得分 0
<<Visual C++编程高手 II>> ,
北京希望电子出版社 39元
你要什么按钮有什么按钮,有源代码的!!!!!!Top




