资源描述:
《vc++深入详解学习笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、学习笔记在程序运行时,当对话框及其子控件创建完成将要显示之前发送一个WM_INITDIALOG因此在此消息响应函数中修改编辑框的串口过程。比如设置焦点WM_CTLCOLOR消息:在一个子控件绘制时,会向父窗口发送此消息,来准备设备上下文,以便使用正确的的颜色来绘制该控件响应函数:OnCtlColor包含pDC指针:绘制控件上下文当前指针pWnd和一个要绘制的控件类型。其值返回到画刷10.7位图的显示1.创建位图2.创建兼容DC3.将位图选入兼容DC4.将兼容DC中的位图贴到当前DC中当擦除窗口时消息:WM_E
2、RASRBKGNDOnEraseBkgnd(CDC*pDC)BOOLCMoniView::OnEraseBkgnd(CDC*pDC){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCBitmapbitmap;bitmap.LoadBitmap(IDB_BITMAP1);CDCdcCompatible;dcCompatible.CreateCompatibleDC(pDC);//创建一个和pDC指向DC兼容DC,dcCompatible.SelectO
3、bject(&bitmap);CRectrect;GetClientRect(&rect);pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);returnCView::OnEraseBkgnd(pDC);}然而,BitBlt是1:1复制的此时就需要另外一个复制函数StretchBItBITMAPbmp;bitmap.GetBitmap(&bmp);在构建好bitmap后用GetBitmap函数来获取其结构体BITMAP对
4、象bmp的值。并使用到StretchBIt来表明对象的宽和高实现代码:pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);loanapprovalandpostcreditapprovalofficer/atalllevelsinaccordancewithcreditapprovalrules,licensingandeventualexerciseofcredi
5、tdecisionpowerofpersonsorinstitutions.Reviewfindingsandreviewcomments,accordingtotheBank'scredit本例子在擦除窗口的时候来完成的也可以用视类提供的类似WM_PAINT消息响应函数的OnDraw函数在窗口重绘的时候来完成。11图形的保存和重绘WIN32应用程序编程接口(API)四种坐标系:1.世界坐标空间2.页面空间以上是逻辑空间,用世界坐标来完成旋转,斜切或者反射3.设备空间4.物理设备空间物理设备随(:打印机,显示
6、器)设置尺寸而变化当应用程序调用SetWorldTransform1->2->3->4(多为屏幕)在实际编程中主要是从页面空间开始页面空间到设备空间的转换,所用的是两个矩形的宽高比例从窗口原点到视口原点的转换设备空间到物理空间转换只用于平移,而这是由Windows控制的只需要考虑从页面空间到设备空间的转换Windows对所有消息,所有非GDI函数和一些GDI函数永远使用设备坐标映射模式默认为像素模式MM_TEXT可以用SetMapMode来改变模式逻辑坐标和设备坐标而在事件如鼠标单击中是以设备坐标为单位即为像
7、素为单位的值CDC中提供2个成员函数:SetViewportOrg和SetWindowOrg对于重绘图形只需要在OnDraw函数中利用结构体来保存起点终点和绘制类型就可以重绘了创建结构体后我们可以用数组来保存这些创建的对象了但是数组对象有个缺点就是只能存储一定的容量的元素而每次绘制的图形个数是不定的因此要采用动态的存储结构来保存这些对象如链表集合类:CString的集合类CStringArray容量是可以动态增加的CPtrArray 支持void类型的指针数组,void*,任何类型的指针都能够直接赋值给他,无
8、需进行强制类型转换:为什么设置开关后会要先点一下才能使用铅笔工具因为事件是在mousedown的时候开始的当mouseup中case5运行时才调用mousemove函数。loanapprovalandpostcreditapprovalofficer/atalllevelsinaccordancewithcreditapprovalrules,licensingandeventualexercise