Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > оновление


Автор: MadDog__ 24.3.2009, 02:13
Программирую в МFC недавно. Вот в чем вопрос я создаю определенное количество кнопок CButton и в эти кнопки вывожу текстовую (int) информацию с помощью DDX_Text(), и есть код который постоянно берет новые данные из базы данных. Где или как нужно вставить мой код что бы программа могла обновлять содержимое кнопок? кнопки создаються при вызове функции OnCreate класса CView.

Автор: Andrey44 24.3.2009, 08:41
MadDog__, очень как-то все описано запутано.
Если установить новый текст на кнопку - SetWindowTExt()

Автор: Earnest 24.3.2009, 11:38
Чтобы обновить кнопки и другие поля через DoDataExchange, нужно вызвать UpdateData (false).
Где вызвать - зависит от задачи.
Цитата(MadDog__ @  24.3.2009,  03:13 Найти цитируемый пост)
есть код который постоянно берет новые данные из базы данных

Если это независимый код (скажем, поток), то поставь обновление (вызов UpdateData) на таймер, а если код вызывается синхронно, то после него и поставь.

Автор: MadDog__ 25.3.2009, 12:05
Спасибо smile 

Автор: MadDog__ 9.4.2009, 01:54
Решил не открывать новую тему. 
Вот еще один вопрос могу ли я задать цвет кнопке например красный зеленый или любой другой? какие функции при этом использовать?

Автор: Andrey44 9.4.2009, 07:15
WM_DRAWITEM
Код

afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct )
{
    if(lpDrawItemStruct->CtlType==ODT_BUTTON)
    {
       if(nIDCtl==ID_BUTTON1)
       {

       }
    }
}

Дальше я думаю разберетесь smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)