![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно выбирать шрифты для рисования...
max999 © (2006-04-18 10:36:00)...на (или по) DC?
на WM_PAINT пишу:
FontNormal := CreateFont(-8, 0, 0, 0, FW_DONTCARE, 0, 0, 0, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE + DEFAULT_PITCH, DefFontName);
FontBold := CreateFont(-8, 0, 0, 0, FW_BOLD, 0, 0, 0, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE + DEFAULT_PITCH, DefFontName);
FontItalic := CreateFont(-8, 0, 0, 0, FW_DONTCARE, 1, 0, 0, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE + DEFAULT_PITCH, DefFontName);
FontBoldItalic := CreateFont(-8, 0, 0, 0, FW_BOLD, 1, 0, 0, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE + DEFAULT_PITCH, DefFontName);
// само рисование -
SelectObject(hdc, FontNormal);
TextOut(hdc, 0, 0, "22", 2);
DeleteObject(FontNormal);
SelectObject(hdc, FontBold);
TextOut(hdc, 0, 20, "22", 2);
DeleteObject(FontBold);
SelectObject(hdc, FontNormal);
TextOut(hdc, 0, 40, "22", 2);
DeleteObject(FontNormal);
По идее вначале должен рисоваться нормальный текст, потом полужирный, потом снова нормальный... Но последние "двойки" рисуються полужирным...
Zz_ (2006-04-18 13:06:00) [1]А зачем на WM_PAINT писать
CreateFont + DeleteObject
Не лучше ли один раз CreateFont и один раз DeleteObject
в соответствующих местах, но никак не на WM_PAINT ?
max999 (2006-04-18 11:54:00) [2]Уже сам разобрался :) Но все равно спасибо...
MBo (2006-04-18 11:49:00) [3]> DeleteObject(FontNormal);
Все, копец нормальному...