void toggleHexEdit(void) { GetShortCuts(nppData._nppHandle); pCurHexEdit->doDialog(TRUE); DialogUpdate(); setMenu(); }
void KEYMAGICDLL_API HookInit(HWND hKWnd, hwndExc * hWnds, HMODULE hMod, LPCTSTR ParentPath, LPHookHandles Hooks) { hwndKWindows = hKWnd; hwndExceptions = *hWnds; //hKeyHook = hKbHook; hKeyHook = Hooks->hKeyHook = SetWindowsHookEx(WH_KEYBOARD, &HookKeyProc, hMod, NULL); //hWndProcHook = hWPHook; hWndProcHook = Hooks->hWndProcHook = SetWindowsHookEx(WH_CALLWNDPROC, &HookWndProc, hMod, NULL); //hGetMsgHook = hGMHook; hGetMsgHook = Hooks->hGetMsgHook = SetWindowsHookEx(WH_GETMESSAGE, &HookGetMsgProc, hMod, NULL); lstrcpy(szDir, ParentPath); GetShortCuts(); }
/*** * beNotification() * * This function is called, if a notification in Scantilla/Notepad++ occurs */ extern "C" __declspec(dllexport) void beNotified(SCNotification *notifyCode) { /* test for friday */ if (((notifyCode->nmhdr.hwndFrom == nppData._scintillaMainHandle) || (notifyCode->nmhdr.hwndFrom == nppData._scintillaSecondHandle))) { // SystemUpdate(); switch (notifyCode->nmhdr.code) { case SCN_MODIFIED: if (notifyCode->modificationType & SC_MOD_INSERTTEXT || notifyCode->modificationType & SC_MOD_DELETETEXT) { tHexProp hexProp1 = hexEdit1.GetHexProp(); tHexProp hexProp2 = hexEdit2.GetHexProp(); INT length = notifyCode->length; if ((hexProp1.szFileName != NULL) && (hexProp2.szFileName != NULL) && (_tcscmp(hexProp1.szFileName, hexProp2.szFileName) == 0)) { /* test for line lengths */ hexEdit1.TestLineLength(); hexEdit2.TestLineLength(); /* redo undo the code */ if (notifyCode->modificationType & SC_PERFORMED_UNDO || notifyCode->modificationType & SC_PERFORMED_REDO) { hexEdit1.RedoUndo(notifyCode->position, notifyCode->length, notifyCode->modificationType); hexEdit2.RedoUndo(notifyCode->position, notifyCode->length, notifyCode->modificationType); } } else { /* test for line length */ pCurHexEdit->TestLineLength(); /* redo undo the code */ if (notifyCode->modificationType & SC_PERFORMED_UNDO || notifyCode->modificationType & SC_PERFORMED_REDO) { pCurHexEdit->RedoUndo(notifyCode->position, notifyCode->length, notifyCode->modificationType); } } } break; default: break; } } if (notifyCode->nmhdr.hwndFrom == nppData._nppHandle) { switch (notifyCode->nmhdr.code) { case NPPN_TBMODIFICATION: { /* change menu language */ NLChangeNppMenu((HINSTANCE)g_hModule, nppData._nppHandle, PLUGIN_NAME, funcItem, nbFunc); g_TBHex.hToolbarBmp = (HBITMAP)::LoadImage((HINSTANCE)g_hModule, MAKEINTRESOURCE(IDB_TB_HEX), IMAGE_BITMAP, 0, 0, (LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS)); ::SendMessage(nppData._nppHandle, NPPM_ADDTOOLBARICON, (WPARAM)funcItem[0]._cmdID, (LPARAM)&g_TBHex); break; } case NPPN_READY: { isNotepadCreated = TRUE; SystemUpdate(); GetShortCuts(nppData._nppHandle); break; } case NPPN_FILEOPENED: case NPPN_FILECLOSED: { SystemUpdate(); pCurHexEdit->doDialog(); break; } default: break; } } }