Операционная система Windows 95 для программиста



    d8ef8794     

Исходные тексты приложения RtfPad - часть 6


// ----------------------------------------------------- // Функция WndProc_OnSetFocus // ----------------------------------------------------- #pragma warning(disable: 4098) void WndProc_OnSetFocus(HWND hwnd, HWND hwndOldFocus) { // Когда главное окно нашего приложения получает // фокус ввода, оно передает фокус ввода окну // органа управления Rich Edit SetFocus(hwndEdit); return FORWARD_WM_SETFOCUS(hwnd, hwndOldFocus, DefWindowProc); }

// ----------------------------------------------------- // Функция FileSaveAs // ----------------------------------------------------- void FileSaveAs(HWND hwnd) { OPENFILENAME ofn; char szFile[256] = "untitled.rtf"; char szDirName[512]; char szFileTitle[256];

// Фильтр допускает сохранение текста в файле с // расширением имени rtf, txt, или любым другим char szFilter[256] = "Rich Text Files\0*.rtf\0Text Files\0*.txt\0" "Any Files\0*.*\0";

HFILE hFile; OFSTRUCT of; EDITSTREAM es;

memset(&ofn, 0, sizeof(OPENFILENAME));

// Определяем путь к текущему каталогу GetCurrentDirectory(sizeof(szDirName), szDirName);

// Заполняем структуру для выбора выходного файла ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = hwnd; ofn.lpstrFilter = szFilter; ofn.lpstrInitialDir = szDirName; ofn.nFilterIndex = 1; ofn.lpstrFile = szFile; ofn.nMaxFile = sizeof(szFile); ofn.lpstrFileTitle = szFileTitle; ofn.nMaxFileTitle = sizeof(szFileTitle); ofn.lpstrDefExt = "rtf"; ofn.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY;

// Выводим на экран диалоговую панель, предназначенную // для выбора выходного файла if(GetSaveFileName(&ofn)) { // Если файл выбран, открываем его для записи или // создаем if (*ofn.lpstrFile) { hFile = OpenFile(ofn.lpstrFile, &of, OF_CREATE);

// Устанавливаем параметры функции обратного вызова, // которая будет выполнять запись es.dwCookie = (DWORD)hFile; es.dwError = 0; es.pfnCallback = SaveCallback;

// Если расширение файла rtf, файл сохраняется как // rtf-файл. В противном случае он сохраняется как // обычный текстовый файл _strupr(&ofn.lpstrFile[ofn.nFileExtension]);




Содержание  Назад  Вперед