WTL - Tab View Application - динамическое создание контролов
От: Trash2  
Дата: 09.09.08 23:46
Оценка:
Алексей, добрый день!

подскажите пожалуйста, как в WTL динамически создавать контролы?
Я создал Tab View Application, хочу на каждой закладке иметь свои CEdit'ы и др., как это сделать?

пробовал объявить в классе:
    CEdit filename1;

карта сообщений:
    BEGIN_MSG_MAP(CEtc_2_wtl_simpleView)
        MESSAGE_HANDLER(WM_CREATE, OnCreate) //  <-- добавил
        MESSAGE_HANDLER(WM_PAINT, OnPaint) //   <-- было (сгенерировано визардом)
    END_MSG_MAP()


и обработчик OnCreate'а:
LRESULT CEtc_2_wtl_simpleView::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/)
{
    CREATESTRUCT &cs = *(CREATESTRUCT *) lParam;
    RECT r1 = {20, 20, 200, 40};
    filename1.Create( m_hWnd, r1, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS );

    return 0;
}

но ничего не показывается...

как в WTL динамически создавать (показывать?) контролы?
wtl
Re: WTL - Tab View Application - динамическое создание контр
От: Trash2  
Дата: 10.09.08 01:17
Оценка:
Дело в стиле WS_BORDER, забыл указать — из-за этого контрол и не видел...

T>LRESULT CEtc_2_wtl_simpleView::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/)

T>{
T>    CREATESTRUCT &cs = *(CREATESTRUCT *) lParam;
T>    RECT r1 = {20, 20, 200, 40};
T>    filename1.Create( m_hWnd, r1, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_BORDER );
T>    return 0;
T>}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.