инициализация Checkbox в CTreeCtrl
От: rikkitikkitavi Россия  
Дата: 30.03.04 10:12
Оценка:
Доброго времени суток вам, читающие.
простите за избитую тему, но именно этот subj не разрешили

почему не работает инициализация checkbox (check state) в OnInitDialog? а, допустим, в обработчике нажатия кнопки работает?

BOOL CBRPManagerDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();
    
    ...
    tree_ctrl.SetCheck(tree_item, TRUE);

    return TRUE;
}


может чего не хватает? UpdateData(FALSE) не помогает

спасибо за внимание!
Re: инициализация Checkboxв CTreeCtrl
От: Pavel Dvorkin Россия  
Дата: 30.03.04 10:25
Оценка:
Привет!

rikkitikkitavi wrote:
>
> Доброго времени суток вам, читающие.
> простите за избитую тему, но именно этот subj не разрешили
>
> почему не работает инициализация checkbox (check state) в OnInitDialog? а, допустим, в обработчике нажатия кнопки работает?
>
>
> BOOL CBRPManagerDlg::OnInitDialog()
> {
>         CDialog::OnInitDialog();
> 
Как здесь tree_item получаешь ?
>         ...
>         tree_ctrl.SetCheck(tree_item, TRUE);
> 
>         return TRUE;
> }
>

>

--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.7 "Bedlam"
With best regards
Pavel Dvorkin
Re[2]: инициализация Checkboxв CTreeCtrl
От: rikkitikkitavi Россия  
Дата: 30.03.04 10:49
Оценка:
да ничего особенного, просто в корень добавляю

BOOL CBRPManagerDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
 
    HTREEITEM tree_item = tree_ctrl.InsertItem(_T("Node1"));
    tree_ctrl.SetCheck(tree_item, TRUE);

    return TRUE;
}
Re[3]: инициализацияCheckboxв CTreeCtrl
От: Pavel Dvorkin Россия  
Дата: 30.03.04 11:11
Оценка: 3 (1)
Привет!

rikkitikkitavi wrote:
>
> да ничего особенного, просто в корень добавляю

В MSDN на SetCheck приведен пример, который работает. Какой-то странный
финт ушами насчет удаления и вставки обратно стиля TVS_CHECKBOXES.

BOOL CMyDialog::OnInitDialog()
{
CDialog::OnInitDialog();

mTree.ModifyStyle( TVS_CHECKBOXES, 0 );
mTree.ModifyStyle( 0, TVS_CHECKBOXES );

HTREEITEM aItem = mTree.InsertItem("AAA");
mTree.SetCheck(aItem);
return TRUE;
}

Там же примечание

To use checkboxes, set TVS_CHECKBOXES before populating the tree
control.

Зачем это надо — не очень пойму. Естественно, я установил TVS_CHECKBOXES
в Properties, так что он ИМХО установлен before populating. Но
приходится его снимать и ставить обратно. Не очень ясно, но работает.

--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.7 "Bedlam"
With best regards
Pavel Dvorkin
Re[4]: инициализацияCheckboxв CTreeCtrl
От: rikkitikkitavi Россия  
Дата: 30.03.04 11:50
Оценка:
да, работает, огромное спасибо!!!!!!!!
а то я уже
Re[4]: инициализацияCheckboxв CTreeCtrl
От: Meethoon  
Дата: 08.04.04 13:51
Оценка:
спасибо тоже заработало
С превиликим уважением, Митхун Чакраборти
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.