CWnd类的对象和窗口的问题 当然可以不关联对象拉之所以要一个继承窗口的对象,是方便对窗口的操作.在win32 sdk编程中用句柄来标示窗口。只要在api中加入窗口句柄就可以对窗口操作。而在MFC中窗口类对句柄进行了封装,所以只有通过对象才能操作窗口
在MFC怎么中设置窗口大小和位置? 使用SetWindowPos函数CWnd:SetWindowPosBOOL SetWindowPos(const CWnd*pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags)。返回值32313133353236313431303231363533e4b893e5b19e31333365643662如果函数成功,则返回非零值;否则返回0。注意:这个窗口不是活动窗口。应用程序不能激活一个非活动窗口但同时又不把它带到Z轴次序的顶部。应用程序可以没有任何限制地改变活动窗口的Z轴次序。非顶层窗口可能拥有一个顶层窗口,但是反之则不成立。任何被顶层窗口拥有的窗口(例如对话框)都将自己变为顶层窗口,以确保所有被拥有的窗口位于它们的拥有者上方。在Windows 3.1或更新的版本中,可以将窗口移动到Z轴次序的顶部,并通过设置它们的WS_EX_TOPMOST风格而将之锁定在那里。使用MoveWindow函数void CWnd:MoveWindow(int x,int y,int nWidth,int nHeight,BOOL bRepaint=TRUE);void CWnd:MoveWindow(LPCRECT lpRect,BOOL bRepaint=TRUE);参数:x指定了CWnd的左边的新位置。y指定了CWnd的顶部的新位置。nWidth指定了CWnd的新宽度。nHeight指定了CWnd的新高度。bRepaint指定了是否要重画CWnd。如果为TRUE,则CWnd象通常那样在OnPaint消息处理函数中接收到一条WM_。
MFC 使用CWnd 自定义控件 这个不难。class MyLabel:public CStatic{private:CEdit m_edit;public:void InitEdit(){ m_edit.Create(this,rc,.)}}那就可以直接拖一个静态static控件,关联变量后把变量类型修改为MyLabel,然后在OnInitDialog函数中调用InitEdit去创建edit。
MFC中,自定义CWnd派生的类如何在线程中发送消息调用自定义函数? 使用sendmessage或者postmessage就可以了
MFC中新建一个自定义的窗口 生成一个CWnd实例就可以,用的时候Create,比如void CMyDlg:OnCreateStatic(){CWnd*pWnd=new CWnd;pWnd->;Create(_T(\"STATIC\"),\"Hi\",WS_CHILD|WS_VISIBLE,CRect(0,0,20,20),this,1234);}关闭它用CWnd:DestroyWindow也可以从CWnd派生自己的窗口类,用法跟上面一样
MFC怎么在对话框中的静态文本区中创建一个派生自CWnd的窗口 很简单:NewTest wnd;成员变量假设这个静态文本框ID是 IDRCWnd*p=GetDlgItem(IDR);wnd.Create(p->;m_hWnd,.);至于继承CWnd来写一个控件,我有个例子http://blog.csdn.net/zhoujielunzhimi/article/details/8480959
MFC自定义窗口创建的问题 你说的比较混乱。集成自CWnd的窗口类,自带Create和ShowWindow方法(函数),你类里面甚至什么都不用写(除了构造和析构函数),就可以显示和隐藏了,根本不需要一个CWnd*的成员变量。
MFC中 自定义类的构造函数里 用CWnd * 作为构造参数出现对象变成函数的问题? 1、在按百钮zd所在的对话框上面,添加一个CEdit控件,并利用类向导生成度一个CEdit的Control变量m_ctrlEdit;2、将m_ctrlEdit的类型改成回派出的类(如:版将CEdit m_ctrlEdit;改成CMyEdit m_ctrlEdit)3、添加按钮单击事件,并在里面控制m_ctrlEdit的显示答与否:m_ctrlEdit.ShowWindow(SW_HIDE);隐藏编辑框权m_ctrlEdit.ShowWindow(SW_SHOW);显示编辑框