MFC鼠标双击后创建对话框问题
1。那个对话框创建在窗口左上角,为什么鼠标移动时对话框背面的主窗口的东西(菜单、图标)会显示出来?
而且只要我双击那个对话框就会出错Assertion failure,调试break在ASSERT(m_hObject == NULL); // only attach once, detach on destroy
我在view 类里建的对话框对象和响应函数
2。我还有一个问题,我想在主窗口单击一行字后出现字体(只是那一段字,不是窗口所有字)被选中的效果,我用了RECT装字段,但是不知道怎么给RECT加背景颜色
不知道我的问题说清楚了没有,那位大虾帮我解释一下,小辈不胜感激
[解决办法]
//MYDialog .H文件class CMyView;class MYDialog : public CDialog{ ...public: MYDialog(CString strText, CWnd* pParent = NULL);private: CString m_strText; CMyView* m_pView;...}//MYDialog .CPP文件#include "MyView.h"MYDialog::MYDialog(CString strText, CWnd* pParent) : CDilalog(...){ m_strText = strText; m_pView = (CMyView*)pParent;}// OnInitDialog函数BOOL MYDialog::OnInitDialog(){ CDialog::OnInitDialog(); ... SetDlgItemText(IDC_EDIT1, m_strText1); ... return TRUE;}// 在EDIT框中修改文字之后,按OK改变界面上的文字BOOL MYDiloag::OnClickButtonOK(){ GetDlgItemText(IDC_EDIT1, m_strText); // 得到修改后的文本信息 m_pView->SetDrawText(m_strText);// 修改视图类中保存文本信息 CDialog::OnOK();}CMyView类 .H文件中class CMyView : public CView{ ...public: void SetDrawText(CString strText);private: CString m_strText; //显示在界面上的文字 ...}CMyView类 .CPP文件中void CMyView::SetDrawText(CString strText){ m_strText = strText; Invalidate();}void CMyView::OnDraw(CDC* pDC){ 。。。 CRect rect; GetClientRect(&rect); pDC->DrawText(m_strText, &rect, DT_CENTER|DT_VCENTER);}