[continued from previous message]
}
else if (pszData[i] == L'♆') {
pszModifiedData[i] = L'm';
}
else if (pszData[i] == L'♇') {
pszModifiedData[i] = L'n';
}
else if (pszData[i] == L'♈') {
pszModifiedData[i] = L'o';
}
else if (pszData[i] == L'♉') {
pszModifiedData[i] = L'p';
}
else if (pszData[i] == L'♊') {
pszModifiedData[i] = L'q';
}
else if (pszData[i] == L'♋') {
pszModifiedData[i] = L'r';
}
else if (pszData[i] == L'♌') {
pszModifiedData[i] = L's';
}
else if (pszData[i] == L'♍') {
pszModifiedData[i] = L't';
}
else if (pszData[i] == L'♎') {
pszModifiedData[i] = L'u';
}
else if (pszData[i] == L'♏') {
pszModifiedData[i] = L'v';
}
else if (pszData[i] == L'♐') {
pszModifiedData[i] = L'w';
}
else if (pszData[i] == L'♑') {
pszModifiedData[i] = L'x';
}
else if (pszData[i] == L'♒') {
pszModifiedData[i] = L'y';
}
else if (pszData[i] == L'♓') {
pszModifiedData[i] = L'z';
}
else {
pszModifiedData[i] = pszData[i];
}
}
pszModifiedData[length] = L'\0';
EmptyClipboard();
HANDLE hNewData = GlobalAlloc(GMEM_MOVEABLE, (length + 1) * sizeof(WCHAR));
if (hNewData != NULL) {
WCHAR* pszNewData =
static_cast<WCHAR*>(GlobalLock(hNewData));
if (pszNewData != NULL) {
wcscpy_s(pszNewData, length + 1,
pszModifiedData);
GlobalUnlock(hNewData);
SetClipboardData(CF_UNICODETEXT,
hNewData);
}
else {
GlobalFree(hNewData);
}
}
delete[] pszModifiedData;
}
GlobalUnlock(hClipboardData);
}
}
CloseClipboard();
}
SendMessage(hEdit, WM_PASTE, 0, 0);
break;
case ID_EDIT_CUT: {
SendMessage(hEdit, WM_CUT, 0, 0);
break;
}
case ID_EDIT_COPY: {
SendMessage(hEdit, WM_COPY, 0, 0);
break;
}
case ID_EDIT_PASTE: {
SendMessage(hEdit, WM_PASTE, 0, 0);
break;
}
case ID_CTRL_D_DECODE: {
SendMessage(hwnd, WM_COMMAND, MAKEWPARAM(ID_CODE_DECODE,
0), 0);
break;
}
case ID_CTRL_E_ENCODE: {
SendMessage(hwnd, WM_COMMAND, MAKEWPARAM(ID_CODE_ENCODE,
0), 0);
break;
}
case ID_CTRL_T: {
enableSubstitution = !enableSubstitution;
UpdateStatusBar();
break;
}
case ID_FILE_EXIT:
DestroyWindow(hwnd);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
break;
}
case WM_DESTROY: {
if (hFont) {
DeleteObject(hFont);
}
PostQuitMessage(0);
break;
}
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow) {
INITCOMMONCONTROLSEX iccex;
iccex.dwSize = sizeof(iccex);
iccex.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&iccex);
WNDCLASS wc = {};
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.lpszClassName = CLASS_NAME;
RegisterClass(&wc);
HWND hwnd = CreateWindowExW(
0, CLASS_NAME, WINDOW_TITLE,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 800, 600,
NULL, NULL, hInstance, NULL);
if (hwnd == NULL) {
return 0;
}
HMENU hMenu = CreateMenu();
HMENU hSubMenuFile = CreatePopupMenu();
AppendMenu(hSubMenuFile, MF_STRING, ID_FILE_OPEN, L"&Open - Ctrl + O");
AppendMenu(hSubMenuFile, MF_STRING, ID_FILE_SAVE, L"&Save - Ctrl + S");
AppendMenu(hSubMenuFile, MF_SEPARATOR, 0, NULL);
AppendMenu(hSubMenuFile, MF_SEPARATOR, 0, NULL);
AppendMenu(hSubMenuFile, MF_STRING, ID_FILE_EXIT, L"E&xit - Ctrl + Q");
HMENU hSubMenuCode = CreatePopupMenu();
AppendMenu(hSubMenuCode, MF_STRING, ID_CODE_ENCODE, L"&Encode - Ctrl + E");
AppendMenu(hSubMenuCode, MF_STRING, ID_CODE_DECODE, L"&Decode - Ctrl + D");
AppendMenu(hSubMenuCode, MF_STRING, ID_TOGGLE_SUBSTITUTION, L"&Toggle - Ctrl + T");
HMENU hSubMenuEdit = CreatePopupMenu();
AppendMenu(hSubMenuEdit, MF_STRING, ID_EDIT_CUT, L"&Cut - Ctrl + X");
AppendMenu(hSubMenuEdit, MF_STRING, ID_EDIT_COPY, L"&Copy - Ctrl + C");
AppendMenu(hSubMenuEdit, MF_STRING, ID_EDIT_PASTE, L"&Paste - Ctrl
+ V");
AppendMenu(hMenu, MF_POPUP, (UINT_PTR)hSubMenuFile, L"&File");
AppendMenu(hMenu, MF_POPUP, (UINT_PTR)hSubMenuEdit, L"&Edit");
AppendMenu(hMenu, MF_POPUP, (UINT_PTR)hSubMenuCode, L"&Code");
SetMenu(hwnd, hMenu);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
MSG msg = {};
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)