Операционная система Microsoft Windows 3.1 для программиста -том 3


Листинг 1.8. Файл smartpad/smartpad.cpp - часть 7


// Изменяем заголовок главного окна // приложения в соответствии // с именем и путем к файлу wsprintf(szTempBuffer, "SmartPad - [%s]", (LPSTR)szCurrentFileName); SetWindowText(hwnd, szTempBuffer); }

// Если файл уже сохранялся, записываем его // на прежнее место else SaveFile(hwnd); } }

// Завершаем работу приложения DestroyWindow(hwnd); return 0; }

case CM_FILENEW: case TB_NEW: { // Проверяем флаг обновления if(bNeedSave) { if(IDYES == MessageBox(hwnd, "Файл был изменен. Желаете сохранить?", szWindowTitle, MB_YESNO | MB_ICONQUESTION)) { if(szCurrentFileName[0] == '\0') { SaveFileAs(hwnd); wsprintf(szTempBuffer, "SmartPad - [%s]", (LPSTR)szCurrentFileName); SetWindowText(hwnd, szTempBuffer); } else SaveFile(hwnd); } }

// Сбрасываем содержимое текстового редактора SetWindowText(hEdit, "\0");

bNeedSave = FALSE;

lstrcpy(szCurrentFileName, ""); SetWindowText(hwnd, "SmartPad - [UNTITLED]");

SetFocus(hEdit); return 0; }

case CM_FILEOPEN: case TB_OPEN: { // Проверяем флаг обновления if(bNeedSave) { if(IDYES == MessageBox(hwnd, "Файл был изменен. Желаете сохранить?", szWindowTitle, MB_YESNO | MB_ICONQUESTION)) SaveFile(hwnd); }

if(!SelectFile(hwnd)) { lstrcpy(szCurrentFileName, ""); SetWindowText(hwnd, "SmartPad - [UNTITLED]"); } else { wsprintf(szTempBuffer, "SmartPad - [%s]", (LPSTR)szCurrentFileName); SetWindowText(hwnd, szTempBuffer); }

return 0; }

case CM_FILESAVEAS: { if(SaveFileAs(hwnd)) { wsprintf(szTempBuffer, "SmartPad - [%s]", (LPSTR)szCurrentFileName); SetWindowText(hwnd, szTempBuffer); } else { lstrcpy(szCurrentFileName, ""); SetWindowText(hwnd, "SmartPad - [UNTITLED]"); } return 0; }

case CM_FILESAVE: case TB_SAVE: { if(szCurrentFileName[0] == '\0') { if(SaveFileAs(hwnd)) { wsprintf(szTempBuffer, "SmartPad - [%s]", (LPSTR)szCurrentFileName); SetWindowText(hwnd, szTempBuffer); } else { lstrcpy(szCurrentFileName, ""); SetWindowText(hwnd, "SmartPad - [UNTITLED]"); } } else SaveFile(hwnd); return 0; }




Начало  Назад  Вперед