首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

是否字体导致的,listbox开始乱码了

2012-12-18 
是不是字体导致的,listbox开始乱码了//填充字符串void FillListBox (HWND hwndList) {TCHAR* str[]{_T(h

是不是字体导致的,listbox开始乱码了


//填充字符串
void FillListBox (HWND hwndList) 
{
    
TCHAR* str[]={_T("hello"), _T("world") ,_T("meinv"),_T("shuaige")};

int i;

for(i=0;i<sizeof(str)/sizeof(char*); i++)
SendMessage(hwndList,LB_ADDSTRING,0,(LPARAM)str[i]);

}



LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     static HWND  hwndList, hwndText ;
     int          iIndex, iLength, cxChar, cyChar ;
     TCHAR      * pVarName, * pVarValue ;

     switch (message)
     {
     case WM_CREATE :
          cxChar = LOWORD (GetDialogBaseUnits ()) ;
          cyChar = HIWORD (GetDialogBaseUnits ()) ;

               // Create listbox and static text windows.
          
          hwndList = CreateWindow (TEXT ("listbox"), NULL,
                              WS_CHILD | WS_VISIBLE |LBS_STANDARD,
                              cxChar, cyChar * 3,
                              cxChar * 16 + GetSystemMetrics (SM_CXVSCROLL),
                              cyChar * 5,
                              hwnd, (HMENU) ID_LIST,
                              (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE),
                              NULL) ;
     

          FillListBox (hwndList) ;


          return 0 ;
          
  
          
     case WM_COMMAND :
          if (LOWORD (wParam) == ID_LIST && HIWORD (wParam) == LBN_SELCHANGE)
          {
                    // Get current selection.



               iIndex  = SendMessage (hwndList, LB_GETCURSEL, 0, 0) ;
               iLength = SendMessage (hwndList, LB_GETTEXTLEN, iIndex, 0) + 1 ;
               pVarName = calloc (iLength, sizeof (TCHAR)) ;
               SendMessage (hwndList, LB_GETTEXT, iIndex, (LPARAM) pVarName) ;

          


               free (pVarName) ;
               free (pVarValue) ;
          }
          return 0 ;

     case WM_DESTROY :
          PostQuitMessage (0) ;
          return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
}



[最优解释]
引用:
引用:i<sizeof(str)/sizeof(char*);

怎么了?

不对吗


不对,一个_T的wchar 一个char
[其他解释]
i<sizeof(str)/sizeof(char*);  
[其他解释]
"是不是字体导致的"
不是,字体不影响编码。
[其他解释]
字体没有影响吧
[其他解释]
编码问题才会导致乱码吗?
[其他解释]
显示(FillListBox),还是读有问题?
[其他解释]
引用:
显示(FillListBox),还是读有问题?


显示是乱码的

[其他解释]
引用:
i<sizeof(str)/sizeof(char*);


怎么了?

不对吗

热点排行