0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 3
1

Не срабатывает DrawText?

07.12.2013, 14:17. Показов 2600. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте! Помогите розобратся в чем ошибка. Суть проблемы. Виполняется код:
C++ (Qt)
1
DrawTextA(Image1->Canvas->Handle, ZminEl->text.c_str(),-1,&T1,DT_SINGLELINE | DT_VCENTER | DT_CENTER);
но надпесь не появляется. Иногда если рядом нарисовать линию надпись появляется. В чем проблема не пойму.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2013, 14:17
Ответы с готовыми решениями:

DrawText
как при пощи DrawText сделать надпись в окне , если можно простенький исходник. Заранее всем...

Метод DrawText
Привет, дайте пожалуйста пример использования метода DrawText под DX9. Есть инициализация...

ANSI и DrawText
Вопрос, видимо, простой, но я пока не могу разобраться, что не так... Поиски по интернету решения...

DrawText, TextOut
i - глобальная case WM_PAINT: { i++; wchar_t s; hdc=BeginPaint(hwnd,&ps);...

4
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
07.12.2013, 15:13 2
А если сделать через DrawTextEx()
0
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 3
07.12.2013, 16:56  [ТС] 3
Можете навести премер как правельно использовать эту функцию чтобы написать текст на Image1, а то результат тотже, тоесть текста нет, но если рисуется линия при движении мышкой, то текст появляется в 90%.
C++
1
DrawTextEx(Image1->Canvas->Handle, ZminEl->text.c_str(),-1,&T1,DT_SINGLELINE | DT_VCENTER | DT_CENTER,NULL);
Возможно я что-то упускаю перед использованием функции?
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
07.12.2013, 17:08 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
          Image1->Canvas->Rectangle(0,0,Image1->ClientWidth,Image1->ClientHeight);
          PatBlt(Image1->Canvas->Handle, 0, 0, Image1->ClientWidth, Image1->ClientHeight, WHITENESS);
          Image1->Canvas->Font->Size = 30;
          Image1->Canvas->Font->Name = "ChinaCyr";
          TRect DrawRect = Image1->ClientRect;
          int DrawFlags = DT_END_ELLIPSIS | DT_NOPREFIX | DT_WORDBREAK | DT_EDITCONTROL | DT_CENTER;
          DrawText(Image1->Canvas->Handle, citati->Strings[d].c_str(), -1, &DrawRect, DrawFlags | DT_CALCRECT);
          DrawRect.Right = Image1->ClientRect.Right;
 
    if(DrawRect.Bottom < Image1->ClientRect.Bottom)
    {
      OffsetRect(DrawRect, 0, (Image1->ClientRect.Bottom - DrawRect.Bottom) / 2);
    }
    else
    {
     DrawRect.Bottom = Image1->ClientRect.Bottom;
    }
 
    TDrawTextParams DrawParams = {0};
    DrawParams.cbSize = sizeof(DrawParams);
    DrawTextEx(Image1->Canvas->Handle, citati->Strings[d].c_str(), -1, &DrawRect, DrawFlags, &DrawParams);
1
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 3
07.12.2013, 18:48  [ТС] 5
Огромное спасибо за пример. Но увы текст так и не отображается. если пример запустить отдельной программой, все работает, а у меня в програме код срабатывает но текст не появляется, может ли как то влиять
C++
1
Image1->Canvas->Pen->Mode = pmNotXor;
или
C++
1
Image1->Canvas->Pen->Mode = pmCopy;
Добавлено через 22 минуты
Спасибо за помощь! Разобрался в чем ошибка. Оказывается R.left и R.top это верхний левый угол прямогольника должен быть, а у меня туда подставлялся правый нижний.
0
07.12.2013, 18:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2013, 18:48
Помогаю со студенческими работами здесь

DRAWTEXT(DT_CALCRECT)
Доброго времени суток. Пытаюсь создать окно &quot;static&quot; с определённой шириной и высотой, в...

Ошибка в DrawText()
expected primary-expression before ',' token в строчке DrawText(hwnd, str, WORD, &amp;rect,...

функция DrawText()
Здравствуйте! Помогите пожалуйста, как вывести текст с помощью функции DrawText(), предварительно...

( ? ) DrawText + очистка
Здравствуйте написал такой код,для того,чтобы вывести текст на экран: ... hDC =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru