2013年5月24日

摘要: 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 阅读全文
posted @ 2013-05-24 23:49 张缤分 阅读(337) 评论(0) 推荐(0)
摘要: 注释宏就是在两行特殊注释中定义的宏,如下: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... 阅读全文
posted @ 2013-05-24 20:52 张缤分 阅读(314) 评论(0) 推荐(0)
摘要: 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 ... 阅读全文
posted @ 2013-05-24 11:21 张缤分 阅读(1853) 评论(0) 推荐(1)

导航