请问win32项目怎么实现程序的多语言?
我在文件里创建了两组控件,一个是中文,一个是英文。请问怎么编程实现切换?就像下图所示
查阅msdn文档后没太看懂,有人帮一下嘛,困住好久了
我自己写的.rc代码如下:
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// 中文(简体,中国) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_LAB5 ICON "lab5.ico"
IDI_SMALL ICON "small.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDC_LAB5 MENU
BEGIN
POPUP "文件(&F)"
BEGIN
MENUITEM "退出(&X)", IDM_EXIT
END
POPUP "对话框(&O)"
BEGIN
MENUITEM "模式对话框(&M)...\tCtrl+A", ID_32771
MENUITEM "无模式对话框(&L)...\tCtrl+B", ID_32772
MENUITEM "文件对话框(&F)...\tCtrl+C", ID_Menu
END
POPUP "光标类型(&C)"
BEGIN
MENUITEM "光标&1(箭头)\tCtrl+1", ID_32774
MENUITEM "光标&2(十字)\tCtrl+2", ID_32775
MENUITEM "光标&3(自定义)\tCtrl+3", ID_32776
END
POPUP "语言(&L)"
BEGIN
MENUITEM "中文(&C)\tCtrl+Shift+C", ID_32777
MENUITEM "&English\tCtrl+Shift+D", ID_32778
END
POPUP "关于(&A)"
BEGIN
MENUITEM "程序信息(&I)\tF1", IDM_ABOUT
END
END
/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//
IDC_LAB5 ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
/*
IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Lab5(SDK)"
FONT 9, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDR_MAINFRAME, IDC_STATIC, 14, 14, 21, 20
LTEXT "第五次上机练习(SDK)\n对话框、光标、位图、字符串\n\n", IDC_STATIC, 42, 14, 114, 8, SS_NOPREFIX
LTEXT
LTEXT "学号:10152130206\n姓名:高吉祥\n", IDC_STATIC, 42, 26, 114, 8
DEFPUSHBUTTON "确定", IDOK, 113, 41, 50, 14, WS_GROUP
END
*/
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_ABOUTBOX, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 163
TOPMARGIN, 7
BOTTOMMARGIN, 55
END
END
#endif // APSTUDIO_INVOKED
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#ifndef APSTUDIO_INVOKED\r\n"
"#include ""targetver.h""\r\n"
"#endif\r\n"
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""windows.h""\r\n"
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Cursor
//
IDC_CURSOR1 CURSOR "cursor1.cur"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE
BEGIN
IDS_APP_TITLE "lab5"
IDS_STRING1 "当前光标是:IDC_ARROW"
IDS_STRING2 "当前光标是:IDC_CROSS"
IDS_STRING3 "当前光标是:我的光标"
IDC_LAB5 "LAB5"
END
#endif // 中文(简体,中国) resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Englisch (GB) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_LAB5 ICON "lab5.ico"
IDI_SMALL ICON "small.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDC_LAB5 MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", IDM_EXIT
END
POPUP "&Dialog"
BEGIN
MENUITEM "&Modal Dialog...\tCtrl+A", ID_32771
MENUITEM "Modal&Less Dialog(L)...\tCtrl+B", ID_32772
MENUITEM "&File Dialog...\tCtrl+C", ID_Menu
END
POPUP "&Cursor"
BEGIN
MENUITEM "Cursor&1(ARROW)\tCtrl+1", ID_32774
MENUITEM "Cursor&2(CROSS)\tCtrl+2", ID_32775
MENUITEM "Cursor&3(UserDefined)\tCtrl+3", ID_32776
END
POPUP "&Language"
BEGIN
MENUITEM "中文(&C)\tCtrl+Shift+C", ID_32777
MENUITEM "&English\tCtrl+Shift+D", ID_32778
END
POPUP "&About"
BEGIN
MENUITEM "Program &Information\tF1", IDM_ABOUT
END
END
/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//
IDC_LAB5 ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
/*
IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Lab5(SDK)"
FONT 9, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDR_MAINFRAME, IDC_STATIC, 14, 14, 21, 20
LTEXT "第五次上机练习(SDK)\n对话框、光标、位图、字符串\n\n", IDC_STATIC, 42, 14, 114, 8, SS_NOPREFIX
LTEXT
LTEXT "学号:10152130206\n姓名:高吉祥\n", IDC_STATIC, 42, 26, 114, 8
DEFPUSHBUTTON "确定", IDOK, 113, 41, 50, 14, WS_GROUP
END
*/
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_ABOUTBOX, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 163
TOPMARGIN, 7
BOTTOMMARGIN, 55
END
END
#endif // APSTUDIO_INVOKED
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#ifndef APSTUDIO_INVOKED\r\n"
"#include ""targetver.h""\r\n"
"#endif\r\n"
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""windows.h""\r\n"
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Cursor
//
IDC_CURSOR1 CURSOR "cursor1.cur"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE
BEGIN
IDS_APP_TITLE "lab5"
IDS_STRING1 "The current cusor is:IDC_ARROW"
IDS_STRING2 "The current cusor is:IDC_CROSS"
IDS_STRING3 "The current cusor is:My Cursor"
IDC_LAB5 "LAB5"
END
#endif // 中文(简体,中国) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED