MFC中动态创建BUTTON及添加响应的响应

    技术2022-06-26  47

    试了一下在MFC中动态创建按钮,主要步骤如下:

    1.在头文件(**Dlg.h)中添加一个CButton类型的指针pbutton;

    2.在(**Dlg.cpp)的构造函数中初始化pbutton:pbutton=new CButton;(初始化一定不能忘记);

    3.在OnInitDialog中创建BUTTON:

            pbutton->Create(_T("Button"),WS_CHILD|WS_VISIBLE|BS_FLAT|BS_PUSHBUTTON,CRect     (570,355,630,400),this,IDC_MYBUTTON);

      其中这个rect是以用户窗口的左上角作为原点坐标的,而不是以屏幕的左上角作为原点坐标。

      不需要在显示地调用pbutton->ShowWindow(SW_SHOW),因为创建的BUTTON已经包含了WS_VISIBLE属性。如果你看不到你创建的按钮,那么就得想想原因了。

    接下来,我们为创建的BUTTON手动添加响应函数,步骤如下1.打开Resource Symbols,为这个BUTTON新建一个唯一的ID(例如IDC_MYBUTTON 101)并

    指定相应的值,当然,你也可以把那些后面没有打勾(即未使用)的值。2.在**Dlg.h的AFX_MSG{................}AFX_MSG之间加入afx_msg void OnMyButton();  (在此,我们假设要添加的消息响应函数为 void OnMyButton())3. 在**Dlg.cpp的BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间加入ON_BN_CLICKED

    (IDC_MYBUTTON, OnMyButton)4.在**Dlg.cpp中添加成员函数void **Dlg::OnMyButton(){......................}完毕!其实想一想,如果要动态添加其他的控件及其相应的响应函数,步骤差不多了,如法炮制就行了


    最新回复(0)