diff --git a/reactos/base/applications/notepad/dialog.c b/reactos/base/applications/notepad/dialog.c index b24aa1460b5..4385f99b8c9 100644 --- a/reactos/base/applications/notepad/dialog.c +++ b/reactos/base/applications/notepad/dialog.c @@ -320,16 +320,16 @@ void DoOpenFile(LPCTSTR szFileName) */ if (GetWindowText(Globals.hEdit, log, SIZEOF(log)) && !_tcscmp(log, dotlog)) { - static const TCHAR lf[] = _T("\r\n"); - SendMessage(Globals.hEdit, EM_SETSEL, GetWindowTextLength(Globals.hEdit), -1); - SendMessage(Globals.hEdit, EM_REPLACESEL, TRUE, (LPARAM)lf); - DIALOG_EditTimeDate(); - SendMessage(Globals.hEdit, EM_REPLACESEL, TRUE, (LPARAM)lf); + static const TCHAR lf[] = _T("\r\n"); + SendMessage(Globals.hEdit, EM_SETSEL, GetWindowTextLength(Globals.hEdit), -1); + SendMessage(Globals.hEdit, EM_REPLACESEL, TRUE, (LPARAM)lf); + DIALOG_EditTimeDate(); + SendMessage(Globals.hEdit, EM_REPLACESEL, TRUE, (LPARAM)lf); } SetFileName(szFileName); UpdateWindowCaption(); - + NOTEPAD_EnableSearchMenu(); done: if (hFile != INVALID_HANDLE_VALUE) CloseHandle(hFile); @@ -344,6 +344,7 @@ VOID DIALOG_FileNew(VOID) SetWindowText(Globals.hEdit, empty_str); SendMessage(Globals.hEdit, EM_EMPTYUNDOBUFFER, 0, 0); SetFocus(Globals.hEdit); + NOTEPAD_EnableSearchMenu(); } } @@ -783,6 +784,8 @@ VOID DIALOG_SearchNext(VOID) { if (Globals.find.lpstrFindWhat != NULL) NOTEPAD_FindNext(&Globals.find, FALSE, TRUE); + else + DIALOG_Search(); } VOID DIALOG_Replace(VOID) diff --git a/reactos/base/applications/notepad/main.c b/reactos/base/applications/notepad/main.c index aabcf30495b..403fae3fece 100644 --- a/reactos/base/applications/notepad/main.c +++ b/reactos/base/applications/notepad/main.c @@ -27,6 +27,14 @@ NOTEPAD_GLOBALS Globals; static ATOM aFINDMSGSTRING; +VOID NOTEPAD_EnableSearchMenu() +{ + EnableMenuItem(GetMenu(Globals.hMainWnd), CMD_SEARCH, + MF_BYCOMMAND | ((GetWindowTextLength(Globals.hEdit) == 0) ? MF_DISABLED | MF_GRAYED : MF_ENABLED)); + EnableMenuItem(GetMenu(Globals.hMainWnd), CMD_SEARCH_NEXT, + MF_BYCOMMAND | ((GetWindowTextLength(Globals.hEdit) == 0) ? MF_DISABLED | MF_GRAYED : MF_ENABLED)); +} + /*********************************************************************** * * SetFileName @@ -346,6 +354,8 @@ static LRESULT WINAPI NOTEPAD_WndProc(HWND hWnd, UINT msg, WPARAM wParam, case WM_COMMAND: if (HIWORD(wParam) == EN_CHANGE || HIWORD(wParam) == EN_HSCROLL || HIWORD(wParam) == EN_VSCROLL) DIALOG_StatusBarUpdateCaretPos(); + if ((HIWORD(wParam) == EN_CHANGE)) + NOTEPAD_EnableSearchMenu(); NOTEPAD_MenuCommand(LOWORD(wParam)); break; diff --git a/reactos/base/applications/notepad/main.h b/reactos/base/applications/notepad/main.h index 35a1a9cc37b..37477bc6afe 100644 --- a/reactos/base/applications/notepad/main.h +++ b/reactos/base/applications/notepad/main.h @@ -85,3 +85,4 @@ void SaveSettings(void); /* from main.c */ BOOL NOTEPAD_FindNext(FINDREPLACE *, BOOL , BOOL ); +VOID NOTEPAD_EnableSearchMenu(VOID);