当要画出一个子控件时,框架就调用这个成员函数。多数控件将这个消息发送到它们的父窗口(通常是一个对话框),为使用正确的颜色画出控件而准备pDC。
要改变文本的颜色,使用要求的红、绿、蓝色值(RGB)调用SetTextColor成员函数。
要改变单行编辑控件的背景颜色,在CTLCOLOR_EDIT和CTLCOLOR_MSGBOX消息代码中设置刷子句柄,并在响应CTLCOLOR_EDIT的代码中调用CDC::SetBkColor函数。
不会为下拉组合框中的列表框调用OnCtlColor函数,因为下拉列表框实际上是组合框的子窗口,而不是窗口的子窗口。要改变下拉列表框的颜色,创建一个CcomboBox,在重载的OnCtlColor中的nCtlColor参数中检查CTLCOLOR_LISTBOX。在这个处理函数中,为设置文本的背景必须使用SetBkColor成员函数。
3.2.4 插入图片,设置背景
这个步骤使用Onpaint函数,插入的图片必须是bmp格式图片。例:
void CDistanceBranch::OnPaint()
{
/* CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CDC *pDC=GetDC();
CBitmap bitmap;//定义位图对象
bitmap.LoadBitmap(IDB_BITMAP_DIS); //加载位图
BITMAP bmp; //定义位图结构
bitmap.GetBitmap(&bmp); //获取位图信息
CDC dcCompatible;//定义一个设备上下文
dcCompatible.CreateCompatibleDC(pDC); //选择兼容的设备上下文
dcCompatible.SelectObject(&bitmap); //选中位图对象
pDC->BitBlt(187,72,690,590,&dcCompatible,0,0,SRCCOPY);
bitmap.DeleteObject();
dcCompatible.DeleteDC();*/
// Do not call CDialog::OnPaint() for painting messages
}
3.3数据采集卡程序设计
3.3.1 数据采集卡介绍
诊断仪需要采集的信号路数较多、同时有的信号频率也较高,比如视频放大单元的信号频率达到几MHz,在这样的采样速率要求下,普通的USB接口的数据采集器是不可能实现的,选用ADLINK公司的PCI9812 4通道12位20MSPS同步高速数据采集卡。数据采集卡在显控终端诊断软件的控制下工作。
PCI-9812的最高采样频率为20MHz,采用Bus Master DMA把A/D转换数据直接写入系统内存。为了防止PCI总线延时(latency)造成数据丢失,卡上提供32k采样点的FIFO作为缓存。PCI-9812配有4个20MHz同步采样频率的A/D转换器。高速而且简单的使用方法使得PCI-9812适用于许多应用场合,如图像数字化、医学应用、振动测试设备与射频或基频信号数字化。PCI-9812为高端应用提供最佳性价比的解决方案。主要技术指标如下:
最高采样频率 20 MHz
输入通道 4个单端输入
通道分辨率 12位输入范围
双极性 +1V或+5V(通过卡上焊点选择)
精度 增益误差 +1.5%
输入阻抗 50 / 1.25K / 15M Ω (通过卡上焊点选择)
FIFO大小 整体32K字,每通道8K字
触发源 软件触发、外部数字触发与外部模拟量触发
(通过与内部D/A 设置的触发电平相比较) 电路板故障检测仪软件设计仿真+流程图(11):http://www.751com.cn/tongxin/lunwen_2634.html