建立的vc工程包括x.cpp x.rc. ChildView.cpp MainFrm.cpp StdAfx.cpp 及其相关的头文件;问题是,我想在客户区里加一个按钮,及其响应的响应函数;1、在MainFrm.cpp 里面添加代码,可以显示按钮,但是不响应函数;2、在x.pp 或者ChildView.cpp 里面添加代码,不显示按钮
请问这个问题怎么解决啊。。在线等高手。。
请问这个问题怎么解决啊。。在线等高手。。
解决方案 »
- 如何查询两个表中的合并语句?
- 早中晚上班制的程序逻辑该怎么写
- 自动扫雷
- C*DLG dlg;dlg.domodal();为什么不执行oninitdialog()函数呢?
- 如何通过当前窗口的窗口句柄得到它所属进程的进程名(xx.exe)
- 怎么获得树的先前选中的节点
- 让一个ComboBox的显示字符串以给定的颜色显示,怎么做?
- 不用VC向导,我想继承CWinApp基类,怎样才能在ClassWizard中看见呢?
- 大侠帮忙,控件重画和在控件上画图的问题
- 怎么在Doc类中调用Invalidate?
- 求教数学专家,大侠,大牛!!实用几何方面的疑难问题!
- 纯资源DLL中,包含Custom Control的对话框不能创建问题。
===================
你上面的写法能过编译吗?定义和Create写在一起?
先给视图类加一个CButton的成员变量m_button;
然后在视图类的WM_CREATE消息处理函数中创建就行了:
int CMy4444View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
m_button.Create (_T ("Sample text"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect (100,100,120,120), this, 222);
// TODO: 在此添加您专用的创建代码
return 0;
}
另外,CRect (100,100,120,120),这个矩形也太小了,上面的字符根本就显示不出来。改大点吧。
我是在OnDraw()里面添加的;2、关于MFC中各个文件之间的关系,经常让我头疼能不能介绍相关的文章或者书籍给我读一下啊?谢谢了!
我是在OnDraw()里面添加的
=====================
OnCreate是WM_CREATE消息的处理函数,默认情况下没有加这个函数,你在消息映射中添加WM_CREATE消息的处理函数,它就出来了。关于MFC中各个文件之间的关系,经常让我头疼能不能介绍相关的文章或者书籍给我读一下啊?
========================
这些文件的关系一般入门MFC书中都有介绍吧。其实也简单,以单文档为例:有一个CMainFrame这个对应着主框架类,也就是视图类的父窗口,对应文件应该是MainFrm.cpp和MainFrm.h,一般有CXXXApp类,是应用程序类,对应文件名和你的工程名应该相同。另外一个视图类和一个文档类都是很明显的。
OnCreate是WM_CREATE消息的处理函数,默认情况下没有加这个函数,你在消息映射中添加WM_CREATE消息的处理函数,它就出来了。
呵呵我那个问题真的低级问题。。多谢了啊。。
在视图类的OnInitUpdate()函数中加试试
=====================正解啊!多谢啦!