| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 446 人关注过本帖
标题:字符变乱码 新手请教
只看楼主 加入收藏
fuyucao
Rank: 1
等 级:新手上路
帖 子:67
专家分:7
注 册:2011-10-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
字符变乱码 新手请教
我是在下编译的
case WM_DRAWITEM://系统需要对其进行绘制时
  {
ds=(DRAWITEMSTRUCT*)lParam;
  HDC hdc=(HDC)ds->hDC;
  RECT rc=ds->rcItem;
  TCHAR Text[40];
  //选项
  if(wParam==IDC_LIST1)
  {   
  HDC hmdc=CreateCompatibleDC((HDC)hdc);
  RECT rc=ds->rcItem;
  //写文字
  SetBkMode(hdc,TRANSPARENT);
  SendMessage(ds->hwndItem,LB_GETTEXT,ds->itemID,(LPARAM)Text);
  DrawText(hdc,Text,-1,&rc,DT_VCENTER|DT_LEFT|DT_SINGLELINE);
  /* SetBkMode(hdc,TRANSPARENT);  
  sprintf(Text,"%d",ds->itemID+1);
  DrawText(hdc,Text,-1,&rc,DT_VCENTER|DT_LEFT|DT_SINGLELINE);*/   
  }
}
break;
  case WM_MEASUREITEM:
{
ms1=(MEASUREITEMSTRUCT*)lParam;
  ms1->itemHeight=50;
return 0;
}
break;

而我在初始化的时候 定义:
 TCHAR szText[26][32] =  
  {
  L" ", L"B-2", L"B-3", L"B-17[25 meters]", L"B-17[50 meters]", L"B-37", L"MR-31", L"SR-21", L"Rifle A", L"IPSC Metric[26 meters]", L"25-Yard AQT",
  L"T-50X", L"50M Smallbore prone", L"B-11", L"B-40", L"ELK", L"BIATHLON Stand", L"BIATHLON Prone", L"B-27[25 yards]", L"B-27[50 yards]", L"AR-5[10 meters]",  
L"A-17[50 feet]", L"A-32[50 feet]", L"A-50[50 meters]",L"MAN at 25 yards",L"MAN at 10 yards"
  };
我想实现的功能是listbox里面最后显示szText的数据,编译没有问题,就是listbox中显示乱码,请各位多帮忙
2011-11-21 17:35
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:14 
全是英文和数字,TCHAR多此一举.

★★★★★为人民服务★★★★★
2011-11-21 18:57
fuyucao
Rank: 1
等 级:新手上路
帖 子:67
专家分:7
注 册:2011-10-17
收藏
得分:0 
回复 2楼 cnfarer
那应该怎么改?
2011-11-22 07:47
fuyucao
Rank: 1
等 级:新手上路
帖 子:67
专家分:7
注 册:2011-10-17
收藏
得分:0 
已搞定,只要把listbox属性改为有字串就行
2011-11-23 08:11
快速回复:字符变乱码 新手请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018602 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved