在线等,如何添加一个从CWnd派生的类? 我建了一个MFC EXE的工程,(Diaglog Based),我想添加一个从CWnd派生的类,但是ClassWizard中根本没有这个基类(basic class),我该如何实现! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ClassWizard能认出的类必须有一定的标志.你用ClassWizard的new-->class来派生一个类就可以了 Class view->new class->select the base class wiht generic wnd! 那就手动创建吧,如class CGridCtrl : public CWnd{ DECLARE_DYNCREATE(CGridCtrl)public: CGridCtrl(int nRows = 0, int nCols = 0, int nFixedRows = 0, int nFixedCols = 0); BOOL Create(const RECT& rect, CWnd* parent, UINT nID, DWORD dwStyle = WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE); BOOL SubclassWindow(HWND hWnd);} 用ClassWizard的new --> class 来派生,在New Class对话框里的Class Type选择Generic class,在Base Class里直接填入CWnd即可 你们是说从generic class 派生吗,我选了在New Class对话框里的Class Type选择Generic class,在Base Class里直接填入CWnd即可 ,但是这样的话,就没法加入 afx_msg void OnPaint(); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnDestroy(); afx_msg void OnRButtonDown(UINT nFlags, CPoint point);这些虚函数的派生了?5555555555 从generic class 派生果然没错,谢了!!!!! Invalidate()函数怎么用,为什么我编译不过呢。 检测线程存在问题? 给个建议,我该设计什么软件? 怎么让ToolBar不可以让用户移动呢? 在解析地址时出现WSA错误码11004,该如何解决? 关于夸平台运行 请教:如何显示和隐藏一批控件? 请问如何在windows系统的快捷菜单中加入自己的内容? 一个关于CAsyncSocket的疑问?有兴趣进来看看吧! 请教CString的Format问题 如何获得控件的大小? 在MFC中使用c函数的问题
你用ClassWizard的new-->class来派生一个类就可以了
{
DECLARE_DYNCREATE(CGridCtrl)
public:
CGridCtrl(int nRows = 0, int nCols = 0, int nFixedRows = 0, int nFixedCols = 0); BOOL Create(const RECT& rect, CWnd* parent, UINT nID,
DWORD dwStyle = WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE);
BOOL SubclassWindow(HWND hWnd);
}
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnDestroy();
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
这些虚函数的派生了?
5555555555