摘要:使用vc6 在点击左侧class view中的一个方法实现时出现下面错误:cannot find the definition (implementation) of this function解决方法:删除工作目录下面的*.opt *.ncb *.plg *.aps,然后rebuid all
阅读全文
摘要:设置窗口Z次序、位置及大小可以使用CWnd::SetWindowPos这个函数,下面介绍一下他的各个参数。首先说明一下什么是窗口Z次序,他是在屏幕里一个虚拟的轴线,从里向外。如果把屏幕的的宽看作X轴,把屏幕的高看作Y轴的话,Z次序就是垂直于这两个轴线的一条轴,主要作用就是排列窗口的顺序,哪个窗口优先激活等等。constCWnd*pWndInsertAfter这个参数是设置窗口的Z次序的,其中有这样几个选项:wndBottom:设置为底层窗口;wndTop:设置顶层窗口;wndTopMost:设置为最顶层窗口;wndNoTopMost:设置为仅次于最顶层窗口。如果这个值不使用可以设置成NULL。
阅读全文
摘要:通过classwizard添加类的消息响应函数之后,类视图中对应的类不见了此为VC++6.0的BUG解决办法:STEP1:打开文件视图,找到丢失类对应文件的头文件,定位在变量定义处STEP2:打开类视图STEP3:在STEP1中任意变量的定义处的行尾按回车
阅读全文
摘要:OnNcLButtonDown和OnNcLButtonUp是非客户区响应函数,在CMainFrame中右击Add Windows Message Headle中是没有显示的。具体的做法是:点击view->ClassWizard,在出现的对话框,切换到CLASS INFO 选项卡,在Message filter中选择Windows,点击“确定”。在CMainFrame中右击Add Windows Message Headle。。。就会出现OnNcLButtonDown
阅读全文
摘要:MFC用CWindowDC类实现画线时,本来应该在整个框架窗口都能画的,可是实际上不能在标题栏画,菜单栏和工具栏都可以,而且画在view区的线条,平移到frame窗口上了,即相对view的坐标(0,0),变成相对frame的坐标(0,0)了。疑问:如何修改代码,可以实现1.鼠标可以在标题栏画线2.鼠标落在哪里,线条就画在哪里1 CWindowDC dc(GetParent());2 dc.MoveTo(m_ptOrigin);3 dc.LineTo(point);原因探索:非客户区域的鼠标消息和客户区的鼠标消息不同的,需要区分处理。afx_msgvoidOnNcLButtonDown(UINT
阅读全文
摘要:注释宏就是在两行特殊注释中定义的宏,如下:1 //{{AFX_MSG(CZjDraw2View)2 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);3 //}}AFX_MSG4 DECLARE_MESSAGE_MAP()在VC++6.0中用ClassWizard自动生成的,定义的宏就生成在像上面的两行注释中,这是让ClassWizard能够分辨出哪些代码是它自动生成的哪些是你写的。如果宏定义在这两行代码外面,ClassWizard再修改消息映射的时候就不会管这个宏了。注释宏是为ClassWiza...
阅读全文
摘要:1 CWinThread* AFXAPI AfxGetThread() 2 { 3 // check for current thread in module thread state 4 AFX_MODULE_THREAD_STATE* pState = AfxGetModuleThreadState(); 5 CWinThread* pThread = pState->m_pCurrentWinThread; 6 7 // if no CWinThread for the module, then use the global app 8 if ...
阅读全文