Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Вниз

Дерево компонентов   Найти похожие ветки 

 
MikeZ   (2004-01-06 17:34) [0]

Не знает ли кто, есть ли для Д5 какой-нибудь эксперт, который отображает дерево используемых компонентов, как это делает Д7?

Если нет, тогда ссылку на исходники/примеры экспертов для Делфи. Рискну сам написать :-)


 
Юрий Зотов   (2004-01-06 17:43) [1]

Во всех Delphi есть встроенный браузер (меню View, проект должен быть откомпилирован). Позволяет смотреть дерево объектов как в конкретном проекте, так и всей VCL.


 
MikeZ   (2004-01-06 17:56) [2]

Это ведь совсем не то! Мне не классы надо смотреть с их предками, а компоненты, которые лежат на форме. Т.е., нужна навигация по компонентам, когда их слишком много.


 
MikeZ   (2004-01-06 18:12) [3]

Ладно, тогда ссылку на СДК по экспертам, если есть такое...


 
Тимохов   (2004-01-06 18:15) [4]

Во!
А чем тебе не нравиться смотреть dfm - там вся иерархия видна.


 
афвуд   (2004-01-06 18:36) [5]

НУ я написал такой недавно.
Только на C++Builder.
Если надо могу кинуть исходник процедурки.


 
афвуд   (2004-01-06 18:37) [6]

"Если надо" - это я в смысле если не запаришься в Сишном коде моём разбираться :)


 
Vuk   (2004-01-06 19:02) [7]

to MikeZ:
>Ладно, тогда ссылку на СДК по экспертам, если есть такое...

Delphi\Source\ToolsAPI\

www.gexperts.org


 
афвуд   (2004-01-06 19:07) [8]

Вот примерно так выглядит урезанный вариант моей процедурки. Здесь дерево будет ТОЛЬКО показывать дерево контролов.
А допустим все менюитемы будут просто в корне этого дерева лежать. Но это можно точно также решить как и с контролами.

void RecurBuildTreeForControl(TTreeNodes *Nods, TTreeNode *Nod, TWinControl * WinCon)
{
for(int i=0;i<WinCon->ControlCount;i++)
{
TWinControl *Tem;
if(Tem = dynamic_cast<TWinControl *>(WinCon->Controls[i]))
{
RecurBuildTreeForControl(Nods, Nods->AddChild(Nod,Tem->Name) ,Tem);
}
else
{
Nods->AddChild(Nods->Item[0],WinCon->Controls[i]->Name);
}
}

void RecurBuildTree(TTreeNodes *Nods, TForm * For)
{
Nods->Clear();
TTreeNode *Node=Nods->Add(NULL,For->Name);
for(int i=0;i<For->ComponentCount;i++)
{
TWinControl *Tem;
if(Tem = dynamic_cast<TWinControl *>(For->Components[i]))
{
RecurBuildTreeForControl(Nods, Nods->AddChild(Node,Tem->Name) ,Tem);
}
else
{
Nods->AddChild(Node,For->Components[i]->Name);
}
}


 
MikeZ   (2004-01-06 22:50) [9]

2Тимохов:
Иерархия, конечно видна, но листать с десяток тысяч строк - это не слАбо. Т.е. - не подходит из-за явного неудобства.

2афвуд:
С превеликим удовольствием возьму этот код... и отдам человеку, знающему Си ;-). Иль сам посмотрю. Думаю разберусь. Только вот вопрпос: ты эксперт написал? Или просто построение дерева компонентов? Если просто дерево (как видно из кода), то я и сам знаю, как это делать. Весть вопрос в том, как это замутить в виде эксперта.
Если у тебя именно эксперт, то намыль, плз.

2Vuk:
Delphi\Source\ToolsAPI\

www.gexperts.org

Это один или два варианта? Но я и так, и эдак не понял. Пожалуйста, обьясни поподробнее.


 
MikeZ   (2004-01-06 22:57) [10]

2Vuk:
Понял, что это. Спасибо. Буду разбираться, но это слишком много.

2All:
Вопросы все равно остались.


 
афвуд   (2004-01-07 16:21) [11]

Прости. Невнимательно прочитал твой вопрос.

А что есть эксперт в твоём понимании?

У меня прога - она симулирует дельфёвый рисователь окошек. Ну и дерево такое же как и в Дельфи. Я думал у тебя такой же замут :)


 
MikeZ   (2004-01-08 14:52) [12]

Эксперт - это не в моем понимании ;-), а в Дельфийском. Библиотека, которая запускается вместе с Делфи и внутри ее.


 
MikeZ   (2004-01-08 16:43) [13]

Как этот эксперт делать, уже нашел. Но возникают вопросы. Наприсер такой: я хочу получить имя активной формы. Я делаю так:
Function GetActiveForm: TForm;
Begin
Result := TForm((BorlandIDEServices As INTAEditWindow).GetForm);
End;

Непонятно почему возникает ошибка... Вот и вопрос - почему?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
3-62967
twist
2003-12-24 04:44
2004.01.20
Народ, как считаете какую БД


14-63353
Alex11
2003-12-29 21:09
2004.01.20
вопрос


4-63432
DillerXX
2003-11-15 17:48
2004.01.20
StaticText


1-63163
hfa
2004-01-06 16:28
2004.01.20
Password Edit


3-62980
ZeroDivide
2003-12-24 09:26
2004.01.20
Где находится tnsnames.ora ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский