Доброго времени суток вам, читающие.
простите за избитую тему, но именно этот subj не разрешили
почему не работает инициализация checkbox (check state) в OnInitDialog? а, допустим, в обработчике нажатия кнопки работает?
BOOL CBRPManagerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
...
tree_ctrl.SetCheck(tree_item, TRUE);
return TRUE;
}
может чего не хватает? UpdateData(FALSE) не помогает
спасибо за внимание!
Привет!
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"
да ничего особенного, просто в корень добавляю
BOOL CBRPManagerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
HTREEITEM tree_item = tree_ctrl.InsertItem(_T("Node1"));
tree_ctrl.SetCheck(tree_item, TRUE);
return TRUE;
}
Привет!
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"
да, работает, огромное спасибо!!!!!!!!
а то я уже