Как сразуже обновить контрол по его переменной в Vc?
Например есть эдит контрол IDC_MY_EDIT
И есть переменная CString m_my_edit связанная с ним.
В какой-то функции, пусть это будет обработка события клика на кнопке переменная m_my_edit изменилась - требуется обновить и содержание поля для юзера и продолжить выполнение кода обработки клика кнопки.
Если bSaveAndValidate == TRUE, то значение Controla передается его переменной, если bSaveAndValidate == FALSE, то значение переменной передается от переменной к Controlу.
В данном случае код будет выглядеть следующим образом:
{
...
m_my_edit = "Новое значение";
UpdateData(FALSE);
}
P.S.
Эффективнее использовать пременную типа Control,
тогда код будет выглядеть следующим образом:
m_my_edit.SetWindowText("Новое значение");
...
m_my_edit = "Новое значение";
UpdateData(FALSE);
...еще тыща строк кода...
}
хех обновление произойдет только после выполнения тысячи строк кода и выходе из функции!!!!!!! вопрос в том как можно НЕМЕДЛЕННО проапдейтить контрол!
Цитата:
Originally posted by warezhka
[B
хех обновление произойдет только после выполнения тысячи строк кода и выходе из функции!!!!!!! вопрос в том как можно НЕМЕДЛЕННО проапдейтить контрол!
[B
хех обновление произойдет только после выполнения тысячи строк кода и выходе из функции!!!!!!! вопрос в том как можно НЕМЕДЛЕННО проапдейтить контрол!
Используя переменную типа Control и функцию SetWindowText(CString str) обновление произойдет сразу!!!
Цитата:
Originally posted by AndreySar
Используя переменную типа Control и функцию SetWindowText(CString str) обновление произойдет сразу!!!
Используя переменную типа Control и функцию SetWindowText(CString str) обновление произойдет сразу!!!
Более по-MFCшному для немедленного обновления окна надо делать
Код:
m_EMyEditCtrl.UpdateWindow();
Код:
GetDlgItem(IDC_EDIT1)->UpdateWindow();
Без MFC это будет
Код:
UpdateWindow(GetDlgItem(hDlg, IDC_EDIT1));