摘要:
不同打印设备的分辨率不同。热敏打印机、针式打印机、PDF虚拟打印机,分辨率不同,显示相同的距离(例如5cm)所需要的像素数不同。所以,如果创建GDI对象时,采用固定的像素值,那么在不同的打印设备上打印出来的图形、文字的实际大小是不同的。例如,创建字体,nHeight设为48,在热敏打印机上打印出来, 阅读全文
摘要:
在MFC界面中,控件的TAB顺序如果乱了,不合理,可能会使界面出现意料之外的显示。 例如,在用Spin Control来对Edit Control内的值进行增减时,如果Edit Control、Spin Control及其它控件的TAB顺序不对,则可能使控件文本的显示不正确。 Spin Contro 阅读全文
摘要:
LPCTSTR用来表示字符是否使用UNICODE。 如果程序定义了UNICODE或者其他相关的宏,那么这个字符或者字符串将被作为UNICODE字符串,否则就是标准的ANSI字符串。 类型理解:L,表示long指针。这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的 阅读全文
摘要:
1. 需要保存若干同类数据项时,用vector比较方便。不用管理下标,直接push_back即可。 2. 当程序重复执行一段代码时,之前保存数据用的vector需要清空。因为不是按照下标保存的数据,不清空原有数据直接push_back的话,那么使用数据时只取vector的前若干项,还是之前保存的数据 阅读全文
摘要:
需要在ListBox控件中显示一些信息。为方便查看,不使用水平滚动条。当要输出的字符串占用的宽度超过ListBox的宽度时,截断字符串,剩余的在下一行显示。 1. 计算ListBox所占的宽度,用GetClientRect。 GetClientRect返回的是客户区的大小。当ListBox中有垂直滚 阅读全文
摘要:
利用最小二乘法进行多项式拟合时,最终归结为求解一个关于a1, a2, a3, ..., an的线性方程组,其矩阵表示如下:求解该方程组的方法有两种。其一,用高斯消元法,解方程组。其二,用矩阵运算,X*A=Y,则A=X^-1*Y。 阅读全文
摘要:
有时候我有在用Win32 API来向窗体上添加控件时,通过CreateWindow或CreateWindowEx创建出来的控件的风格不像XP风格,而是像Windows 2000的风格,界面很难看。注意,是动态调用CreateWindow来创建控件,不是从资源中加载。这种情况下,我们怎么办呢,通常说来... 阅读全文
摘要:
通过串口调试软件UartAssist.exe 和虚拟串口软件VSPM,可以解决串口编程时没用硬件调试的问题,通过VSPM虚拟出串口设备,让程序发送信息到 VSPM 设备后通过UartAssist.exe 直接回显信息,可以方便的调试串口通信程序。UartAssist 下载:http://downlo... 阅读全文
摘要:
编写串口通信程序后,如何调试?测试?当然,可以直接连接硬件进行测试是最理想的。在没有硬件的情况下,可以使用虚拟串口工具和串口调试助手进行测试。1. 虚拟串口工具VSPM使用虚拟串口工具VSPM,可以虚拟出多个串口,通过设置,可以使其中的两个串口互联,参照:http://blog.csdn.net/z... 阅读全文
摘要:
在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活。其二是调用Windows的API函数,这种方法可以清楚地掌握串口通信的机制,并且自由灵活。本文只介绍API串口通信部分。 串口的操作可以有两种操作方式:同步操作方式和重叠操作方式(又称为... 阅读全文