S.A
Arkadaşlar mainmenu caption'unu kullanarak menuitem name'sine ulaşabilir miyiz.
menü Captionlarını ini dosyasına kaydedip bunu okutarak name'sini bulup
Click yapmam gerekiyor.
mainmenu caption
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: mainmenu caption
Aşağıdaki gibi yinelemeli (recursive) bir yapı işinizi görecektir:
Şu şekilde kullanılabilir:
Kod: Tümünü seç
procedure MenuItemByCaption(mi: TMenuItem; Cap: string);
var
i: integer;
begin
for i := 0 to mi.Count - 1 do
begin
if mi[i].Caption= Cap then
ShowMessage('Bulduuuuum :' + mi[i].Name )
else
MenuItemByCaption(mi[i], Cap);
end;
end;
Kod: Tümünü seç
MenuItemByCaption(MainMenu1.Items, 'Test');
There's no place like 127.0.0.1
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: mainmenu caption
arkadaşlar aşağıdaki kodla çözüm bulunmuştur
Kod: Tümünü seç
procedure TAnaform.TrwDblClick(Sender: TObject);
Var
mMenu: TMenuItem;
Ma:String;
X,Y:SmallInt;
begin
If Btn.Name=Null Then Exit;
Ma:=Trw.Selected.Text; // Trw > Treeview
Btn.Caption:=Ma;
For X:=0 To MainMenu.Items.Count-1 Do Begin
mMenu:=MainMenu.Items[X].Find(Ma);
If mMenu<>nil Then Begin
showmessage(mMenu.Name);
Break;
End Else Begin;
For Y:=0 To MainMenu.Items[X].Count-1 Do Begin
mMenu:=MainMenu.Items[X].Items[Y].Find(Ma);
If mMenu<>nil Then Begin
Showmessage(mMenu.Name);
Break;
End;
End;
End;
End;
end;