我想给一个简单的Win32 Application程序的主窗口里加按钮,我试过先在Initinstance()里申明一个button Object
CButton Mybutton;
Mybutton.creat(...)
但没有成功,请各位老师指点一下我错在哪里,不用APPWizard该怎么做?

解决方案 »

  1.   

    我晕菜了...
    sdk+MFC????????????
      

  2.   

    在dialog的头文件声明CButton m_button;
    在dialog的OnInitDialog中m_button.Create(..);
      

  3.   

    CButton Mybutton; 放错位置了, 运行完 Initinstance 就退出了!
      

  4.   

    加入按钮:在主窗口的WM_CREATE消息中创建
    WM_CREATE:
       hwndButton = CreateWindow( 
        "BUTTON",   // predefined class 
        "OK",       // button text 
        WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
        10,         // starting x position 
        10,         // starting y position 
        100,        // button width 
        100,        // button height 
        hwnd,       // parent window 
        ID_BUTTON,  // Button identifier
        (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), 
        NULL);      
    break;
    响应消息。
    WM_COMMAND:
       switch(LOWORD(wParem))
        case ID_BUTTON:
         {
           //your handling
         }
    break;
      

  5.   

    不知道你在说什么,但是用成员变量的create()函数可以创建。
      

  6.   

    不能在Initinstance里创建的.. 因为这个时候主窗口还没有创建. 你写一万次也不能把它放到主窗口上啊. 把创建按钮的代码放到OnCreate(LPCREATESTRUCT lpCreateStruct) 里面. 
    这个函数是在主窗口的WM_CREATE里调用的...如果你用APPWizard. 如果你真的想看到按钮. 就得把创建按钮的代码放到
    CView::OnCreate(LPCREATESTRUCT lpCreateStruct) 里面. 因为AppWizard最外面的CView是一个子窗口..要不你是不能看到的...
      

  7.   

    抱歉各位,我还是不懂,我的程序有五部分#include<afxwin.h>,winmain(),回调函数,InitApplication(),initinstance(),initinstance里是用createwindow()开的窗口.头文件里加不了,加在winmain()前则报错:error C2504: 'CFrameWnd' : base class undefined等等.另外我不能用appwizard