欢迎来到天天文库
浏览记录
ID:45908593
大小:63.50 KB
页数:3页
时间:2019-11-19
《计算机程序员实习日记范文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算机程序员实习日记范文05-14星期一ListCtrl中LVITEMIpara有很广泛的用处,我们可以通过这个参数实现list控件的排序功能,这里需要注意的是使用LVITEM中的LPARAM,但是SetltemData函数似乎又是对LVITEM的IPara进行设置的这里的关系似乎很微妙,但是我们一定要注意不能混淆。类中的成员函数可以单独的声明为模板函数,但是模板函数的实现要放在头文件中。GDI+中没有提供绘制圆角方的函数,我们需要通过GraphicPath类进行模拟来实现。鼠标跟踪消息的要点:响应消息WM_MOU
2、SEMOVEWMMOUSELEAVEWMMOUSEHOVER在WM_MOUSEMOVE消息中处理_TrackMouseEvent()函数。05-15星期二我们在使用tooltip的时候,有以下几个关键点:1,创建CToolTipCtrl对象,Create()函数实现。2,使用AddTool()函数向这个tooltip中加入tools,这也是绑定tool到某个控件的过程,从中我们可以知道在这个CToolTipCtrl对象中应该存在着不止一个tool,而是一系列的tool,通过函数DelTool实现删除,AddTool
3、实现添加,UpdateTipText实现更新tool的文本。3,最关键的是我们需要一个触发tooltip的关键点,这个关键点控制着何时显示这个tooltip,—般情况下我们在PreTranslateMessage()函数中进行处理,这也是我们拦截WM_MOUSEMOVE的地方,拦截之后,我们调用tooltip的RelayEvent向toolTip对象传递这个消息用以表示tooltip可以被显示或者更新。静态链接MFCDLL模块的时候,由于MFC总是使用它所练级额的DLL模块状态,所以不存在模块管理的问题。!1!调试
4、DLL的时候,我们需要exe文件的配合,所以先要生成exe测试文件,然后将DLL工程设置成active,这时候会岀现exe路径提示对话框,我们将测试用的exe路径填入就可以了。05-16星期三CToolTipCtrl函类中的RelayEvent()函数的存在理由,试想当我们的鼠标在一个窗体上滑动的时候,会发生什么情况,如果鼠标下方的窗体是一个子窗体,那么这个子窗体将会收到鼠标的消息,而主窗体的鼠标消息因此被屏蔽,windows是通过这种方式来处理消息的,这里CToolTipCtrl对象也需要受到消息来进行处理,但是
5、这些鼠标消息却不能流向CToolTipCtr对象,这就是问题的关键之所在,如何将消息导向CtoolTipCtrl就成了关键,一般我们会在PretranslateMessage()函数中拦截消息之后使之导向CTOOLTipCtrl这个导向所用的函数就是RelayEvent函数。Youcanhavemessagesrelayedautomaticallyif:ThetoolisacontrolorisdefinedasarectangleinthetooPsTOOLINFOstructure.Thewindowasso
6、ciatedwiththetoolisinthesamethreadasthetooltipcontrol.Ifthesetwoconditionsaremet,settheTTF_SUBCLASSflagintheuFlagsmemberofthetool'sTOOLINFOstructurewhenyouaddthetooltothetooltipcontrolwithTTM_ADDTOOL.Thenecessarymousemessagesthenwillberelayedautomaticallytothe
7、tooltipcontrol.有关ToolTip控件的讨论目前还存在疑惑,1当我们使用LPSTR_TEXTCALLBACK的时候为什么ON_NOTIFY()可以得倒响应消息,却会在某个时间点出现Stackrunover的错误。
此文档下载收益归作者所有