1、关于宏定义
2、如何控制Combo Box的下拉长度
<1. 首先要知道两点:一、那就是在设计界面里,点击一下Combo Box的下拉箭头,此时出现的调整框就是Combo Box的下拉调整框。
<2. 属性里有个 No integral height 钩选项,表示最大长度为设计长度,如果实际内容比设计长度多,就出现滚动条,少就以实际长度显示。
3、向LISTBOX,EDIT发消息
SendMessageA(GetDlgItem(hWndContent,IDC_LIST1),LB_ADDSTRING,(WPARAM)0,(LPARAM)"线程发送消息");
//注意:其中第二个参数:LB_ADDSTRING可以有很多种。这是添加。
SetWindowText(GetDlgItem(hWndContent,IDC_EDIT1),tempstr);
4、创建线程
t_CurrThread = CreateThread(NULL, 0, MySendMessage,&pStruCssShmMsgAck, 0, NULL);
5、读INI文件
ItemsCount=GetPrivateProfileInt("CodeDef","Num",0,CONFIG_FILE);
//说明:从CONFIG_FILE指定的文件中取得CodeDef节点下Num=后面的INT值;
GetPrivateProfileString("CodeDef","StationName","未定义",ITEM_INFO[iPosi].cItemName,60-1,CONFIG_FILE);
//说明:从CONFIG_FILE指定的文件中取得CodeDef节点下StationName的值给变量ITEM_INFO[iPosi].cItemName。
6、获取COMBOBOX选取的ITEM的值
GetWindowText(GetDlgItem(hDlg,IDC_CBX_SendTo),szInfo,100);
//说明:hDlg为COMBOBOX类型控件IDC_CBX_SendTo的父容器。取IDC_CBX_SendTo的值给变量szInfo。
7、三个分别是什么意思(LPCTSTR,LPTSTR,LPCSTR)
LPCTSTR解析为:long pointer const TCHAR string。
TCHAR的定义是:如果 UNICODE宏被定义,它就是一个wchar_t宽字符类型, 否则就是一个unsigned char无符号字符类型。
LPCTSTR 就是一个指向TCHAR类型的const指针,也就是代表一个NULL结尾的C风格字符串。
其它的类推。lpstr== long 的指向string的指针
lpcstr== long 的指向const string的指针
LPWSTR== long 的指向word string的指针
LPCSTR: Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters.
LPCTSTR: An LPCWSTR if UNICODE is defined, an LPCSTR otherwise.
LPCWSTR: Pointer to a constant null-terminated string of 16-bit Unicode characters.
LPTSTR: An LPWSTR if UNICODE is defined,an LPSTR otherwise.
LPSTR : Pointer to a null-terminated string of 8-bit Windows (ANSI) characters.
LPWSTR : Pointer to a null-terminated string of 16-bit Unicode characters.
这些数据类型在多个头文件中定义,以下是mapidefs.h中的定义:
typedef WORD WCHAR;
#ifdef UNICODE
typedef WCHAR TCHAR;
#else
typedef char TCHAR;
#endif
typedef WCHAR FAR * LPWSTR;
typedef const WCHAR FAR * LPCWSTR;
typedef TCHAR FAR * LPTSTR;
typedef const TCHAR FAR * LPCTSTR;
typedef BYTE FAR * LPBYTE;
实际上,它们都是char 或 wchar_t类型或该类型的指针:
WORD : typedef unsigned short WORD; 2 bytes
LPCTSTR : typedef const TCHAR *LPCTSTR;
TCHAR : typedef wchar_t TCHAR; 2 bytes
LPTSTR : typedef TCHAR *LPTSTR;
LPCSTR : typedef const CHAR *LPCSTR;
CHAR : typedef char CHAR; 1 byte
说到底,就是1个字节和两个字节的问题~也就是ANSI和Unicode:
char (1 byte) :Type char is an integral type that usually contains members of the execution character set — in Microsoft C++, this is ASCII. (8-bit Windows (ANSI) characters)
__wchar_t(2 bytes) :A variable of __wchar_t designates a wide-character or multibyte character type. By default, wchar_t is a typedef for unsigned short. (16-bit Unicode characters)