2012-02-08 2 views
1

В моем приложении MFC я использовал CSplitterWnd для создания двух панелей, и каждая панель представляет собой диалоговое окно CFormView. При запуске этого приложения GUI сплиттер работает, и обе панели отображаются, но все элементы управления (кнопка, поле редактирования, поле со списком ...) отключены. Оба диалоговых окна имеют свойство «child» и «no border».Все элементы управления отключены на панелях разделителей

Неужели я пропустил что-то, чтобы включить все эти conntrols в окне панели?

Большое спасибо за помощь.

CK

/////////// Header file 
class CParentSelectionDlg : public CFormView 
{ 
protected: 
    CParentSelectionDlg();   // protected constructor used by dynamic creation 
    DECLARE_DYNCREATE(CParentSelectionDlg) 

// Form Data 
public: 
    //{{AFX_DATA(CParentSelectionDlg) 
    enum { IDD = IDD_PARENT_SELECTION }; 
     // NOTE: the ClassWizard will add data members here 
    //}}AFX_DATA 

// Attributes 
public: 

// Operations 
public: 

// Overrides 
    // ClassWizard generated virtual function overrides 
    //{{AFX_VIRTUAL(CParentSelectionDlg) 
    public: 
    virtual void OnInitialUpdate(); 
    protected: 
    virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 
    //}}AFX_VIRTUAL 

// Implementation 
protected: 
    virtual ~CParentSelectionDlg(); 
#ifdef _DEBUG 
    virtual void AssertValid() const; 
    virtual void Dump(CDumpContext& dc) const; 
#endif 

    // Generated message map functions 
    //{{AFX_MSG(CParentSelectionDlg) 
    afx_msg void OnButtonSave(); 
    //}}AFX_MSG 
    DECLARE_MESSAGE_MAP() 
}; 


/////////////////////////////// CPP 

IMPLEMENT_DYNCREATE(CParentSelectionDlg, CFormView) 

CParentSelectionDlg::CParentSelectionDlg() 
    : CFormView(CParentSelectionDlg::IDD) 
{ 
    //{{AFX_DATA_INIT(CParentSelectionDlg) 
     // NOTE: the ClassWizard will add member initialization here 
    //}}AFX_DATA_INIT 
} 

CParentSelectionDlg::~CParentSelectionDlg() 
{ 
} 

void CParentSelectionDlg::DoDataExchange(CDataExchange* pDX) 
{ 
    CFormView::DoDataExchange(pDX); 
    //{{AFX_DATA_MAP(CParentSelectionDlg) 
     // NOTE: the ClassWizard will add DDX and DDV calls here 
    //}}AFX_DATA_MAP 
} 


BEGIN_MESSAGE_MAP(CParentSelectionDlg, CFormView) 
    //{{AFX_MSG_MAP(CParentSelectionDlg) 
    ON_BN_CLICKED(IDC_BUTTON_SAVE, OnButtonSave) 
    //}}AFX_MSG_MAP 
END_MESSAGE_MAP() 

///////////////////////////////////////////////////////////////////////////// 
// CParentSelectionDlg diagnostics 

#ifdef _DEBUG 
void CParentSelectionDlg::AssertValid() const 
{ 
    CFormView::AssertValid(); 
} 

void CParentSelectionDlg::Dump(CDumpContext& dc) const 
{ 
    CFormView::Dump(dc); 
} 
#endif //_DEBUG 

void CParentSelectionDlg::OnInitialUpdate() 
{ 
    CFormView::OnInitialUpdate(); 

} 


///////////////////////////////////////////////////////////////////////////// 
// CParentSelectionDlg message handlers 

void CParentSelectionDlg::OnButtonSave() 
{ 
    // TODO: Add your control notification handler code here 

} 
/// Thanks a lot 

ответ

1

Держу пари, ваш message map не настроен правильно.

Можете ли вы разместить свой код?

+0

Да. Я сделал. Спасибо за ответ. Я пробовал другой шаблон диалогового окна, и это работает. Диалоговые окна имеют одинаковое свойство. Опять же, спасибо за помощь. –

+0

После того, как я закрою поле со списком и с помощью мастера классов добавьте переменную, все элементы управления включены. Не знаю, почему, но теперь это работает. Цените свой отклик. –

+0

VS делает то, что вы не можете объяснить иногда ... ну в любом случае удачи с этим :) – demoncodemonkey

Смежные вопросы