IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> WinAPI, Юникодный проект, (на disabled-контролах недорисовывается текст)
сообщение
Сообщение #1


Гость






Привет всем smile.gif

Столкнулся с непонятным поведением программы. Создаю (MinGW + CodeBlocks, НЕ MSVS) простейший проект Win32, создающий одно-единственное окошко. И добавляю в него вот такой код:

#define UNICODE
...
// Создаем кнопку
HWND myButton = CreateWindow(L"BUTTON", L"Отмена",
BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE,
50, 50, 125, 25, hwnd, 0, hThisInstance, NULL);
// Отключаем (дизейблим) ее
EnableWindow(myButton, false);

HFONT myFont = CreateFont(-11, 0, 0, 0, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH | FF_DONTCARE, L"MS Sans Serif");
// назначаем этот шрифт всем оконным элементам
if(myFont)
{
SendMessage(myButton, WM_SETFONT, (WPARAM)myFont, 0);
}

// Показываем окно
ShowWindow (hwnd, nCmdShow);
...
В результате получаю то, что показано во вложении:
Прикрепленное изображение

Однако, если закомментировать строку с EnableWindow, то текст отображается как положено:
Прикрепленное изображение

Попробовал сделать аналогичный проект на Дельфях - абсолютно то же самое, в disable отсекается часть надписи. ОС - WinXP SP3. Причем программа, скомпилированная у меня, прекрасно показывает весь текст под Вистой, например. А на соседнем WinXP SP2 съедается еще больше текста, видно только первые 3 буквы. Зато в Enabled-состоянии отображается везде одинаково правильно.

Это я что-то упускаю, или что может быть? Куда можно копать вообще? blink.gif
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 6:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name