powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / VC++
16 сообщений из 16, страница 1 из 1
VC++
    #33753003
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
перехожу с дельфи на vc и столкнулся с такой проблеммой:
на диалоговой панели есть два эдита (idc_edit1 (к нему привязана CString m_1), idc_edit2 (к нему привязана CString m_2)). хочу сделать так: по нажатию на кнопку (idc_button1) берем текст из эдит1, делаем с ним операции и присваиваем полученный текст эдиту2.
пишу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void CDlg::OnButton1()
{
   CDlg dlg;
   MessageBox(dlg.m_1);   //выводится на экран пустой messagebox
  ....
  dlg.m_2 = dlg.m_1;   //ничего не присваивается 
  UpdateData; 
}
как этот код написать правильно?
...
Рейтинг: 0 / 0
VC++
    #33753059
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если можно, напишите, хотя бы как показать значение имеющееся в dlg.m_1 в эдите1 ?
...
Рейтинг: 0 / 0
VC++
    #33753094
Teem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rkeg_перехожу с дельфи на vc и столкнулся с такой проблеммой:
на диалоговой панели есть два эдита (idc_edit1 (к нему привязана CString m_1), idc_edit2 (к нему привязана CString m_2)). хочу сделать так: по нажатию на кнопку (idc_button1) берем текст из эдит1, делаем с ним операции и присваиваем полученный текст эдиту2.
пишу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void CDlg::OnButton1()
{
   CDlg dlg;
   MessageBox(dlg.m_1);   //выводится на экран пустой messagebox
  ....
  dlg.m_2 = dlg.m_1;   //ничего не присваивается 
  UpdateData; 
}
как этот код написать правильно?

void CDlg::OnButton1()
{
// TODO: Add your control notification handler code here
//
m_Glavn=m_1;//m_Glavn - например переменная public класса CDlg,
//(необязательно public, но тип CString)
MessageBox(m_1);
m_2 =m_Glavn;
UpdateData(FALSE);
}
...
Рейтинг: 0 / 0
VC++
    #33753140
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понятно, спасибо. не надо было писать перед переменными dlg.
...
Рейтинг: 0 / 0
VC++
    #33753341
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
void CDlg::OnButton1()
{
  ....
  UpdateData(TRUE); 

  dlg.m_2 = dlg.m_1; 

  UpdateData(FALSE); 
  ...
}

...
Рейтинг: 0 / 0
VC++
    #33754721
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivvoid CDlg::OnButton1()
{
....
UpdateData(TRUE);
dlg.m_2 = dlg.m_1;
UpdateData(FALSE);
...
}
странно, я пробовал так, но у меня не вышло - реакции на подобный код - ноль...
...
Рейтинг: 0 / 0
VC++
    #33755398
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай полностью текст тогда.
...
Рейтинг: 0 / 0
VC++
    #33755456
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для того что бы проверить работоспособность, к этому коду ничего не приписывал. так и написал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
void CDlg::OnButton1()
{
CDlg dlg;
UpdateData(TRUE); 
MessageBox(dlg.m_1);   //выводится на экран пустой messagebox
dlg.m_2 = dlg.m_1;       // соответственно здесь тоже пусто
UpdateData(FALSE); 
}
если пишу так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
void CDlg::OnButton1()
{
CDlg dlg;
UpdateData(TRUE); 
MessageBox(m_1);   //выводится messagebox со значением эдита1
m_2 = m_1;       // в эдит2 после нажатия на кнопку отображается значение равное эдиту1
UpdateData(FALSE); 
}
...
Рейтинг: 0 / 0
VC++
    #33755700
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кхм, Кхм....
Вообще бред какой-то. Код какой-то бредовый.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
void CDlg::OnButton1()
{
CDlg dlg;  // Это вот что за байда ?
UpdateData(TRUE); 
MessageBox(dlg.m_1);   // Ну так а что еще может выводидза из НЕВЫПОЛНЕННОГО диалоговаго окна ?
dlg.m_2 = dlg.m_1;       // ну ясен пень тоже будет пузта.
UpdateData(FALSE); 
}

rkeg_
если пишу так:


А ты вообще понимаешь, что ты пишешь, или так, абы что бы написать ?
...
Рейтинг: 0 / 0
VC++
    #33755734
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void CDlg::OnButton1()
{
CDlg dlg;  // создаю объект класса
UpdateData(TRUE); 
MessageBox(dlg.m_1);   //ну а как сделать что бы выводилось??? и почему случай без dlg работает?
dlg.m_2 = dlg.m_1;       
UpdateData(FALSE); 
}
...
Рейтинг: 0 / 0
VC++
    #33755768
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, исправьте пажалуста мой код. мне надо двигаться дальше, а у меня ступор из-за этого...plz!!!!!
...
Рейтинг: 0 / 0
VC++
    #33755816
Homosum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rkeg_
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void CDlg::OnButton1()
{
CDlg dlg;  // создаю объект класса
UpdateData(TRUE); 
MessageBox(dlg.m_1);   //ну а как сделать что бы выводилось??? и почему случай без dlg работает?
dlg.m_2 = dlg.m_1;       
UpdateData(FALSE); 
}


Для чего ты объявляешь переменную dlg??? У тебя же уже есть этот объект, именно он и использует метод OnButton1(). Если ты создаешь объект dlg, таким образом, то он у тебя является локальным и ничего по сути дела не делает. Переменная dlg.m_1 является переменной локального объекта, а не того, который реагирует на нажатие клавиши. Поэтому ей по барабану вызвал ты UpdateData(TRUE) или не вызвал, соответственно при вызове данного метода данные будут записаны не в dlg.m_1 (так как ей по барабану:), а m_1, того класса, который ты создал в приложении и который вызывает метод OnButton1()

Почитай про классы. Это основа в C++.
...
Рейтинг: 0 / 0
VC++
    #33755844
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, согласен. То есть грамотно этот код пишется так:
Код: plaintext
1.
2.
3.
4.
5.
6.
void CDlg::OnButton1()
{
UpdateData(TRUE); 
MessageBox(m_1);   
m_2 = m_1;       
UpdateData(FALSE); 
}
правильно?
...
Рейтинг: 0 / 0
VC++
    #33755861
Chernomor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно,
еще текст можно получать через GetWindowText, в том случае если объявляешь управляющие переменные.
Купи себе книгу "Visual C++ .Net. Библия пользователя. Арчер Уайтчепел". Из того что я встречал самое толковое.
...
Рейтинг: 0 / 0
VC++
    #33756147
rkeg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за совет! я погляжу
...
Рейтинг: 0 / 0
VC++
    #33756388
Homosum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chernomorправильно,
еще текст можно получать через GetWindowText, в том случае если объявляешь управляющие переменные.
Купи себе книгу "Visual C++ .Net. Библия пользователя. Арчер Уайтчепел". Из того что я встречал самое толковое.

Полностью поддерживаю данный совет!!! Книга очень хорошая - грамотно написано и очень доходчиво, да и технологии разнообразные рассмотрены.
Я ее тащил аж из Москвы, хоть и тяжелая она, но совсем не жалею.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / VC++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]