看了孙鑫大大的第三课视频,在VS2008上操作的时候怎么不能实现!!在MFC工程Draw中的View类中添加一个按钮!
首先就是添加变量private的 CButton m_btn; 然后添加函数OnCreate(LPCREATESTRUCT lpCreateStruct);
最后按书上的操作在CDrawView类中是这样的
int CDrawView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(CView::OnCreate(lpCreateStruct)==-1)
return -1;
m_btn.Create(_T("AnNiu"),WS_CHILD|BS_DEFPUSHBUTTON,CRect(0,0,100,100),this,123);
m_btn.ShowWindow(SW_SHOWNORMAL);
return 0;
}但是在执行的时候却始终没有按钮出现求解啊
首先就是添加变量private的 CButton m_btn; 然后添加函数OnCreate(LPCREATESTRUCT lpCreateStruct);
最后按书上的操作在CDrawView类中是这样的
int CDrawView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(CView::OnCreate(lpCreateStruct)==-1)
return -1;
m_btn.Create(_T("AnNiu"),WS_CHILD|BS_DEFPUSHBUTTON,CRect(0,0,100,100),this,123);
m_btn.ShowWindow(SW_SHOWNORMAL);
return 0;
}但是在执行的时候却始终没有按钮出现求解啊
this
->
GetParent()
m_btn.ShowWindow(SW_SHOWNORMAL);
BEGIN_MESSAGE_MAP(CTest1View, CView)
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CTest1View::OnFilePrintPreview)
ON_WM_CONTEXTMENU()
ON_WM_RBUTTONUP()
END_MESSAGE_MAP();
添加一行ON_WM_CREATE();
再在view.h中
afx_msg void OnFilePrintPreview();
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
DECLARE_MESSAGE_MAP()
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);//加这一行
};
还有m_btn必须是view类的成员CButton类型的
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1; // TODO: Add your specialized creation code here
btn.Create("按钮",BS_PUSHBUTTON,CRect(10,10,100,30),this,1);
btn.ShowWindow(SW_SHOWNORMAL);
return 0;
}没问题,感觉是你创建的文档有问题,是否创建的是单文档应用程序?以及一些设置是否正确