Отправляет email-рассылки с помощью сервиса Sendsay

[TC] VC++ 2008. элемент управления статический текст

Здравствуйте, уважаемые!

в редакторе ресурсов добавляю элемент статический текст (в rc-файле он отображается
как ltext). Перевидел кучу примеров размещения форматированной строки в этом
элементе и все совершенно также как в моем случае, а именно:

TCHAR tchBuf[MAX_PATH];
StringCbPrintf (tchBuf, ARRAYSIZE(tchBuf), TEXT("Описание: %s"), MyStruct[i].desc);
SetDlgItemText(hDlg, IDC_STATIC, tchBuf);

Но почему-то текст не появлялся, не появляется и пока не собирается появляться
:-)
Меня смущает, правда, еще один вопрос, который может содержать ключ к ответу
на первый:
Когда в редакторе я добавил элемент статический текст, то элемент ltext добавился
только в файле resource.rc и компилятор выругался на то, что идентификатор IDC_STATIC
не определен.
Добавил его в файл header.h так:

#define IDC_STATIC 1005

и компилятор успокоился, зато меня этот момент немного напряг. Почему добавляемый
через редактор элемент с идентификатором по умолчанию не определен как другие
элементы такие как:

#define IDC_BUTTON1 1003
#define IDC_LIST1 1002

и так дальше добавляются без моей помощи.

Просьба пояснить в каком направлении мне нужно рыть землю. msdn мне мало чем
помог - информации очень мало и без практических примеров дело идет очень туго.

Грызунов Александр Викторович (программист)
Самарская областная библиотека для слепых

Ответить   Thu, 6 Dec 2012 01:14:36 +0300 (#2623112)

 

Ответы:

Привет Александр!
ц
в редакторе ресурсов добавляю элемент статический текст (в rc-файле он
отображается
как ltext). Перевидел кучу примеров размещения форматированной строки в этом
элементе и все совершенно также как в моем случае, а именно:

TCHAR tchBuf[MAX_PATH];
StringCbPrintf (tchBuf, ARRAYSIZE(tchBuf), TEXT("Описание: %s"),
MyStruct[i].desc);
SetDlgItemText(hDlg, IDC_STATIC, tchBuf);
могу конечно чего то уже не помнить
но если моя память мне ни с кем не изменяет то нельзя динамически менять у
статического контрола его элементы свойств.
точнее не все а только те, которые заданы в свойствах контрола.
а что нужно сделать:
вызвать свойства статикса и прописать его название в свойствах.
это в редакторе ресурсов.
т.е.
подпись объявить статически,
в частности можно вот так:
(строка из рабочего проекта из файла ресурсов)
LTEXT "История версий",IDC_STATIC,241,82,54,8
подобное прокатывает ещё с рядом контролов:
кнопками, списками и пр.
не прокатывает с листбоксами
к ним как раз надо присобачивать статиксы что бы знать что за комбобокс у
нас в фокусе.

ц
Но почему-то текст не появлялся, не появляется и пока не собирается
появляться
:-)
а вот если статикс задать динамически то тогда можно влёгкую менять его
подпись.
правда под рукой рабочих примеров нет
так как ниразу именно статиксы не задавал динамически.

ц
Меня смущает, правда, еще один вопрос, который может содержать ключ к ответу
на первый:
Когда в редакторе я добавил элемент статический текст, то элемент ltext
добавился
только в файле resource.rc и компилятор выругался на то, что идентификатор
IDC_STATIC
не определен.
а какой шаблон проекта был задействован?
Виктор Горелов

Ответить   Thu, 6 Dec 2012 15:24:07 +0400 (#2623626)