|
![]() |
#1 |
Участник
|
Создать контейнер и при выборе checkBox заносить в этот контейнер.
X++: public int mouseDown(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift) { int ret; TreeItemIdx hitTreeItemIdx; FormTreeItem formTreeItem; Boolean stateChecked; ; ret = super(_x, _y, _button, _Ctrl, _Shift); [ hitTreeItemIdx,f ] = this.hitTest(_x,_y); formTreeItem = this.getItem( hitTreeItemIdx ); if (bitTest(f,#FTCHT_ONITEMICON) || bitTest(f, #FTCHT_ONITEMSTATEICON)) { if( !formTreeItem.stateChecked() ) { stateChecked = true; //установили галку } else { //убрали галку } formTreeItem.stateChecked( stateChecked ); TreeControl.setItem( formTreeItem ); } return ret; } |
|
|
За это сообщение автора поблагодарили: Cardagant (1), user_ax (1), demianimp (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от sparco
![]() Создать контейнер и при выборе checkBox заносить в этот контейнер.
X++: public int mouseDown(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift) { int ret; TreeItemIdx hitTreeItemIdx; FormTreeItem formTreeItem; Boolean stateChecked; ; ret = super(_x, _y, _button, _Ctrl, _Shift); [ hitTreeItemIdx,f ] = this.hitTest(_x,_y); formTreeItem = this.getItem( hitTreeItemIdx ); if (bitTest(f,#FTCHT_ONITEMICON) || bitTest(f, #FTCHT_ONITEMSTATEICON)) { if( !formTreeItem.stateChecked() ) { stateChecked = true; //установили галку } else { //убрали галку } formTreeItem.stateChecked( stateChecked ); TreeControl.setItem( formTreeItem ); } return ret; } |
|
![]() |
#3 |
Участник
|
извините не заметил, выдирал из формы, Int.
|
|
![]() |
#4 |
Участник
|
Сделал монстра из ответов sparco и Cardagant. Теперь при зажатии ctr и клика по элементу дерева появляется иконка чекбокса.
Спасибо вам за направление мысли =) Если где-то не прав, прошу меня поправить =_= X++: public int mouseDown(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift) { int ret, f; TreeItemIdx hitTreeItemIdx; FormTreeItem formTreeItem; ImageRes stateImage; ; ret = super(_x, _y, _button, _Ctrl, _Shift); if(_Ctrl == 8) { [ hitTreeItemIdx,f ] = this.hitTest(_x,_y); if(f == 4 || f == 2 || f == 64) { formTreeItem = formTreeControl.getItem(hitTreeItemIdx); switch (formTreeItem.stateImage()) { case imageListAppl_checkbox.image(#ImageCheckAll): stateImage = 0; //Убрали выделение break; default: stateImage = imageListAppl_checkbox.image(#ImageCheckAll); //Добавили выделение break; } formTreeItem.stateImage(stateImage); formTreeControl.setItem(formTreeItem); } } return ret; } Последний раз редактировалось demianimp; 10.10.2013 в 12:56. |
|