powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / преобразовать TTreeView в TMenuItem (Borland 6)
4 сообщений из 4, страница 1 из 1
преобразовать TTreeView в TMenuItem (Borland 6)
    #33200621
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, всем!

Тут вот какая возникла проблема: ни как не могу преобразовать 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;
}
}
}



Заранее благодарю, ВС
...
Рейтинг: 0 / 0
преобразовать TTreeView в TMenuItem (Borland 6)
    #33202550
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря что то не поня , что вам нужно сделать .

а особенно это "преобразовать TTreeView в TMenuItem."
...
Рейтинг: 0 / 0
преобразовать TTreeView в TMenuItem (Borland 6)
    #33202783
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу "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
...
Рейтинг: 0 / 0
преобразовать TTreeView в TMenuItem (Borland 6)
    #33203449
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
v skopinПишу "Quick Lunch".

http://www.sql.ru/forum/actualthread.aspx?tid=94185&hl=quick

:)


используй SRC , а то код "портится"
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / преобразовать TTreeView в TMenuItem (Borland 6)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]