|
|
|
преобразовать TTreeView в TMenuItem (Borland 6)
|
|||
|---|---|---|---|
|
#18+
Привет, всем! Тут вот какая возникла проблема: ни как не могу преобразовать TTreeView в TMenuItem. Накропал такую вот функциёвину (ВЫЗОВ: MenuClickQL(MenuItem, NULL), где MenuItem – нужный TMenuItem), а до ума довести проблема! Код: void TMainForm::MenuClickQL( TMenuItem * MenuItem, TTreeNodes *Nodes) { TMenuItem * NewItem ; AnsiString sC,sP; if ( Nodes==NULL) { Nodes = QLT->Items; //QLT TTreeView TMainForm::GI=0; } for (int i=0; i<Nodes->Count; i++) { //********************************** sC=Nodes->Item ->Text; //не относится к вопросу!!! sP=sC; if(sC.Pos("(")) { sC.Delete(sC.Pos("(")-1,sC.Length()); sP.Delete(1,sC.Pos("(")); sP.Delete(sC.Pos(")"),sC.Length()); } else if(!(sC.Length()==3 && sC.Pos(":\\"))) sP=""; //********************************** NewItem = new TMenuItem(MenuItem); NewItem->Name="qlpm"+GI; NewItem->AutoHotkeys=maManual; NewItem->ImageIndex=Nodes->Item->ImageIndex; TMainForm::QLPath[GI]=sP; //то, что не относится, хотя может быть лучше //в NewItem->Name засунуть информацию????? (OPTIONAL) NewItem->Caption=sC; NewItem->OnClick=MyQuckLunchClick; MenuItem->Add(NewItem); TMainForm::GI++; if (Nodes->Item->HasChildren) { TTreeNodes * NodesC = ?????????; //???????????????????????????? MenuClickQL(???????????, NodesC); i = GI-1; } } } Заранее благодарю, ВС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 04:09 |
|
||
|
преобразовать TTreeView в TMenuItem (Borland 6)
|
|||
|---|---|---|---|
|
#18+
Честно говоря что то не поня , что вам нужно сделать . а особенно это "преобразовать TTreeView в TMenuItem." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 18:31 |
|
||
|
преобразовать TTreeView в TMenuItem (Borland 6)
|
|||
|---|---|---|---|
|
#18+
Пишу "Quick Lunch". Его установки, настройки, добавление элементов происходят на форме в TreeView (там есть удобная вещь сохранить в файл, а иконки черпаются непосредственно SHGetFileInfo). А практическая реализация идёт из трея (форма Hide): в PopupMenu есть Submenu "My QuickLunch" вот туда и нужно засунуть элементы из TreeView. Проблема в рекурсии(для SubSubmenu – "if (Nodes->Item ->HasChildren)") не могу подготовить параметры вызова! То затирается TreeView – создал левый TreeViewForCall не желает принимать элементы из TreeView. Кодик ITTreeNodes * NodesCall = Nodes; NodesCall->Clear(); // всё нету "Nodes"(!) Кодик IITTreeNodes * NodesCall = TreeViewForCall-> Items; NodesCall->Clear(); for (int j=GI; j < Nodes->Count; j++) if (Nodes->Item[j]->Parent == Nodes->Item) NodesCall->Add( Nodes->Item[j], Nodes->Item[j]->Text); //не желает Add!!! Ну, с первым параметром вроде ясно: MenuItem->Items ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 21:53 |
|
||
|
преобразовать TTreeView в TMenuItem (Borland 6)
|
|||
|---|---|---|---|
|
#18+
v skopinПишу "Quick Lunch". http://www.sql.ru/forum/actualthread.aspx?tid=94185&hl=quick :) используй SRC , а то код "портится" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 11:00 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33202783&tid=2032924]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 381ms |

| 0 / 0 |
