是一个CreateWindow 的 消息处理程序
switch(message)
{
case WM_INITDIALOG:
xScroll=GetSystemMetrics(SM_CXVSCROLL); //获得滚动条宽度 GetClientRect(hwnd,&rect); //窗口大小 hScroll=CreateWindow(TEXT("scrollbar"),NULL,
WS_CHILD|WS_VISIBLE|SBS_VERT,
(rect.right-rect.left)-xScroll,0,xScroll,rect.bottom-rect.top,hwnd,(HMENU)ID_SCROLL,hInst,NULL);
SetFocus(hwnd);
hResource=LoadResource(hInst, //获得文本句柄
FindResource(hInst,MAKEINTRESOURCE(IDR_TEXT1),
L"TEXT"
));
pText=(TCHAR*) LockResource( hResource //获得文本首字节指针
);
while(*pText != '\\' && *pText!='\0') //获得行数
{
if(*pText=='\n')
iNumLines++;
pText=CharNext(pText);
}
*pText='\0';
这个是WM_PAINT消息 case WM_PAINT: //输出文字
hdc=BeginPaint(hwnd,&pt);
pText = (TCHAR *) LockResource (hResource) ; GetClientRect(hwnd,&rect);
rect.left+=2;
rect.top+=2;
DrawText(hdc,pText,-1,&rect,DT_EDITCONTROL | DT_WORDBREAK|DT_NOPREFIX);
EndPaint(hwnd,&pt);
return TRUE;这个是rc文件LANGUAGE LANG_CHINESE_SIMPLIFIED, SUBLANG_CHINESE_SIMPLIFIED
IDD_BUTTON2 DIALOG 0, 0, 193, 119
STYLE DS_3DLOOK | DS_CENTER | DS_SHELLFONT | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_THICKFRAME | WS_SYSMENU
EXSTYLE WS_EX_WINDOWEDGE
CAPTION "Dialog"
FONT 8, "Ms Shell Dlg 2"
{
}总是输出乱码.汇编学了基本的. 但是这个要是调试的话该怎么查找错误啊.
好像是pText指针有问题. 谢谢大家!
FONT 8, "Ms Shell Dlg 2"
改为中文字体看看,在对话框属性里有设置。
在project-》setting 对话框中的Resources中的Language可以选择中文(中国)
或者在输出前加一句TRACE("%S\n",pText);
pDC->DrawText(....)
是ansi字符的.. 六楼的. 如果要unicode字符的那该怎么办呢 ?
是pText指针没错.但是我还是找不到问题所在..大家帮帮我. 谢谢!