行者的学习博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

转自:http://hi.baidu.com/%D4%C2%BD%FC%D0%C7%D4%B6/blog/item/3ae9d912dc3121c9c2fd78aa.html

如何给单文档创建个Button呢!其实这个很容易!

首先我们应该了解的是MFC中所有的Button都来自一个类,就是CButton,只是各个Button的style不同而已,所以显示出来了不同的风格与特性!我们还应该了解的是,我们的单文档可视部分分为2个部分,一个是客户区,一个是视图区,其中客户区包含视图区,客户区比视图区多了一个toolbar.当我们添加按钮时,既可以添加在客户区,也可以添加在视图区。

比如我们添加在客户区。

当然,我们首先应该是创建号一个单文档应用程序的。然后在类视图里找到MainFram类,双击进入OnCreate函数,这里我们看到了toolbar就是在这里定义的,也可以在这里删除,我们对单文档添加一个Button,就可以在这个函数中添加了。

添加Button之前,我们首先应该来认识一下我们的CButton类。MSDN中对CButton是这样解释的Constructs a CButton object.意思就是创建一个CButton对象。      通过什么创建呢,就是通过CButton封装好的Create函数创建出来的。Create的作用是Creates the Windows button control and attaches it to the CButton object.意思就是创建一个窗口控制按钮并且将它和一个CButton的对象关联起来。来,我们看看create函数。

BOOL Create   //如果创建成功,则返回非0值,否则为0

( LPCTSTR lpszCaption,//这是一个Button上显示的信息,长的字符串指针

DWORD dwStyle, // 这里是Button类型,这个可以在MSDN参看 button styles

const RECT& rect,//这里传递的是一个CRect指针,就是按钮的长宽大小

CWnd* pParentWnd, //Button也算是一个窗口,这个是指向这个Button父类的窗口指针

UINT nID );//这里是ButtonID,自己随便写个整数,自己定义一个宏也可以

利用这个函数就可以为单文档创建一个按钮了。很简单的,跟我来吧!

  1. 首先我们进入CMainFrame类,在CMainFrame类中定义一个CButton的对象m_btn,注意必须是全局对象才可以,然后找到OnCreate函数,我们就可以利用m_btn调用create函数了。

m_btn.Create("测试",BS_PUSHBUTTON|WS_VISIBLE,CRect(0,0,100,100),this,10000);

添加上边短短的一行代码,按钮就创建成功了,最后一个参数是按钮的ID,我们要对按钮进行什么相应,就可以对它的ID进行相应了。

  1. 细心的读者会发现,按照上述方法我们设置那个按钮遮挡住了toolbar,怎么才能不遮挡住toolbar呢,当然修改参数CRect对象的值是一种比较简便的方法,另外一种方法就是我们直接把按钮创建在视图类中,因为视图类窗口本身就不包含toolbar,所以就不用担心上述问题了。

因为视图类窗口没有OnCreate函数,我们可以手动的添加。

我们可以在类视图中右击视图类->Add Windows Message Handler…对WM_CREATE添加消息相应函数OnCreate。

然后再在OnCreate函数中添加代码:

m_btn.Create("测试",BS_PUSHBUTTON|WS_VISIBLE,CRect(0,0,100,100),this,10000);

这样创建的按钮就是在视类中了。

posted on 2010-06-26 10:01  ylclass  阅读(1451)  评论(0编辑  收藏  举报