随笔分类 - MFC
摘要:在mainframe的构造函数中创建了一个非模态对话框,在这个非模态对话框的构造函数中创建了另一个非模态对话框,发现第一次创建的非模态对话框将在最前,挡住后来创建的非模态框。把第二个非模态的创建改在第一个非模态的initialdialog中就解决了这一问题若有两个同级的非模态对话框(都在main中创建),那么后创建(create)的将档住先创建的,解决办法是:m_Sc300Form.Create(IDD_SC300_FORM, GetDesktopWindow());(将父窗口设为桌面)
阅读全文
摘要:转载自http://liouwei20051000285.blog.163.com/blog/static/2523674200911535253736/在OnCreat()中创建控件在OnInitUpdate()中初始化控件 int CYourView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFormView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code ...
阅读全文
摘要:没发现有这个事件,于是在PreTranslateMessage里拦截:BOOL CDMFCView::PreTranslateMessage(MSG* pMsg){// TODO: Add your specialized code here and/or call the base classif (pMsg->hwnd == m_flow_wt_edit.m_hWnd && pMsg->message ==WM_LBUTTONDOWN){。。。。。。。。。。。。。。。//响应事件m_flow_rd_edit.SetFocus();pMsg->hwnd =
阅读全文
摘要:例如已建一个MDI,有两个文档。首先要明确一个MDI里的哪些东西有句柄,各是怎么样的:看上图,红线框内的都是具有句柄的,其中,父窗口cstest的子窗口先必须是MDI Client(MDI Client是类型),MDI Client有两个子窗口,子窗口的句柄的text为1(或2),内含Dialog(类型为#32770),Dialog内含控件句柄。在VIEW类中直接使用HWND hWnd = AfxGetMainWnd()->m_hWnd;找到的是父窗口的句柄,即含有两个子文档的大窗口的句柄。在VIEW类中直接使用HWND hWnd=GetSafeHwnd();找到的是激活的子窗口的vie
阅读全文
摘要:1 调出控制台在APP类中的InitInstance()增加以下代码:AllocConsole();SetConsoleTitle(_T("Debug Output"));_tfreopen(_T("CONOUT$"), _T("w"), stdout);2 文本框显示默认的字符只要在OnInitDialog函数添加GetDlgItem(IDC_EDIT6)->SetWindowText("20");就可以了,就在对话框出现(OnInitDialog)之前显示文本框的默认字符(20)3 添加了slider后删
阅读全文
摘要:主要参考来源:http://wgq837051.iteye.com/blog/851915和http://www.cppblog.com/cs-xiaolee/archive/2011/12/01/161292.html(好博!)以上是针对不同文档需要不同类的,比如一个是原理图,一个是PCB的文档。如果所有文档采用同样的VIEW类,可以在初始化app的时候新建一个文档:pMainFrame->SendMessage(WM_COMMAND, ID_FILE_NEW, 0);怎么让当前的窗口响应当前窗口上的按钮呢?怎么让使用同一个类的不同窗口做不同的事呢?下面我用这个笨方法。。。1 用上述方
阅读全文
摘要:刚开始从C++向MFC过渡的时候,发现一个HELLO就要上百行语句,面对Wizard一头N个大,一打开电脑就问自己,这东西是从哪开始的啊,WinMain哪去了,我靠了,上百行写个HELLO还找不到WinMain,找不到WinMain我从哪开始学啊我?再后来发现不光是WinMain,注册窗口类,消息循环,窗口函数,CreateWindow通通没有,想改个窗口标题都没地找,在一大堆书和光盘中爬行了几个月后突然发现一个手工写的纯MFC程序就16行代码,可以正常编译运行,就拿出C++编程的那点底子,不就16行吗,一天一行半个月我也通了.果然经过一翻..啊..再结合以前看过的书和光盘,今天终于大功告成,
阅读全文
浙公网安备 33010602011771号