Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Изменение шрифтов

Rusa


Как Вы, вероятно, знаете, одной из основных целей Windows яв 828x231i 83;яется обеспечение полного управления пользовательским интерфейсом. Поэтому операционная система располагает богатыми и разнообразными возможностями работы с текстом, которые Вы можете использовать. Главной из них является поддержка множес­тва разнообразных шрифтов. Программируя в Windows, Вы можете не только использовать встроенные шрифты, но и создавать собственные. Следующие разделы посвящены обсуждению этих возможностей и их реализации.



GetStockObject()

ANSI_FIXED_FONT

ANSI_VAR_FONT

DEVICE_DEFAULT_FONT

DEFAULT_GUI_FONT

OEM_FIXED_FONT

OEM-шрифт

SYSTEM_FONT

Системный шрифт Windows



SYSTEM_FIXED_FONT

Шрифт, использовавшийся как системный в ранних версиях Windows

используются в Windows для отображения меню и диалогов. В ранних версиях Windows использовался системный шрифт с постоянным размером символов. Во всех современных версиях, начиная с Windows 95, используются пропорциональные шрифты.

HFONT GetStockObject() SelectObject() SelectObject()

. Следующий пример демонстрирует процедуру переключения шрифтов. В нем вводится новый пункт меню Шрифт. Каждый раз при выборе этой команды меню программа переключается между системным шрифтом по умолчанию и ANSI-пропорциональным шрифтом.

#include <Windows.h>

#include <String.h>

#include <Stdio.h>

#include "Text.h"

LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM);

char szWinName[] = " "; //

char str[255]; // Буфер строки вывода

int X=0, Y=0; // Текущие координаты строки

int maxX, maxY; // Размеры экрана



HDC memdc; // DC виртуального окна

HBITMAP hbit; // Растр - это виртуальное окно

HBRUSH hbrush; // Дескриптор кисти

HFONT holdf, hnewf; // Дескрипторы шрифтов

int WINAPI WinMain (HINSTANCE hThisInst,

HINSTANCE hPrevInst,

LPSTR lpszArgs,

int nWinMode)

return msg.wParam;

}

// Windows и получает в качестве параметров сообщения

LRESULT CALLBACK WindowFunc HWND hwnd

UINT message,

WPARAM wParam,

LPARAM lParam)

else //

break;

case ID_RESET:

X=Y=0; // Стереть перерисовкой фона

PatBlt(memdc,0,0,maxX,maxY,PATCOPY);

InvalidateRect(hwnd,NULL,1); //

break;

case ID_HELP:

MessageBox(hwnd,"F2: \n"

"F3: сменить шрифт\n"

"F4: с начала экрана",

" ",MB_OK);

break;

}



break;

case WM_PAINT: //

hdc=BeginPaint(hwnd,&paintstruct); // DC

// Теперь копируем растр из памяти на экран

BitBlt(hdc,0,0,maxX,maxY,memdc,0,0,SRCCOPY);

EndPaint(hwnd,&paintstruct); // DC

break;

case WM_DESTROY: // Завершение программы

DeleteDC(memdc); // Удалить виртуальное окно

PostQuitMessage(0);

break;

default:

// Все сообщения, не обрабатываемые в данной

// функции, направляются на обработку по

// умолчанию

return DefWindowProc(hwnd,message,

wParam,lParam);

return 0;

}

#include <Windows.h>

#include "Text.h"

MYMENU MENU

MYMENU ACCELERATORS

И, наконец, добавьте еще одну строку в файл Text.h:

#define ID_SHOW 100

#define ID_RESET 101

#define ID_FONT 102

#define ID_HELP 103

TRANSPARENT




Document Info


Accesari: 1547
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )