Обрабатывать сообщения CSliderCtl, помещенные на CDialogBar - PullRequest
0 голосов
/ 13 мая 2010

VS2008, 32-разрядная версия Win XP

В классе, производном от CFrameWnd, у меня есть объект CDialogBar это должно иметь определенный контроль над ним. Среди этих элементов управления будет быть 2 ползунками, чья обработка событий должна быть сделана в производном CFrameWnd учебный класс. Как мне идти об этом?

class CFrameWndCustom : public CFrameWnd 
{ 
    CDialogBar m_wndDialogBar; // the CDialogBar object. 
} 

В OnCreateClient производного класса CFrameWnd я создал DialogBar, используя вышеуказанный объект, например:

//Create the DialogBar 
if (!m_wndDialogBar.Create(this, 
                                        IDD_DIALOGBAR_CONTROL, 
                                        CBRS_BOTTOM, 
                                        IDD_DIALOGBAR_CONTROL)) 
{ 
        TRACE("Warning: Couldn't create DialogBar Control!\n"); 
        return FALSE; 
} 

Здесь IDD_DIALOGBAR_CONTROL является ресурсом диалога со стилем как дочерний. После этого я перетащил CSliderCtrl на IDD_DIALOGBAR_CONTROL в представлении ресурсов.

Теперь, как / где я должен обрабатывать события CSliderCtrl? Там бы быть 2 таких ползунка управления.

Мне, наконец, нужны значения ползунков в классе CFrameWndCustom.

С наилучшими пожеланиями,

Дивья

1 Ответ

0 голосов
/ 14 мая 2010

Получите свой собственный класс CDialogBar. Затем обработайте все сообщения в этом. Вам даже не нужно заставлять его делать что-либо, кроме обработки сообщения, которое вы хотите. Остальные пройдут иерархию.

В противном случае вы создаете свой собственный класс CDialogBar и определяете свою собственную функцию OnWndMsg и передаете все сообщения WM_COMMAND или WM_NOTIFY в родительское окно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...