天狼鼠

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 47 下一页

2011年3月20日

摘要: 问题背景:窗体在重绘时,由于过频的刷新会引起闪烁现象——窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。绘制过程:当窗口整体需要重绘时,系统依次发送WM_NCPAINT、WM_ERASEBKGND、WM_PAINT三个独立的消息,即先绘制框架部分,再绘制客户区背景,最后绘制客户区,根据需要也可能只产生其中某一个消息响应。任何一个window组件的绘图,都是放在OnPaint、OnEraseBkgnd中。在设定上 OnEra 阅读全文
posted @ 2011-03-20 16:32 情有独钟 阅读(663) 评论(0) 推荐(0) 编辑

摘要: 数据库Ado操作类:AdoOperation Class//// 描述:// 1)打开连接时,会尝试连接三次,每次5秒// 2)Debug状态下运行时,每一个函数都有相应的信息输出// 3)执行结果信息有相应输出:// CString m_strExecuteResult; //执行结果// long m_lColumn; //执行结果返回的列数// long m_lRow; //执行结果返回的行数// vector<CString> m_vecColumnName;//执行结果返回的列名容器// 4)适用数据库:MS SQL SERVER / ORACLE//// Author: 阅读全文
posted @ 2011-03-20 16:31 情有独钟 阅读(361) 评论(0) 推荐(0) 编辑

摘要: m_list.SetExtendedStyle(LVS_EX_ONECLICKACTIVATE|LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);m_list.InsertColumn(0,"序号",LVCFMT_LEFT,60);m_list.InsertColumn(1,"地址",LVCFMT_CENTER,128);m_list.InsertColumn(2,"结果",LVCFMT_CENTER,80);m_list.InsertColumn(3,"状态",LVCFMT_CEN 阅读全文
posted @ 2011-03-20 16:30 情有独钟 阅读(539) 评论(0) 推荐(0) 编辑

摘要: 要在程序中创建新设计的控件,显然不能用自动创建的办法,因为对话框模板对新控件的特性一无所知.程序可以用手工方法创建控件,在调用派生类的Create函数时,派生类会调用基类的Create函数创建控件.用Create函数创建控件是一件比较麻烦的工作,程序需要为函数指定一大堆的控件风格以及控件的坐标和ID.特别是控件的坐标,没有经验的程序员很难确切地安排控件的位置和大小,往往需要反复调整.利用MFC的CWnd::SubclassDlgItem提供的动态连接功能,可以避免Create函数的许多麻烦,该函数大大简化了在对话框中创建派生控件的过程. 大家知道,在用手工方法创建控件时,先要构建一个控件对象, 阅读全文
posted @ 2011-03-20 16:29 情有独钟 阅读(565) 评论(0) 推荐(0) 编辑

摘要: 首先,应该清楚MFC的消息循环(::GetMessage,::PeekMessage),消息泵(CWinThread::PumpMessage)和MFC的消息在窗口之间的路由是两件不同的事情。在MFC的应用程序中(应用程序类基于CWinThread继承),必须要有一个消息循环,他的作用是从应用程序的消息队列中读取消息,并把它派送出去(::DispatchMessage)。而消息路由是指消息派送出去之后,系统(USER32.DLL)把消息投递到哪个窗口,以及以后消息在窗口之间的传递是怎样的。 消息分为队列消息(进入线程的消息队列)和非队列消息(不进入线程的消息队列)。对于队列消息,最常见的是鼠标 阅读全文
posted @ 2011-03-20 16:29 情有独钟 阅读(344) 评论(0) 推荐(0) 编辑

上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 47 下一页