举个例子:
CYourView::OnDoingSth()
{
...
CButton btn;
CRect rect(10,10,40,40);
btn.Create(str, WS_TABSTOP  and  WS_VISIBLE  and  WS_CHILD  and  BS_CHECKBOX  and  BS_AUTOCHECKBOX,rect, this, IDC_BUTTONID));
...
}

解决方案 »

  1.   

    每种控件都有Create函数。
    因为所有控件都是从CWnd继承而来的。
    调用 YourControl.Create(...);即可在视中创建任何控件了。
    创建完后你还可以改变控件的显示属性:
    YourControl.ModifyStyle(...);
    YourControl.ModifyStyleEx(...);
    一切随心所欲!OK!
      

  2.   

    如果你使用的是CView,在派生视图中声明CButton实例m_btn,在OnCreate()中调用m_btn.Create(...),一刻在你需要开始使用的任何地方创建。如果使用CFormView,则更简单,只需使用对话框资源,然后用ClassWizard关联成员变量。如果需要使用CButton派生类实例,在OnCreate或OnInitialUpdate()中,在对话框资源中加入按钮IDC_BUTTON,用m_inheritedButton.SubclassDlgItem(IDC_BUTTON,this)。
      

  3.   

    例如:
    #define ID_BTN1 100
    CEdit *pEdit;
    CRect rect(100,100,200,200);
    //this为父窗口指针
    pEdit->Create("Click Me",WS_CHILD and WS_VISIBLE and ...,rect,this,ID_BTN1);