92978b58

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


MRESULT EXPENTRY WndProc(HWND hWnd, ULONG msg, MPARAM mp1, MPARAM mp2) { HPS hps; RECTL rec;

switch (msg) { case WM_CREATE: { // Начальные координаты движков nYScrollPos = 0; nXScrollPos = 0;

// Начальные координаты для вывода текста cyCurrentPosition = cyClient; cxCurrentPosition = nXScrollPos * cxChar + cxChar;

// Определяем идентификатор окна для // вертикальной полосы просмотра hwndYScroll = WinWindowFromID( WinQueryWindow(hWnd, QW_PARENT), FID_VERTSCROLL),

// Устанавливаем диапазон изменений координат // движка и начальное положение для // вертикальной полосы просмотра WinSendMsg(hwndYScroll, SBM_SETSCROLLBAR, (MPARAM)0, MPFROM2SHORT(0, YSIZE));

// Выполняем аналогичные действия для // горизонтальной полосы просмотра hwndXScroll = WinWindowFromID( WinQueryWindow(hWnd, QW_PARENT), FID_HORZSCROLL),

WinSendMsg(hwndXScroll, SBM_SETSCROLLBAR, (MPARAM)0, MPFROM2SHORT(0, XSIZE));

return FALSE; }

case WM_SIZE: { // получаем и сохраняем размеры главного окна cxClient = SHORT1FROMMP(mp2); cyClient = SHORT2FROMMP(mp2);

// Перерисовываем окно приложения WinInvalidateRect(hWnd, NULL, TRUE); return 0; }

case WM_PAINT: { // Получаем пространство отображения hps = WinBeginPaint(hWnd, NULLHANDLE, &rec);

// Закрашиваем область, требующую обновление WinFillRect(hps, &rec, CLR_WHITE);

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

// Устанавливаем начальные координаты для // вывода текста cxCurrentPosition = -nXScrollPos * cxChar + cxChar; cyCurrentPosition = cyClient;

// Выводим метрики шрифта PrintString(hps, fm.szFamilyname, "szFamilyname"); PrintString(hps, fm.szFacename, "szFacename");

PrintLong(hps, fm.idRegistry, "idRegistry"); PrintLong(hps, fm.usCodePage, "usCodePage"); PrintLong(hps, fm.lEmHeight, "lEmHeight"); PrintLong(hps, fm.lXHeight, "lXHeight"); PrintLong(hps, fm.lMaxAscender, "lMaxAscender"); PrintLong(hps, fm.lMaxDescender, "lMaxDescender"); PrintLong(hps, fm.lLowerCaseAscent, "lLowerCaseAscent"); PrintLong(hps, fm.lLowerCaseDescent, "lLowerCaseDescent"); PrintLong(hps, fm.lInternalLeading, "lInternalLeading"); PrintLong(hps, fm.lExternalLeading, "lExternalLeading"); PrintLong(hps, fm.lAveCharWidth, "lAveCharWidth"); PrintLong(hps, fm.lMaxCharInc, "lMaxCharInc"); PrintLong(hps, fm.lEmInc, "lEmInc"); PrintLong(hps, fm.lMaxBaselineExt, "lMaxBaselineExt"); PrintLong(hps, fm.sCharSlope, "sCharSlope"); PrintLong(hps, fm.sInlineDir, "sInlineDir"); PrintLong(hps, fm.sCharRot, "sCharRot"); PrintLong(hps, fm.usWeightClass, "usWeightClass"); PrintLong(hps, fm.usWidthClass, "usWidthClass"); PrintLong(hps, fm.sXDeviceRes, "sXDeviceRes"); PrintLong(hps, fm.sYDeviceRes, "sYDeviceRes"); PrintLong(hps, fm.sFirstChar, "sFirstChar"); PrintLong(hps, fm.sLastChar, "sLastChar"); PrintLong(hps, fm.sDefaultChar, "sDefaultChar"); PrintLong(hps, fm.sBreakChar, "sBreakChar"); PrintLong(hps, fm.sNominalPointSize, "sNominalPointSize"); PrintLong(hps, fm.sMinimumPointSize, "sMinimumPointSize"); PrintLong(hps, fm.sMaximumPointSize, "sMaximumPointSize"); PrintLong(hps, fm.fsType, "fsType"); PrintLong(hps, fm.fsDefn, "fsDefn"); PrintLong(hps, fm.fsSelection, "fsSelection"); PrintLong(hps, fm.fsCapabilities, "fsCapabilities"); PrintLong(hps, fm.lSubscriptXSize, "lSubscriptXSize"); PrintLong(hps, fm.lSubscriptYSize, "lSubscriptYSize"); PrintLong(hps, fm.lSubscriptXOffset, "lSubscriptXOffset"); PrintLong(hps, fm.lSubscriptYOffset, "lSubscriptYOffset"); PrintLong(hps, fm.lSuperscriptXSize, "lSuperscriptXSize"); PrintLong(hps, fm.lSuperscriptYSize, "lSuperscriptYSize"); PrintLong(hps, fm.lSuperscriptXOffset, "lSuperscriptXOffset"); PrintLong(hps, fm.lSuperscriptYOffset, "lSuperscriptYOffset"); PrintLong(hps, fm.lUnderscoreSize, "lUnderscoreSize"); PrintLong(hps, fm.lUnderscorePosition, "lUnderscorePosition"); PrintLong(hps, fm.lStrikeoutSize, "lStrikeoutSize"); PrintLong(hps, fm.lStrikeoutPosition, "lStrikeoutPosition"); PrintLong(hps, fm.sKerningPairs, "sKerningPairs"); PrintLong(hps, fm.sFamilyClass, "sFamilyClass"); PrintLong(hps, fm.lMatch, "lMatch"); PrintLong(hps, fm.FamilyNameAtom, "FamilyNameAtom"); PrintLong(hps, fm.FaceNameAtom, "FaceNameAtom");




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