摘要: 转载自: http://hi.baidu.com/jisywh/item/dec513ec9f9d3106560f1dee 要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。 我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义: #define MAX( a, b) ( (a) > (b) (a) : (b) ) 其次,把它用函数来实现: int ... 阅读全文
posted @ 2013-08-15 10:21 二师兄89 阅读(391) 评论(0) 推荐(0)
摘要: 头文件:#if !defined(AFX_LINECOLORLISTCTRL_H__92EB1CD4_CD33_4E02_A098_367A8FEFF38E__INCLUDED_)#define AFX_LINECOLORLISTCTRL_H__92EB1CD4_CD33_4E02_A098_367A8FEFF38E__INCLUDED_#if _MSC_VER > 1000#pragma once#endif#include typedef struct { COLORREF colText; COLORREF colTextBk;}TEXT_BK;// CLineColorL... 阅读全文
posted @ 2013-08-15 10:08 二师兄89 阅读(930) 评论(0) 推荐(0)
摘要: 在XP或2003系统上运行WIN7SP1环境下所编译的ADO程序,多半是由于ADO文件版本过高的缘故,替换为低版本文件并重新编译后就可在低版本系统上运行。把xp系统下的msado15.dll、msjro.dll文件复制到win7下,放到一个文件夹下,如下:D:\Test。然后修改代码中import的引用路径。这样就可以编辑了。#import"D:\Test\msado15.dll"rename("EOF","EndOfFile")#import"D:\Test\msjro.dll"no_namespacerenam 阅读全文
posted @ 2013-08-08 16:21 二师兄89 阅读(300) 评论(0) 推荐(0)
摘要: // 包括 SDKDDKVer.h 将定义最高版本的可用 Windows 平台。// 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将// WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。#include #define _WIN32_WINNT _WIN32_WINNT_WINXP#include 在target.h中添加以上代码,有可能编译的时候总是在#include 处报错:Unexpected end of file我这边是重启下vs2010,再重新生成就可以。同时设置Debug/Release属性Debug:设置 阅读全文
posted @ 2013-08-07 18:22 二师兄89 阅读(811) 评论(0) 推荐(0)
摘要: 连接界面: 界面初始操作: m_ComboBaudrate.AddString(_T("9600")); m_ComboBaudrate.AddString(_T("38400")); m_ComboBaudrate.AddString(_T("57600")); m_ComboBaudrate.AddString(_T("115200")); m_ComboBaudrate.SetCurSel(0);连接串口,获取系统中可用的COM:void CMyDialog::EnumerateSerialPorts(CUI 阅读全文
posted @ 2013-08-06 18:05 二师兄89 阅读(1985) 评论(0) 推荐(0)
摘要: 菜单结构一个菜单栏可以有若干个子菜单,而一个子菜单又可有若干个菜单项。对于菜单栏的子菜单,由左至右从0开始索引。对于特定的子菜单的菜单项,由上至下建立从0开始的索引。访问子菜单和菜单项,均可通过其索引或标识进行。对于在窗口客户区右键弹出的菜单,如果弹出菜单归属View 类窗口,则菜单项只能响应View 和Doc 类消息点击。如果弹出菜单归属框架窗口,弹出菜单上的消息的路由遵循View -DOC-MainFrame-APP的响应顺序 。菜单的相关重要函数CMenu* GetMenu( ) ; // 得到菜单指针CMenu* GetSubMenu( ) ;// 得到子菜单指针,也就是弹出菜单指.. 阅读全文
posted @ 2013-08-06 17:57 二师兄89 阅读(161) 评论(0) 推荐(0)
摘要: 配置文件中经常用到ini文件,在VC中其函数分别为:写入.ini文件:BOOL WritePrivateProfileString( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名 LPCTSTR lpString, // 键值,也就是数据 LPCTSTR lpFileName // INI文件的路径);读取.ini文件:DWORD GetPrivateProfileString( LPCTSTR lpAppName, ... 阅读全文
posted @ 2013-08-06 17:53 二师兄89 阅读(503) 评论(0) 推荐(0)
摘要: 头文件:#pragma once#include "resource.h"#include class CMyListBox : public CListBox{public: CMyListBox(); virtual ~CMyListBox();public: void AppendString(LPCTSTR lpszText); void AppendString(LPCTSTR lpszText, COLORREF fgColor, COLORREF bgColor = RGB(255, 255, 255)); void AddColorType();... 阅读全文
posted @ 2013-08-06 17:38 二师兄89 阅读(498) 评论(0) 推荐(0)
摘要: 头文件:#pragma once#include "resource.h"#include "afxwin.h"class CMyEdit : public CEdit{ DECLARE_DYNAMIC(CMyEdit)public: CMyEdit(); virtual ~CMyEdit();protected: DECLARE_MESSAGE_MAP()public: void SetBackColor(COLORREF rgb); //设置背景色 void SetTextColor(COLORREF rgb); //设置文本颜色 vo... 阅读全文
posted @ 2013-08-06 17:32 二师兄89 阅读(385) 评论(0) 推荐(0)
摘要: 头文件中主要定义: long lFirstLBound; long lFirstUBound; long lSecondLBound; long lSecondUBound; CWorkbook book; CWorkbooks books; CWorksheet sheet; CWorksheets sheets; CRange range; CApplication ... 阅读全文
posted @ 2013-08-06 17:28 二师兄89 阅读(1030) 评论(0) 推荐(0)