|
|
|
как получить сис шрифты?
|
|||
|---|---|---|---|
|
#18+
как получить сис шрифты? нужно забить комбо бокс сис шрифтами, как энто сделать? MVSN 2003 7.0 c++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2006, 15:04 |
|
||
|
как получить сис шрифты?
|
|||
|---|---|---|---|
|
#18+
а можно написать как кусок кода? ибо не нашёл в МСДН такого... 8( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2006, 15:43 |
|
||
|
как получить сис шрифты?
|
|||
|---|---|---|---|
|
#18+
CHOSFONT.C msdn/*----------------------------------------- CHOSFONT.C -- ChooseFont Demo (c) Charles Petzold, 1998 -----------------------------------------*/ #include <windows.h> #include "resource.h" LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT ("ChosFont") ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = szAppName ; wndclass.lpszClassName = szAppName ; if (!RegisterClass (&wndclass)) { MessageBox (NULL, TEXT ("This program requires Windows NT!"), szAppName, MB_ICONERROR) ; return 0 ; } hwnd = CreateWindow (szAppName, TEXT ("ChooseFont"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL) ; ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; } LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { static CHOOSEFONT cf ; static int cyChar ; static LOGFONT lf ; static TCHAR szText[] = TEXT ("\x41\x42\x43\x44\x45 ") TEXT ("\x61\x62\x63\x64\x65 ") TEXT ("\xC0\xC1\xC2\xC3\xC4\xC5 ") TEXT ("\xE0\xE1\xE2\xE3\xE4\xE5 ") #ifdef UNICODE TEXT ("\x0390\x0391\x0392\x0393\x0394\x0395 ") TEXT ("\x03B0\x03B1\x03B2\x03B3\x03B4\x03B5 ") TEXT ("\x0410\x0411\x0412\x0413\x0414\x0415 ") TEXT ("\x0430\x0431\x0432\x0433\x0434\x0435 ") TEXT ("\x5000\x5001\x5002\x5003\x5004") #endif ; HDC hdc ; int y ; PAINTSTRUCT ps ; TCHAR szBuffer [64] ; TEXTMETRIC tm ; switch (message) { case WM_CREATE: // Get text height cyChar = HIWORD (GetDialogBaseUnits ()) ; // Initialize the LOGFONT structure GetObject (GetStockObject (SYSTEM_FONT), sizeof (lf), &lf) ; // Inialize the CHOOSEFONT structure cf.lStructSize = sizeof (CHOOSEFONT) ; cf.hwndOwner = hwnd ; cf.hDC = NULL ; cf.lpLogFont = &lf ; cf.iPointSize = 0 ; cf.Flags = CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS | CF_EFFECTS ; cf.rgbColors = 0 ; cf.lCustData = 0 ; cf.lpfnHook = NULL ; cf.lpTemplateName = NULL ; cf.hInstance = NULL ; cf.lpszStyle = NULL ; cf.nFontType = 0 ; cf.nSizeMin = 0 ; cf.nSizeMax = 0 ; return 0 ; case WM_COMMAND: switch (LOWORD (wParam)) { case IDM_FONT: if (ChooseFont (&cf)) InvalidateRect (hwnd, NULL, TRUE) ; return 0 ; } return 0 ; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; // Display sample text using selected font SelectObject (hdc, CreateFontIndirect (&lf)) ; GetTextMetrics (hdc, &tm) ; SetTextColor (hdc, cf.rgbColors) ; TextOut (hdc, 0, y = tm.tmExternalLeading, szText, lstrlen (szText)) ; // Display LOGFONT structure fields using system font DeleteObject (SelectObject (hdc, GetStockObject (SYSTEM_FONT))) ; SetTextColor (hdc, 0) ; TextOut (hdc, 0, y += tm.tmHeight, szBuffer, wsprintf (szBuffer, TEXT ("lfHeight = %i"), lf.lfHeight)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfWidth = %i"), lf.lfWidth)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfEscapement = %i"), lf.lfEscapement)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfOrientation = %i"), lf.lfOrientation)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfWeight = %i"), lf.lfWeight)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfItalic = %i"), lf.lfItalic)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfUnderline = %i"), lf.lfUnderline)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfStrikeOut = %i"), lf.lfStrikeOut)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfCharSet = %i"), lf.lfCharSet)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfOutPrecision = %i"), lf.lfOutPrecision)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfClipPrecision = %i"), lf.lfClipPrecision)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfQuality = %i"), lf.lfQuality)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfPitchAndFamily = 0x%02X"), lf.lfPitchAndFamily)) ; TextOut (hdc, 0, y += cyChar, szBuffer, wsprintf (szBuffer, TEXT ("lfFaceName = %s"), lf.lfFaceName)) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ; } CHOSFONT.RC //Microsoft Developer Studio generated resource script. #include "resource.h" #include "afxres.h" ///////////////////////////////////////////////////////////////////////////// // Menu CHOSFONT MENU DISCARDABLE BEGIN MENUITEM "&Font!", IDM_FONT END RESOURCE.H // Microsoft Developer Studio generated include file. // Used by ChosFont.rc #define IDM_FONT 40001 -------------------------------------------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2006, 16:17 |
|
||
|
как получить сис шрифты?
|
|||
|---|---|---|---|
|
#18+
автор (класс CFontDialog) Стандартная диалоговая панель Font предназначена для выбора шрифта. Эта панель отображает список шрифтов, установленных в системе, и позволяет выбрать название шрифта, его начертание и другие параметры. Для управления диалоговой панелью Font в библиотеку классов MFC включен класс CFontDialog. Методы этого класса можно использовать для отображения панели Font и определения характеристик шрифта, выбранного пользователем. Конструктор класса CFontDialog: CFontDialog(LPLOGFONT lplfInitial=NULL, DWORD dwFlags=CF_EFFECTS | CF_SCREENFONTS, CDC* pdcPrinter,CWnd* pParentWnd=NULL); Все параметры конструктора являются необязательными. Настройка стандартной панели выбора шрифта, которая выполняется конструктором класса CFontDialog по умолчанию, удовлетворяет большинству пользователей. Параметр lplfInitial является указателем на структуру LOGFONT, описывающую логический шрифт. Если этот параметр используется, то в диалоговой панели по умолчанию будет выбран шрифт, наиболее соответствующий шрифту, описанному в структуре LOGFONT. Параметр dwFlags задает набор флагов, управляющий различными режимами работы панели. Например, флаг CF_EFFECTS позволяет пользователю создавать подчеркнутые и перечеркнутые буквы, определять цвет букв, а флаг CF_SCREENFONTS - разрешает выбирать только экранные шрифты. Через параметр pdcPrinter можно передать конструктору контекст отображения принтера, шрифты которого будут представлены в диалоговой панели Font. Данный параметр используется только в том случае, если в параметре dwFlags указаны флаги CF_PRINTERFONTS или CF_BOTH. Через параметр pParentWnd можно указать родительское окно для диалоговой панели Font. Методы класса CFontDialog Для отображения диалоговой панели Font предназначен виртуальный метод DoModal. Если пользователь выбрал шрифт и нажал кнопку OK, метод DoModal возвращает идентификатор IDOK, если пользователь отменил выбор шрифта, метод DoModal возвращает идентификатор IDCANCEL: CFontDialog dlgFont; int iResult=dlgFont.DoModal(); Остальные методы класса предназначены для определения характеристик выбранного пользователем шрифта. Метод GetCurrentFont позволяет сразу определить все характеристики выбранного шрифта, записав их в структуру LOGFONT. Остальные методы класса позволяют определить только отдельные характеристики выбранного шрифта: * GetFaceName - Возвращает имя выбранного шрифта * GetStyleName - Возвращает имя стиля выбранного шрифта * GetSize - Возвращает размер выбранного шрифта * GetColor - Возвращает цвет выбранного шрифта * GetWeight - Возвращает плотность выбранного шрифта * IsStrikeOut - Определяет, является ли шрифт выделенным перечеркнутой линией * IsUnderline - Определяет, является ли шрифт выделенным подчеркиванием * IsBold - Определяет, является ли шрифт жирным * IsItalic - Определяет, является ли шрифт наклонным -------------------------------------------------------------- 4. Панель выбора шрифта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2006, 18:12 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33894890&tid=2030740]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 378ms |

| 0 / 0 |
