Jump to content

Iniden Show Popup Menu Oluşturma


korasoglu
 Share

Recommended Posts

Arkadaşlar iniden Show Popup Menu oluşturmak istiyorum döngü olarak nasıl yapabilirim ini içeriği altta

Linki iconu Speratoru iniden alıp tıkladığım zaman linki açacak yardımlarınızı bekliyorum. Veya Onerisi olan ama değerleri iniden alması gerekiyor.

[1]

link=
icon=
sperator=
[2]
link=
icon=
sperator=
Link to comment
Share on other sites

Abi ufak bir örnek veriyim sanırım gerisini halledersin :)

nBaslik = INIFile.GetSectionNames("settings.ini");
tblMenu = {};
for i,sBaslik in pairs(nBaslik) do
tblMenu[i] ={};
tblMenu[i].Text = INIFile.GetValue("settings.ini", sBaslik, "link");
tblMenu[i].ID = i;
tblMenu[i].Checked = false
tblMenu[i].Enabled = true
tblMenu[i].SubMenu = {};
end
Link to comment
Share on other sites

Örnek Proje:

http://yadi.sk/d/O2lcWNsKMyEat

İni Sections'larıo sıra ile giderse sorunsuz çalışır. Yani:

 

[1]

 

[2]

 

[3]

 

...

 

şeklinde, örnekteki ini ye bakarsınız.

 

Projeyi indirmeye üşenenler için kodlar:

 

[spoiler]

if e_Type == 2 then
sections = INIFile.GetSectionNames(_SourceFolder .. "\\AutoPlay\\Docs\\menu.ini");
	if sections then
	tblMenu = {}; -- menu tablosu
	ayrac = false;
	sayi = 1;
	
		for i,v in pairs(sections) do
		metin = INIFile.GetValue(_SourceFolder .. "\\AutoPlay\\Docs\\menu.ini", v, "metin"); 
		link = INIFile.GetValue(_SourceFolder .. "\\AutoPlay\\Docs\\menu.ini", v, "link");
		icon = INIFile.GetValue(_SourceFolder .. "\\AutoPlay\\Docs\\menu.ini", v, "icon");
		icon = String.ToNumber(icon) -- sayıya çevir
		seperator = INIFile.GetValue(_SourceFolder .. "\\AutoPlay\\Docs\\menu.ini", v, "seperator");
		
			if seperator == "true" then
			ayrac = true;
			else
			ayrac = false;
			end

		tblMenu[sayi] ={};
		tblMenu[sayi].Text = metin;
		tblMenu[sayi].ID = i;
		tblMenu[sayi].IconID = icon;
		tblMenu[sayi].Checked = false;
		tblMenu[sayi].Enabled = true;
		
			if ayrac == true then
			sayi=sayi+1;
			tblMenu[sayi] ={};
			tblMenu[sayi].Text = "---";
			tblMenu[sayi].ID = 100;
			tblMenu[sayi].IconID = icon;
			tblMenu[sayi].Checked = false;
			tblMenu[sayi].Enabled = true;
			end
			
		sayi=sayi+1;
		end

		nRes = Application.ShowPopupMenu(e_X, e_Y, tblMenu, TPM_LEFTALIGN, TPM_TOPALIGN, true, true);
		
		if nRes ~= -1 and nRes ~= 0 then

		link = INIFile.GetValue(_SourceFolder .. "\\AutoPlay\\Docs\\menu.ini", nRes, "link");
		File.OpenURL(link, SW_SHOWNORMAL)
		end

	end
end 

[/spoiler]

Link to comment
Share on other sites

aynen tam cevap yazdım baktım yukarıda NotToday yanıtlamış zaten boşuna uğraştım

 
Sevgili milona karşılıksız yardımda hiç bir şey boşa gitmez teşekkür ederim.
 
Sevgili Kintaro örnek harika teşekkür ederim ben sub menu eklemeye çalıştım ayni ini ve faklı ini kullandım sadece bir tane submenu gösterebildim çoklu nasıl gösterebilirim. Benim en son denemem

 

 
[spoiler]
sections = INIFile.GetSectionNames(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Menu.ini");
if sections then
tblMenu = {}; -- menu tablosu
ayrac = false;
sayi = 1;
ekle=false
subtik = 0;
for i,v in pairs(sections) do
metin = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Menu.ini", v, "Metin"); 
link = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Menu.ini", v, "Link");
icon = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Menu.ini", v, "Icon");
icon = String.ToNumber(icon) -- sayıya çevir
seperator = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Menu.ini", v, "Seperator");
---------------------------------------------
sections = INIFile.GetSectionNames(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Submenu.ini");
if sections then
for i,y in pairs(sections) do
submetin = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Submenu.ini", y, "Submetin");
sublink = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Submenu.ini", y, "Sublink");
subicon = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Submenu.ini", y, "Subicon");
subicon = String.ToNumber(subicon) -- sayıya çevir
subseperator = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Submenu.ini", y, "Subseperator");
submenu = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Submenu.ini", y, "Submenu");
 
if seperator == "true" then
ayrac = true;
else
ayrac = false;
end
 
if submenu == "true" then
ekle = true;
else
ekle = false;
end
 
Mouse = System.GetMousePosition(true, Application.GetWndHandle());
tblMenu[sayi] ={};
tblMenu[sayi].Text = metin;
tblMenu[sayi].ID = i;
tblMenu[sayi].IconID = icon;
tblMenu[sayi].Checked = false;
tblMenu[sayi].Enabled = true;
 
if ekle == true then
tblMenu[sayi].SubMenu = {};
   tblMenu[sayi].SubMenu[sayi] = {};
   tblMenu[sayi].SubMenu[sayi].Text = submetin;
   tblMenu[sayi].SubMenu[sayi].ID = i;
   tblMenu[sayi].SubMenu[sayi].IconID = icon;
   tblMenu[sayi].SubMenu[sayi].Checked = false;
   tblMenu[sayi].SubMenu[sayi].Enabled = true;
   subtik=1
end
 
 
if ayrac == true then
sayi=sayi+1;
tblMenu[sayi] ={};
tblMenu[sayi].Text = "---";
tblMenu[sayi].ID = 100;
tblMenu[sayi].IconID = icon;
tblMenu[sayi].Checked = false;
tblMenu[sayi].Enabled = true;
end
 
sayi=sayi+1;
end
end
nRes = Application.ShowPopupMenu(Mouse.X, Mouse.Y, tblMenu, TPM_LEFTALIGN, TPM_TOPALIGN, true, true);
 
if nRes ~= -1 and nRes ~= 0 then
if subtik == 1 then
link = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Submenu.ini", nRes, "sublink");
File.OpenURL(link, SW_SHOWNORMAL)
Application.Exit(0);
else
 
link = INIFile.GetValue(_SourceFolder .. "\\Klasor\\Ayar\\Klasor\\Tema\\Menu.ini", nRes, "link");
File.OpenURL(link, SW_SHOWNORMAL)
Application.Exit(0);
end
end
end
end
[/spoiler]
Edited by KintaRo
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...