MFC编程 CButton::Create

这个Create,查MSDN,函数原型是这样的:BOOLCreate(LPCTSTRlpszCaption,DWORDdwStyle,constRECT&rect,CWn... 这个Create,查MSDN,函数原型是这样的:
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
在第二个参数里边的 WS_CHILD WS_VISIBLE WS_DISABLED 都是什么意思啊
还有第三个参数 Specifies the button control’s size and position
我看MFC的example里这个参数有4个量,他们都是控制位置和大小的吧
但是为什么我按照MFC上的参数就能运行出来,但是修改这四个参数之后就运行不了了呢。
(我想要的结果是:单击一个button,然后就运行一次creat函数)
MFC Example:

CButton myButton1, myButton2, myButton3, myButton4;

// Create a push button.
myButton1.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
CRect(10,10,100,30), pParentWnd, 1);
// Create a radio button.
myButton2.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_RADIOBUTTON,
CRect(10,40,100,70), pParentWnd, 2);
// Create an auto 3-state button.
myButton3.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_AUTO3STATE,
CRect(10,70,100,100), pParentWnd, 3);
// Create an auto check box.
myButton4.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,
CRect(10,100,100,130), pParentWnd, 4);

我先定义
CButton button;
实例化一个对话框叫ex
往对话框里脱一个button1,添加一个单击的消息,然后编辑
void CExDlg::OnButton1()
{
// TODO: Add your control notification handler code here
Button.Create("first",WS_CHILD|WS_VISIBLE|BS_RADIOBUTTON,CRect(10,40,100,70), this,1);
}能出结果,但是改成CRect(100,100,100,20), 就不对了,为什么呢?
展开
 我来答
魔高丈
推荐于2016-09-07 · TA获得超过9506个赞
知道大有可为答主
回答量:2066
采纳率:0%
帮助的人:3481万
展开全部
第四个参数,表示按钮的大小和位置。

CRect(x1,y1,x2,y2)
x1和y1表示按钮左上角坐标
x2和y2表示按钮右下角坐标

所以x2必须大于x1,y2必须大于y1;
你的x都设成了100,按钮的宽度为0了,当然不显示了。
明白了不。
百度网友622ca468
2009-11-30
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
WS_CHILD 一般都有这个,表示某窗口的子控件
WS_VISIBLE 控件可视,即显示出来
WS_DISABLED 控件禁用
“但是为什么我按照MFC上的参数就能运行出来,但是修改这四个参数之后就运行不了了呢。”说清楚点!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式