92978b58

Приложение SCROLL - 2


// Имя класса главного окна CHAR szWndClass[] = "SCRDEMO";

hab = WinInitialize(0); if(hab == NULLHANDLE) { WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, "Ошибка инициализации", "Ошибка", 0, MB_ICONHAND | MB_OK); return(-1); }

// Создаем очередь сообщений hmq = WinCreateMsgQueue(hab, 0); if(hmq == NULLHANDLE) { WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, "Ошибка при создании очереди сообщений", "Ошибка", 0, MB_ICONHAND | MB_OK); WinTerminate(hab); return(-1); }

// Регистрация главного окна приложения fRc = WinRegisterClass(hab, szWndClass, (PFNWP)WndProc, 0, 0); if(fRc == FALSE) { WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, "Ошибка при регистрации класса главного окна", "Ошибка", 0, MB_ICONHAND | MB_OK); WinDestroyMsgQueue(hmq); WinTerminate(hab);

return(-1); }

// Создаем главное окно приложения hWndFrame = WinCreateStdWindow (HWND_DESKTOP, WS_VISIBLE, &flFrameFlags, szWndClass, szAppTitle, 0, 0, ID_APP_FRAMEWND, &hWndClient); if(hWndFrame == NULLHANDLE) { WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, "Ошибка при создании главного окна", "Ошибка", 0, MB_ICONHAND | MB_OK); WinDestroyMsgQueue(hmq); WinTerminate(hab);

return(-1); }

// Получаем пространство отображения hps = WinGetPS(hWndFrame);

// Выбираем в пространство отображения шрифт // с фиксированной шириной символов SetCourierFont(hps);

// Определяем метрики шрифта GpiQueryFontMetrics(hps, (LONG)sizeof(fm), &fm);

cxChar = fm.lAveCharWidth; cyChar = fm.lMaxBaselineExt; cyDesc = fm.lMaxDescender;

// Устанавливаем шрифт, выбранный в пространство // отображения по умолчанию ResetFont(hps);

// Возвращаем пространство отображения WinReleasePS(hps);

// Запускаем цикл обработки сообщений while(WinGetMsg(hab, &qmsg, 0, 0, 0)) WinDispatchMsg(hab, &qmsg);

WinDestroyWindow(hWndFrame); WinDestroyMsgQueue(hmq); WinTerminate(hab); return(0); }

// ================================================= // Функция главного окна приложения // =================================================




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