Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CDialogBar messages 
V
    Опции темы
ShurikA
Дата 24.7.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



У меня относительно элемнтарный вопрос (но сам запутался)...
Как управлять контролями CDialogBar? 


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Earnest
Дата 24.7.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Что значит - управлять? Заполнять \ получать значения полей? Дизаблить и получать уведомления от контролов? 


--------------------
...
PM   Вверх
ShurikA
Дата 24.7.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



В Общем да...
Но больше всего меня волнует: 
Когда я выбираю что то в КомбоБоксе который находится в CDialogBar, мне на каким образом не удаётся убрать с него фокус... 


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Coocky
Дата 24.7.2006, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Я (во времена своей бурной молодости на МФС) делал так:
1.Создавал свой класс, производной от CDialogBar (class CMyDlgBar : public CDialogBar)
2. Перехватывал сообщение WM_INITDIALOG
Код

BEGIN_MESSAGE_MAP(CMyDlgBar, CDialogBar)
    //{{AFX_MSG_MAP(CMyDlgBar)
    //}}AFX_MSG_MAP
    ON_MESSAGE(WM_INITDIALOG, OnInitDialog )
END_MESSAGE_MAP()

3. Обрабатывал его
Код

LONG CMyDlgBar::OnInitDialog ( UINT wParam, LONG lParam)
{

            BOOL bRet = HandleInitDialog(wParam, lParam);

            if (!UpdateData(FALSE))
            {
               TRACE0("Не удалось инициализировать Диалог бар!");
            }

            return bRet;

}

Ну и привязывал обьекты своих контролов
Код

BOOL CMyDlgBar::Create(CWnd* pParent, UINT nIDTemplate, UINT nStyle, UINT nID) 
{
    // TODO: Add your specialized code here and/or call the base class
    
    BOOL bReturn = CDialogBar::Create(pParent, nIDTemplate, nStyle, nID);

    if(bReturn)
    {
        my_ListBox.SubclassDlgItem(IDC_LISTBOX, this);// вот и вся фича субклассирования окна..
    }

    return bReturn;
}


Добавлено @ 16:33 
Да, забыл про механизм DDE smile 
Код

void CMyDlgBar::DoDataExchange(CDataExchange* pDX)
{
    CDialogBar::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CMyDlgBar)
    DDX_Control(pDX, IDC_LISTBOX, my_ListBox);
    //}}AFX_DATA_MAP
}
 


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
ShurikA
Дата 24.7.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Спасибо, я сделал немного по другому, но принцип понят. 


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0475 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.