VC 技术小点点

     1、关于宏定义

Code

 

     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)      

 

 

你可能感兴趣的:(技术)