Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отрисовка текста

9.7K
21 ноября 2008 года
SpeedShifter
67 / / 07.10.2007
Хочу сделать так:
[ATTACH]3180[/ATTACH]
А получается при помощи DrawText(); так:
[ATTACH]3181[/ATTACH]
Если вы заметили, то в первом (желаемом) случае на белом фоне текст черного цвета, а на синем- белого.
14
21 ноября 2008 года
Phodopus
3.3K / / 19.06.2008
Создайте прямоугольник отсечения, например. И рисуйте 2 раза.
9.7K
21 ноября 2008 года
SpeedShifter
67 / / 07.10.2007
Не совсем понимаю как?!
Дело в том что:
у меня есть общий прямоуголник rc и заполненный прямоугольник кс2, но рисую то я по центру rc, как сделать отсечение но при этом штоб текст начинался с того же места?
3.7K
22 ноября 2008 года
0nni
326 / / 24.06.2008
Сначала рисуете белый прямоугольник с черным текстом на нем.
Затем синий прямоугольник, с белым текстом используя DrawTextEx(), она позволяет выводить текст в прямоугольнике, и имеет еще кучу флагов для прорисовки текста.
14
24 ноября 2008 года
Phodopus
3.3K / / 19.06.2008
Нарпимер так:
Код:
R := Rect(5, 270, 105, 295);
  R2 := Rect(5+1, 270+1, 55, 295);
  Canvas.Brush.Color := clWhite;
  Canvas.Rectangle(R);
  Canvas.Brush.Color := clBlue;
  Canvas.Pen.Style := psClear;
  Canvas.Rectangle(R2);
  SetBkMode(Canvas.Handle, TRANSPARENT);
  SetTextColor(Canvas.Handle, clWhite);
  DrawText(Canvas.Handle, '50%', -1, R, DT_SINGLELINE or DT_CENTER or DT_VCENTER or DT_NOCLIP);
  IntersectClipRect(Canvas.Handle, 55-1, 270, 105, 295);
  SetTextColor(Canvas.Handle, clBlack);
  DrawText(Canvas.Handle, '50%', -1, R, DT_SINGLELINE or DT_CENTER or DT_VCENTER or DT_NOCLIP);

извините, конечно, за дельфи, но думаю разберетесь ибо WinAPI :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог