mirror of
https://github.com/reactos/reactos.git
synced 2025-04-21 20:50:29 +00:00
[CHARMAP]
Patch by Carlo Bramini (carlo bramix at libero dot it) - Make the text copy field a richedit control. - Use WM_CHAR to copy the characters - Fix definition of MSFTEDIT_CLASS for the resource compiler See issue #5275 for more details. svn path=/trunk/; revision=50830
This commit is contained in:
parent
f411e07b42
commit
c5e43261f2
27 changed files with 157 additions and 99 deletions
|
@ -133,57 +133,96 @@ ChangeMapFont(HWND hDlg)
|
|||
}
|
||||
}
|
||||
|
||||
// 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));
|
||||
|
||||
if (lpText)
|
||||
{
|
||||
LPWSTR lpStr = lpText;
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_GETTEXT,
|
||||
Len + 1,
|
||||
(LPARAM)lpStr);
|
||||
|
||||
lpStr += Len;
|
||||
*lpStr = ch;
|
||||
lpStr++;
|
||||
*lpStr = L'\0';
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_SETTEXT,
|
||||
0,
|
||||
(LPARAM)lpText);
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
lpText);
|
||||
}
|
||||
ch = (WCHAR) SendMessageW(hMap, FM_GETCHAR, 0, 0);
|
||||
if (!ch)
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
WCHAR szText[2];
|
||||
|
||||
szText[0] = ch;
|
||||
szText[1] = L'\0';
|
||||
// Retrieve current selected font
|
||||
hFont = (HFONT)SendMessage(hMap, FM_GETHFONT, 0, 0);
|
||||
|
||||
SendMessageW(hText,
|
||||
WM_SETTEXT,
|
||||
0,
|
||||
(LPARAM)szText);
|
||||
}
|
||||
// Recover LOGFONT structure from hFont
|
||||
if (!GetObject(hFont, sizeof(LOGFONT), &lFont))
|
||||
return;
|
||||
|
||||
// Recover font properties of Richedit control
|
||||
ZeroMemory(&cf, sizeof(cf));
|
||||
cf.cbSize = sizeof(cf);
|
||||
SendMessage(hText, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf);
|
||||
|
||||
// Apply properties of the new font
|
||||
cf.bCharSet = GetFontMetrics(hText, hFont);
|
||||
|
||||
// Update font name
|
||||
wcscpy(cf.szFaceName, lFont.lfFaceName);
|
||||
|
||||
// Update font properties
|
||||
SendMessage(hText, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf);
|
||||
|
||||
// Send selected character to Richedit
|
||||
SendMessage(hText, WM_CHAR, (WPARAM)ch, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -204,6 +243,7 @@ DlgProc(HWND hDlg,
|
|||
case WM_INITDIALOG:
|
||||
{
|
||||
HMENU hSysMenu;
|
||||
DWORD evMask;
|
||||
|
||||
hSmIcon = LoadImageW(hInstance,
|
||||
MAKEINTRESOURCEW(IDI_ICON),
|
||||
|
@ -256,6 +296,12 @@ DlgProc(HWND hDlg,
|
|||
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 @@ DlgProc(HWND hDlg,
|
|||
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);
|
||||
|
||||
ch = (WCHAR) SendMessageW(hMap, FM_GETCHAR, 0, 0);
|
||||
|
||||
if (ch)
|
||||
{
|
||||
AddCharToSelection(GetDlgItem(hDlg, IDC_TEXTBOX),
|
||||
ch);
|
||||
}
|
||||
|
||||
AddCharToSelection(hDlg, 0);
|
||||
break;
|
||||
|
||||
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 @@ DlgProc(HWND hDlg,
|
|||
if (hBgIcon)
|
||||
DestroyIcon(hBgIcon);
|
||||
EndDialog(hDlg, 0);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -347,6 +391,7 @@ wWinMain(HINSTANCE hInst,
|
|||
{
|
||||
INITCOMMONCONTROLSEX iccx;
|
||||
INT Ret = 1;
|
||||
HMODULE hRichEd20;
|
||||
|
||||
hInstance = hInst;
|
||||
|
||||
|
@ -356,11 +401,17 @@ wWinMain(HINSTANCE hInst,
|
|||
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include <richedit.h>
|
||||
#include "resource.h"
|
||||
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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 "Caràcters 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 avançada", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
|
|
|
@ -15,7 +15,7 @@ BEGIN
|
|||
PUSHBUTTON "Nápovìda", 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 zkopírování:", 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 "Oznaèit", IDC_SELECT, 194, 186, 44, 13
|
||||
PUSHBUTTON "Kopírovat", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
|
||||
//AUTOCHECKBOX "Pokroèilé zobrazení", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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 "Auswählen", 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
|
||||
|
|
|
@ -12,7 +12,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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 "Caractères à 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 "Sélectionner", IDC_SELECT, 194, 186, 44, 13
|
||||
PUSHBUTTON "Copier", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
|
||||
//AUTOCHECKBOX "Vue avancée", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -13,7 +13,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -19,7 +19,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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 kopiëren 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 "Kopiëren", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
|
||||
//AUTOCHECKBOX "Geavanceerde weergave", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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 følgende 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
|
||||
|
|
|
@ -16,7 +16,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
|||
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 exibição avançado", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
|
|
|
@ -12,7 +12,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -19,7 +19,7 @@ BEGIN
|
|||
PUSHBUTTON "&Pomocník", IDC_CMHELP, 249, 5, 35, 13
|
||||
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156
|
||||
LTEXT "Kopírova<76> &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<72>", IDC_SELECT, 194, 186, 44, 13
|
||||
PUSHBUTTON "&Kopírova<76>", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
|
||||
//AUTOCHECKBOX "R&ozšírené zobrazenie", IDC_ADVVIEW, 10, 204, 75, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
|
|
|
@ -18,7 +18,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -12,7 +12,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -12,7 +12,7 @@ BEGIN
|
|||
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
|
||||
|
|
|
@ -529,6 +529,9 @@ MapWndProc(HWND hwnd,
|
|||
return infoPtr->pActiveCell->ch;
|
||||
}
|
||||
|
||||
case FM_GETHFONT:
|
||||
return (LRESULT)infoPtr->hFont;
|
||||
|
||||
case WM_PAINT:
|
||||
{
|
||||
OnPaint(infoPtr,
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include <richedit.h>
|
||||
#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;
|
||||
|
||||
|
|
|
@ -32,19 +32,20 @@ extern "C" {
|
|||
|
||||
#define cchTextLimitDefault 0x7fff
|
||||
|
||||
#if defined(__GNUC__)
|
||||
# define MSFTEDIT_CLASS (const WCHAR []){ 'R','i','c','h','E','d','i','t','5','0','W',0 }
|
||||
#elif defined(_MSC_VER)
|
||||
#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 }
|
||||
#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
|
||||
|
|
Loading…
Reference in a new issue