Unicode以及.rc的一点问题

一、宽字符函数对照
二、1.fwscanf(fp, L”%s”, mapname);得到的mapname按宽字符输出为乱码

原因为: fgetws内部调用了mbtowc,而mbtowc属于Locale-Dependent
Routines,而default使用”C” locale,”C” locale对应为ASCII character
set。所以由于代码页的错误,函数解析出错。

解决:CRT中的locale的方面的知识,在此句前加一句 setlocale(LC_ALL,"chs");即可

三、从.rc文件中加载图片(基于Easy_x, 此种方法是把.rc内嵌到exe中)
vs中添加.rc文件,打开资源视图,添加资源,自定义”IMAGE”,在”IMAGE”中再添加资源,选中文件夹中的图片,在资源视图中打开图片属性,ID改为”EMPTY”(注意”“不可以省略)
loadimage(&empty, _T(“IMAGE”), _T(“EMPTY”));

四从.rc加载对话框,并给对话框加图片、按钮等控件
1 2 3 4 5
添加对话框的方法有两种,一种是用MFC写代码,一种是用.rc文件傻瓜式添加。
1. .rc文件添加对话框要用到“窗口回调函数”

BOOL WINAPI HelpDlg_Proc(HWND hwndDlg, 
                        UINT message, 
                        WPARAM wParam, 
                        LPARAM lParam);
DialogBox(GetModuleHandle(0), 
        MAKEINTRESOURCE(HELPDLG), 
        GetHWnd(), 
        HelpDlg_Proc);

2.添加控件利用“Tool box”
3.修改控件信息即修改“属性”

你可能感兴趣的:(Unicode以及.rc的一点问题)