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


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


// Заказываем память для загрузки файла lpTextBuffer = (LPSTR)malloc(32000); if(lpTextBuffer == NULL) return 0;

// Загружаем текст из файла в буфер _lread(hfSrcFile, lpTextBuffer, dwFileSize);

// Закрываем буфер двоичным нулем lpTextBuffer[(WORD)dwFileSize] = '\0';

// Закрываем файл _lclose(hfSrcFile);

// Переносим содержимое буфера в // текстовый редактор SetWindowText(hEdit, lpTextBuffer);

// Освобождаем буфер free((void *)lpTextBuffer);

// Сбрасываем флаг обновления bNeedSave = FALSE; SetFocus(hEdit); return 1; }

// ====================================================== // Функция DlgProc // ====================================================== #pragma argsused

BOOL CALLBACK _export DlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { // Инициализация диалоговой панели case WM_INITDIALOG: { return TRUE; }

case WM_COMMAND: { switch(wParam) { // Сообщение от кнопки "OK" case IDOK:

// Отмена диалоговой панели. // Это сообщение приходит, когда пользователь // нажимает на клавишу <Esc> case IDCANCEL: { // Устанавливаем флаг завершения диалога EndDialog(hdlg, 0); return TRUE; } } } } return FALSE; }

В области глобальных переменных среди прочих определений располагается определение указателя на класс Toolbar:

Toolbar *Tb;

Через этот указатель (разумеется, после создания объекта и инициализации указателя) будет выполняться одна из операций, определенных для Toolbar, - создание кнопки в заданной позиции.

Отметим также переменную bNeedSave типа BOOL, которая используется как признак необходимости сохранения редактируемого текста в файле.

В массиве szCurrentFileName[128] хранится путь к редактируемому файлу. Эта информация используется для формирования заголовка главного окна приложения и для сохранения файла при помощи строки "Save" из меню "File" или кнопки в Toolbar с изображением дискеты.

С помощью строки "Read Only" меню "Options" вы можете запретить редактирование текста.


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