Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Rajd
44 / 22 / 2
Регистрация: 20.11.2008
Сообщений: 178

Закрашивается, но текст не отображается

25.03.2010, 09:11. Показов 739. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот в чем загвоздка есть такой вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
    case WM_PAINT:
                WinPai.DrawFillRect((rc_MainWnd.right>>1)+10,rc_MainWnd.top+210,rc_MainWnd.right-10,rc_MainWnd.bottom-85,reinterpret_cast<HBRUSH>(COLOR_3DFACE+5));
                hLib=LoadLibrary(spis[n_selt]);
                if(!hLib)
                    MessageBox(NULL,"Ошибка","sadf",MB_OK);
                opis=(TESTOPIS)(GetProcAddress(hLib,"Opisanie"));
                if(!opis)
                    MessageBox(NULL,"Ошибкаd","sadf",MB_OK);
                WinPai.DrawTextALight(opis(),(rc_MainWnd.right>>1)+10,rc_MainWnd.top+210,rc_MainWnd.right-10,rc_MainWnd.bottom-85,1);
                FreeLibrary(hLib);
            break;
если закоментировать строку:
C++
1
WinPai.DrawFillRect((rc_MainWnd.right>>1)+10,rc_MainWnd.top+210,rc_MainWnd.right-10,rc_MainWnd.bottom-85,reinterpret_cast<HBRUSH>(COLOR_3DFACE+5));
текст из функции DrawTextALight видно, а если оставить как есть, то DrawFillRect его перекрывает.

вот исходный код обеих функций:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int R_paint::DrawFillRect(int x1,int y1,int x2,int y2,HBRUSH hbr){
    PAINTSTRUCT ps;
    HDC hDC;
    RECT rec;
    HRGN hrg;
    hDC=BeginPaint(h_WinPai,&ps);
    hrg=CreateRectRgn(x1,y1,x2,y2);
    GetRgnBox(hrg,&rec);
    FillRect(hDC,&rec,reinterpret_cast<HBRUSH>(COLOR_3DFACE+5));
    DeleteObject(hrg);
    EndPaint(h_WinPai,&ps);
return 1;
}
int R_paint::DrawTextALight(LPCSTR str, int x1, int y1, int x2, int y2, int transp){
    PAINTSTRUCT ps;
    HDC hDC;
    RECT rec;
    HRGN hrg;
    hDC=BeginPaint(h_WinPai,&ps);
    hrg=CreateRectRgn(x1,y1,x2,y2);
    GetRgnBox(hrg,&rec);
    if(transp)
        SetBkMode(hDC,TRANSPARENT);
    DrawTextA(hDC,str,-1,&rec,txt_Style);
    DeleteObject(hrg);
    EndPaint(h_WinPai,&ps);
    return 0;
}
Компилируется все без ошибок.

Добавлено через 2 часа 13 минут
Проблема не устранена, однако найдены ещё симптомы,
Воспользоваться функцией DrawTextALight или DrawFillRect возможно только один раз, все последующие разы они не работают.

Добавлено через 10 минут
почему-то значение transp всегда одно и тоже, сколько бы его не переназначал и всегда 4201391

Добавлено через 7 минут
Итак, выяснилось, что проблему создавало то что я открывал и закрывал контекст прямо в функциях, вынул его из функций, все стало работать как надо. кто-нибудь может пояснить в чем была причина.

Добавлено через 1 минуту

Не по теме:

Эх, жаль нельзя себе спасибо, сам себя не поблагодаришь - никто не поблагодарит.

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.03.2010, 09:11
Ответы с готовыми решениями:

Не отображается текст из файла на русском языке, отображается только английский
StreamReader stream = new StreamReader(new FileStream(&quot;E:\\text.txt&quot;,FileMode.Open,FileAccess.Read)); textBox1.Text =...

Текст капчи отображается на Денвере, но не отображается на хостинге
Привет. У меня на ноуте установлена сборка Денвер. я доделал сайт и он в принципе нормально вроде отображается. Перенес файлы на хостинг и...

Неправильно отображается текст (лишний текст при вводе точки)
Привет всем, нид хел по коду С++. Все работает, но не правильно отображает текст ( лишний текст при вводе символа (точки) '.'...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.03.2010, 09:11
Помогаю со студенческими работами здесь

При нажатии на форму PDF текст отображается нормально, если нажать в другое место текст исчезает
День добрый. Имеются PDF документы с формами в которые вводится текст. При нажатии на форму текст отображается нормально, если же нажать...

Не отображается текст
После переустановки Windows XP, очень нужный текстовый файл с расширением .doc при открытии не может отобразить текст. вместо текста выдает...

Не отображается текст!
Не подскажете в чем проблема? Верхняя часть текста видна, а нижняя нет.

Не отображается текст
День добрый. Не могу понять почему при запуске приложения текст не отображается в элементе PlainText с именем extra_status. ...

Не отображается UI текст
Текст входит в область видимости камеры, лежит на верхнем слое, но с камеры его не видно, что в редакторе, что в пробной игре. Сталкивался...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru