Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2008, 10:16   #1
Ceprey
Пользователь
 
Регистрация: 01.03.2008
Сообщений: 47
По умолчанию Как сделать Label/StaticText в MFC?

Всем привет. В Visual Studio2005 на Controls почему-то не нахожу LABEL. Просто мне на форму нужно выводить текст. Пытался использовать для этого Static Text - совсем глухо . Ведь это все-таки должен быть LABEL? А если все-таки Static Text, то какой функцией значение переменной выводится на форму?
Ceprey вне форума Ответить с цитированием
Старый 11.03.2008, 10:46   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Ceprey Посмотреть сообщение
Всем привет. В Visual Studio2005 на Controls почему-то не нахожу LABEL. Просто мне на форму нужно выводить текст. Пытался использовать для этого Static Text - совсем глухо . Ведь это все-таки должен быть LABEL? А если все-таки Static Text, то какой функцией значение переменной выводится на форму?
В VS отродясь никаких лэйблов не было. Static Text (одна из разновидностей статик-контрола). А что с ним глухо..... не знаю... Текст выводится например так:

Код:
void CMyDlg::OnBnClickedButton1()
{
	// TODO: Add your control notification handler code here
	this->SetDlgItemText(IDC_STATIC, "12345");
}
B_N вне форума Ответить с цитированием
Старый 11.03.2008, 10:54   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,088
По умолчанию

Label'a нету. Меняешь у Статика ID с IDC_STATIC на любое другое. потом правая кнопочка мыши на нем и выбираешь Add Variable... Там создаешь или переменную для контрола CStatic или переменную для содержимого нужного типа. И спокойно меняешь надпись как в делфях. Только если создашь переменную как CString например, то надо при чтении/записи значения использовать UpdateData кажется. параметр TRUE - читает значения во все переменные, а FALSE - записывает значения из переменных в контрол. или наоборот. точно не помню)
pu4koff вне форума Ответить с цитированием
Старый 11.03.2008, 19:11   #4
Ceprey
Пользователь
 
Регистрация: 01.03.2008
Сообщений: 47
По умолчанию

Спасибо всем! Пробовал вариант Pu4koff'a, получилось. Но вопрос в следующем - UpdateData обновляет все тексты в диалоговом окне. А как сделать, чтобы она обновляла, скажем, один Edit или только два Static'a из трех? Или так не бывает?
Пробовал также вариант от B_N, но для компилятора - IDC_STATIC undeclared identifier. Я пытался менять эту переменную, но не совсем понимаю ее смысл. Я думал, это и есть строка, которую нужно вывести, а Studio почему-то ждет, что она будет short int, unsigned short*.
Ceprey вне форума Ответить с цитированием
Старый 11.03.2008, 19:29   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,088
По умолчанию

по поводу обновления отдельных контролов я хз. а IDC_STATIC - это просто #define IDC_STATIC /*значение short int*/. для удобства понимания так сказать. это ИД твоего контрола в окне. вроде порядкового номера.
можно написать хоть:
SetDlgItemText(2001, "12345")
хоть:
#define ID_MYCONTROL1 2001
...
SetDlgItemText(ID_MYCONTROL1, "12345")

будет одно и то же
pu4koff вне форума Ответить с цитированием
Старый 11.03.2008, 23:28   #6
Ceprey
Пользователь
 
Регистрация: 01.03.2008
Сообщений: 47
По умолчанию

Спасибо! Буду пробовать
Ceprey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вертикальный StaticText Abbatik Помощь студентам 1 21.02.2008 00:00
Label Kocapb Общие вопросы C/C++ 2 17.01.2008 01:50
label dmitrymoskva Общие вопросы Delphi 7 24.10.2007 18:54
Label Oksana Компоненты Delphi 2 22.04.2007 20:54
Вопрос по label. Как сделать так чтобы label была прозрачной. Lonix Компоненты Delphi 2 01.04.2007 06:23