![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите, как можно "объеденить" TMenu и TMenuItem [D7, Win95/98, WinXP]
Leaner © (2004-10-13 15:41:00)Написал две процедуры:
function IsNeedMenuItem(const Item:TMenuItem;const aCaption:string;Tag:integer):Boolean;
begin
Result:=((Tag=-1) or (Item.Tag=Tag)) and (CompareText(Item.Caption,aCaption)=0);
end;
function FindFirstItem(const BaseMenu:TMenu;const aCaption:string;const ItemTag:integer):TMenuItem;
var
i:integer;
begin
Result:=nil;
if (aCaption='') or (BaseMenu=nil) then Exit;
for i:=0 to BaseMenu.Items.Count-1 do
if IsNeedMenuItem(BaseMenu.Items[i],aCaption,ItemTag) then
begin
Result:=BaseMenu.Items[i];
Exit;
end;
end;
function FindSubItem(const BaseItem:TMenuItem;const aCaption:string;const ItemTag:integer):TMenuItem;
var
i:integer;
TempItem:TMenuItem;
begin
Result:=nil;
if (aCaption='') or (BaseItem=nil) then Exit;
TempItem:=BaseItem;
for i:=0 to TempItem.Count-1 do
if IsNeedMenuItem(TempItem.Items[i],aCaption,ItemTag) then
begin
Result:=TempItem.Items[i];
Exit;
end;
end;
Как бы мне из них сделать одну универсальную ?
Amoeba (2004-10-13 16:29:00) [1]
> Как бы мне из них сделать одну универсальную ?
А какой в этом смысл? Зачем все сваливать в одну кучу?
Leaner (2004-10-13 16:11:00) [2]>Erik1
Вопрос задан в последней строке поста.
Erik1 (2004-10-13 16:05:00) [3]А может ты еще напишеш, чего тебе надо? Вобщето на форумах принято вопросы задавать, а не ребусы для разгадки выкладывать. Хотя если телепаты подтянутся..........
Erik1 (2004-10-13 16:04:00) [4]А может ты еще напишеш, чего тебе надо? Вобщето на форумах принято вопросы задавать, а не ребусы для разгадки выкладывать. Хотя если телепаты подтянутся..........