简单一点就是,在程序运行的时候,当条件tag=true时,创建一个static text和一个button,当单击button时static text和button全部同时消失。哪位帮帮忙啊?

解决方案 »

  1.   

    1.首先为你要创建的控件附一个ID号,你可以双击工做空间Resoures下的String Table,双击空白处,创建ID,如本例中IDC_BUTTON
    2.在cpp中见两个全局的对象CStatic* myStatic=new CStatic;
    CButton* myButton1=new CButton;
    3.在OnInitDialog函数中加入如下代码
             myStatic->Create(_T("my static"), WS_CHILD|WS_VISIBLE|SS_CENTER, CRect(110,110,250,250),this);
            myButton1->Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
           CRect(0,0,100,100), this, IDC_BUTTON);
    create()具体用法可参见msdn
    4.添加消息响应函数OnMyButton(),具体做法如下
     1)在.h中假如afx_msg void OnMyButton(); 一定加在//}}AFX_MSG之后,否则可能不响应
     2)在.cpp中加ON_BN_CLICKED(IDC_BUTTON, OnMyButton),同理,定加在//}}AFX_MSG之后
     3)在.cpp中加消息响应函数
    void CStaticbuttonDlg::OnMyButton()
    {
    myStatic->ShowWindow (SW_HIDE);
    myButton1->ShowWindow(SW_HIDE);
    }
    我创建的工程是一个基于对话框的工程Staticbutton,其中CStaticbuttonDlg为系统MFC给你创好的类我已调试过,正常运行
      

  2.   

    CStatic myStatic;这是在栈上创建。
    CStatci *myStatic = new CStatic();这是在堆上创建。为什么在栈上创建的不会显示出来,而在堆上创建的却可以显示出来?
    // Create a static object on the stack.
    CStatic myStatic;// Create a static object on the heap.
    CStatic* pmyStatic = new CStatic;