Index: include/psdk/richedit.h =================================================================== --- include/psdk/richedit.h (revision 48517) +++ include/psdk/richedit.h (working copy) @@ -32,19 +32,20 @@ #define cchTextLimitDefault 0x7fff -#if defined(__GNUC__) +#if defined(_MSC_VER) || defined(RC_INVOKED) +# define MSFTEDIT_CLASS L"RichEdit50W" +#elif defined(__GNUC__) # define MSFTEDIT_CLASS (const WCHAR []){ 'R','i','c','h','E','d','i','t','5','0','W',0 } -#elif defined(_MSC_VER) -# define MSFTEDIT_CLASS L"RichEdit50W" #else static const WCHAR MSFTEDIT_CLASS[] = { 'R','i','c','h','E','d','i','t','5','0','W',0 }; #endif #define RICHEDIT_CLASS20A "RichEdit20A" -#if defined(__GNUC__) + +#if defined(_MSC_VER) || defined(RC_INVOKED) +# define RICHEDIT_CLASS20W L"RichEdit20W" +#elif defined(__GNUC__) # define RICHEDIT_CLASS20W (const WCHAR []){ 'R','i','c','h','E','d','i','t','2','0','W',0 } -#elif defined(_MSC_VER) -# define RICHEDIT_CLASS20W L"RichEdit20W" #else static const WCHAR RICHEDIT_CLASS20W[] = { 'R','i','c','h','E','d','i','t','2','0','W',0 }; #endif Index: base/applications/charmap/lang/es-ES.rc =================================================================== --- base/applications/charmap/lang/es-ES.rc (revision 48517) +++ base/applications/charmap/lang/es-ES.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Ayuda", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Caracteres a copiar :", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Seleccionar", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Copiar", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Vista Avanzada", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/fr-FR.rc =================================================================== --- base/applications/charmap/lang/fr-FR.rc (revision 48517) +++ base/applications/charmap/lang/fr-FR.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Aide", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Caractres copier :", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Slectionner", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Copier", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Vue avance", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/bg-BG.rc =================================================================== --- base/applications/charmap/lang/bg-BG.rc (revision 48517) +++ base/applications/charmap/lang/bg-BG.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT " :", IDC_STATIC, 3, 188, 75, 9 - EDITTEXT IDC_TEXTBOX, 79, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "a ", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/de-DE.rc =================================================================== --- base/applications/charmap/lang/de-DE.rc (revision 48517) +++ base/applications/charmap/lang/de-DE.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Hilfe", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Zeichenauswahl:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Auswhlen", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Kopieren", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Erweiterte Ansicht", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/zh-CN.rc =================================================================== --- base/applications/charmap/lang/zh-CN.rc (revision 48517) +++ base/applications/charmap/lang/zh-CN.rc (working copy) @@ -12,7 +12,7 @@ PUSHBUTTON "˵", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Ƶַ:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "ѡ", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/cs-CZ.rc =================================================================== --- base/applications/charmap/lang/cs-CZ.rc (revision 48517) +++ base/applications/charmap/lang/cs-CZ.rc (working copy) @@ -15,7 +15,7 @@ PUSHBUTTON "Npovda", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Znaky ke zkoprovn:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Oznait", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Koprovat", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Pokroil zobrazen", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/nl-NL.rc =================================================================== --- base/applications/charmap/lang/nl-NL.rc (revision 48517) +++ base/applications/charmap/lang/nl-NL.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Help", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Te kopiren tekens:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Selecteren", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Kopiren", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Geavanceerde weergave", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/uk-UA.rc =================================================================== --- base/applications/charmap/lang/uk-UA.rc (revision 48517) +++ base/applications/charmap/lang/uk-UA.rc (working copy) @@ -18,7 +18,7 @@ PUSHBUTTON "", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT " :", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX " ", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/ko-KR.rc =================================================================== --- base/applications/charmap/lang/ko-KR.rc (revision 48517) +++ base/applications/charmap/lang/ko-KR.rc (working copy) @@ -13,7 +13,7 @@ PUSHBUTTON "", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT " :", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Ȯ ", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/pt-BR.rc =================================================================== --- base/applications/charmap/lang/pt-BR.rc (revision 48517) +++ base/applications/charmap/lang/pt-BR.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Aj&uda", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Caracteres a serem copiados :", IDC_STATIC, 6, 183, 66, 17 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Selecionar", IDC_SELECT, 194, 186, 46, 13 PUSHBUTTON "Copiar", IDC_COPY, 244, 186, 46, 13, WS_DISABLED //AUTOCHECKBOX "Modo de exibio avanado", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/pl-PL.rc =================================================================== --- base/applications/charmap/lang/pl-PL.rc (revision 48517) +++ base/applications/charmap/lang/pl-PL.rc (working copy) @@ -16,7 +16,7 @@ PUSHBUTTON "Pomo&c", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "&Znaki do skopiowania:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Wy&bierz", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "&Kopiuj", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Widok z&aawansowany", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/id-ID.rc =================================================================== --- base/applications/charmap/lang/id-ID.rc (revision 48517) +++ base/applications/charmap/lang/id-ID.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Bantuan", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Karakter untuk di-copy :", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Pilih", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Copy", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/it-IT.rc =================================================================== --- base/applications/charmap/lang/it-IT.rc (revision 48517) +++ base/applications/charmap/lang/it-IT.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Aiuto", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Caratteri da copiare :", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Selezionare", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Copiare", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Visualizzazione avanzata", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/no-NO.rc =================================================================== --- base/applications/charmap/lang/no-NO.rc (revision 48517) +++ base/applications/charmap/lang/no-NO.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Hjelp", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Kopier flgende tegn:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Velg", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Kopier", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Avansert visning", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/en-US.rc =================================================================== --- base/applications/charmap/lang/en-US.rc (revision 48517) +++ base/applications/charmap/lang/en-US.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Help", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Characters to copy:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Select", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Copy", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/ca-ES.rc =================================================================== --- base/applications/charmap/lang/ca-ES.rc (revision 48517) +++ base/applications/charmap/lang/ca-ES.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "Ajuda", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Carcters a copiar :", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Selecciona", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Copia", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Vista avanada", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/sk-SK.rc =================================================================== --- base/applications/charmap/lang/sk-SK.rc (revision 48517) +++ base/applications/charmap/lang/sk-SK.rc (working copy) @@ -19,7 +19,7 @@ PUSHBUTTON "&Pomocnk", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Koprova &znaky:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "&Vybra", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "&Koprova", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "R&ozren zobrazenie", IDC_ADVVIEW, 10, 204, 75, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/lt-LT.rc =================================================================== --- base/applications/charmap/lang/lt-LT.rc (revision 48517) +++ base/applications/charmap/lang/lt-LT.rc (working copy) @@ -19,7 +19,7 @@ PUSHBUTTON "Pagalba", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Simboliai kopijavimui:", IDC_STATIC, 6, 188, 72, 9 - EDITTEXT IDC_TEXTBOX, 81, 186, 107, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Parinkti", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Kopijuoti", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/ja-JP.rc =================================================================== --- base/applications/charmap/lang/ja-JP.rc (revision 48517) +++ base/applications/charmap/lang/ja-JP.rc (working copy) @@ -10,7 +10,7 @@ PUSHBUTTON "wv", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "Rs[镶:", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "I", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Rs[", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "ڍו\\", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/el-GR.rc =================================================================== --- base/applications/charmap/lang/el-GR.rc (revision 48517) +++ base/applications/charmap/lang/el-GR.rc (working copy) @@ -12,7 +12,7 @@ CONTROL "",IDC_FONTMAP,"FontMapWnd",WS_VSCROLL | WS_TABSTOP,20, 22,266,156 LTEXT " :",IDC_STATIC,6,184,66,17 - EDITTEXT IDC_TEXTBOX,74,186,114,13 + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "",IDC_SELECT,194,186,44,13 PUSHBUTTON "",IDC_COPY,242,186,44,13,WS_DISABLED END Index: base/applications/charmap/lang/zh-TW.rc =================================================================== --- base/applications/charmap/lang/zh-TW.rc (revision 48517) +++ base/applications/charmap/lang/zh-TW.rc (working copy) @@ -12,7 +12,7 @@ PUSHBUTTON "", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT "ݽƻsršG", IDC_STATIC, 6, 188, 66, 9 - EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "ƻs", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/lang/ru-RU.rc =================================================================== --- base/applications/charmap/lang/ru-RU.rc (revision 48517) +++ base/applications/charmap/lang/ru-RU.rc (working copy) @@ -12,7 +12,7 @@ PUSHBUTTON "", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 LTEXT " :", IDC_STATIC, 6, 188, 95, 9 - EDITTEXT IDC_TEXTBOX, 80, 186, 109, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP + CONTROL "",IDC_TEXTBOX,RICHEDIT_CLASS,ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "", IDC_COPY, 242, 186, 44, 13, WS_DISABLED //AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP Index: base/applications/charmap/precomp.h =================================================================== --- base/applications/charmap/precomp.h (revision 48517) +++ base/applications/charmap/precomp.h (working copy) @@ -5,6 +5,7 @@ #include #include #include +#include #include "resource.h" #define XCELLS 20 @@ -12,9 +13,10 @@ #define XLARGE 45 #define YLARGE 25 -#define FM_SETFONT (WM_USER + 1) -#define FM_GETCHAR (WM_USER + 2) -#define FM_SETCHAR (WM_USER + 3) +#define FM_SETFONT (WM_USER + 1) +#define FM_GETCHAR (WM_USER + 2) +#define FM_SETCHAR (WM_USER + 3) +#define FM_GETHFONT (WM_USER + 4) extern HINSTANCE hInstance; Index: base/applications/charmap/charmap.c =================================================================== --- base/applications/charmap/charmap.c (revision 48517) +++ base/applications/charmap/charmap.c (working copy) @@ -133,57 +133,96 @@ } } +// Copy collected characters into the clipboard +static +void +CopyCharacters(HWND hDlg) +{ + HWND hText = GetDlgItem(hDlg, IDC_TEXTBOX); + DWORD dwStart, dwEnd; + // Acquire selection limits + SendMessage(hText, EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwEnd); + + // Test if the whose text is unselected + if(dwStart == dwEnd) { + + // Select the whole text + SendMessageW(hText, EM_SETSEL, 0, -1); + + // Copy text + SendMessageW(hText, WM_COPY, 0, 0); + + // Restore previous values + SendMessageW(hText, EM_SETSEL, (WPARAM)dwStart, (LPARAM)dwEnd); + + } else { + + // Copy text + SendMessageW(hText, WM_COPY, 0, 0); + } +} + +// Recover charset for the given font static +BYTE +GetFontMetrics(HWND hWnd, HFONT hFont) +{ + TEXTMETRIC tmFont; + HGDIOBJ hOldObj; + HDC hDC; + + hDC = GetDC(hWnd); + hOldObj = SelectObject(hDC, hFont); + GetTextMetrics(hDC, &tmFont); + SelectObject(hDC, hOldObj); + ReleaseDC(hWnd, hDC); + + return tmFont.tmCharSet; +} + +// Select a new character +static VOID -AddCharToSelection(HWND hText, - WCHAR ch) +AddCharToSelection(HWND hDlg, WCHAR ch) { - LPWSTR lpText; - INT Len = GetWindowTextLength(hText); + HWND hMap = GetDlgItem(hDlg, IDC_FONTMAP); + HWND hText = GetDlgItem(hDlg, IDC_TEXTBOX); + HFONT hFont; + LOGFONT lFont; + CHARFORMAT cf; - if (Len != 0) + // Retrieve current character selected + if (ch == 0) { - lpText = HeapAlloc(GetProcessHeap(), - 0, - (Len + 2) * sizeof(WCHAR)); + ch = (WCHAR) SendMessageW(hMap, FM_GETCHAR, 0, 0); + if (!ch) + return; + } - if (lpText) - { - LPWSTR lpStr = lpText; + // Retrieve current selected font + hFont = (HFONT)SendMessage(hMap, FM_GETHFONT, 0, 0); - SendMessageW(hText, - WM_GETTEXT, - Len + 1, - (LPARAM)lpStr); + // Recover LOGFONT structure from hFont + if (!GetObject(hFont, sizeof(LOGFONT), &lFont)) + return; - lpStr += Len; - *lpStr = ch; - lpStr++; - *lpStr = L'\0'; + // Recover font properties of Richedit control + ZeroMemory(&cf, sizeof(cf)); + cf.cbSize = sizeof(cf); + SendMessage(hText, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); - SendMessageW(hText, - WM_SETTEXT, - 0, - (LPARAM)lpText); + // Apply properties of the new font + cf.bCharSet = GetFontMetrics(hText, hFont); - HeapFree(GetProcessHeap(), - 0, - lpText); - } - } - else - { - WCHAR szText[2]; + // Update font name + wcscpy(cf.szFaceName, lFont.lfFaceName); - szText[0] = ch; - szText[1] = L'\0'; + // Update font properties + SendMessage(hText, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); - SendMessageW(hText, - WM_SETTEXT, - 0, - (LPARAM)szText); - } + // Send selected character to Richedit + SendMessage(hText, WM_CHAR, (WPARAM)ch, 0); } @@ -204,6 +243,7 @@ case WM_INITDIALOG: { HMENU hSysMenu; + DWORD evMask; hSmIcon = LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_ICON), @@ -256,6 +296,12 @@ lpAboutText); } } + + // Configure Richedi control for sending notification changes. + evMask = SendDlgItemMessage(hDlg, IDC_TEXTBOX, EM_GETEVENTMASK, 0, 0); + evMask |= ENM_CHANGE; + SendDlgItemMessage(hDlg, IDC_TEXTBOX, EM_SETEVENTMASK, 0, (LPARAM)evMask); + return TRUE; } @@ -264,41 +310,39 @@ switch(LOWORD(wParam)) { case IDC_FONTMAP: - { switch (HIWORD(wParam)) { case FM_SETCHAR: - AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX), - LOWORD(lParam)); + AddCharToSelection(hDlg, LOWORD(lParam)); break; } - } - break; + break; case IDC_FONTCOMBO: - { if (HIWORD(wParam) == CBN_SELCHANGE) { ChangeMapFont(hDlg); } - } - break; + break; case IDC_SELECT: - { - WCHAR ch; - HWND hMap = GetDlgItem(hDlg, IDC_FONTMAP); + AddCharToSelection(hDlg, 0); + break; - ch = (WCHAR) SendMessageW(hMap, FM_GETCHAR, 0, 0); - - if (ch) - { - AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX), - ch); + case IDC_TEXTBOX: + switch (HIWORD(wParam)) { + case EN_CHANGE: + if (GetWindowTextLength(GetDlgItem(hDlg, IDC_TEXTBOX)) == 0) + EnableWindow(GetDlgItem(hDlg, IDC_COPY), FALSE); + else + EnableWindow(GetDlgItem(hDlg, IDC_COPY), TRUE); + break; } + break; + case IDC_COPY: + CopyCharacters(hDlg); break; - } case IDOK: if (hSmIcon) @@ -306,7 +350,7 @@ if (hBgIcon) DestroyIcon(hBgIcon); EndDialog(hDlg, 0); - break; + break; } } break; @@ -347,6 +391,7 @@ { INITCOMMONCONTROLSEX iccx; INT Ret = 1; + HMODULE hRichEd20; hInstance = hInst; @@ -356,11 +401,17 @@ if (RegisterMapClasses(hInstance)) { - Ret = DialogBoxW(hInstance, - MAKEINTRESOURCEW(IDD_CHARMAP), - NULL, - DlgProc) >= 0; + hRichEd20 = LoadLibraryW(L"RICHED20.DLL"); + if (hRichEd20 != NULL) + { + Ret = DialogBoxW(hInstance, + MAKEINTRESOURCEW(IDD_CHARMAP), + NULL, + DlgProc) >= 0; + + FreeLibrary(hRichEd20); + } UnregisterMapClasses(hInstance); } Index: base/applications/charmap/charmap.rc =================================================================== --- base/applications/charmap/charmap.rc (revision 48517) +++ base/applications/charmap/charmap.rc (working copy) @@ -1,5 +1,6 @@ #include #include +#include #include "resource.h" Index: base/applications/charmap/map.c =================================================================== --- base/applications/charmap/map.c (revision 48517) +++ base/applications/charmap/map.c (working copy) @@ -529,6 +529,9 @@ return infoPtr->pActiveCell->ch; } + case FM_GETHFONT: + return (LRESULT)infoPtr->hFont; + case WM_PAINT: { OnPaint(infoPtr,