i-Lex
05-06-2016, 16:35
Делал проект, нужно было выпадающее меню под кнопкой. Попросил знакомого, чтобы сделал, закинул ему проект, он всй накидал, я закончил проект и всё.
Прошло несколько лет, связи с ним оборвались и тут мне опять понадобилось добавить такое меню в новом проекте.
Беру, копирую скрипт, цепляю на кнопку, а он мне такое:
http://s8.hostingkartinok.com/uploads/images/2016/06/d4c069a95b4776d0dfb15ccd666954ab.jpg
Ругается на строку:
local nRes = Application.ShowPopupMenu(tPos.X, tPos.Y+nHeight, tMenu, TPM_LEFTALIGN, TPM_TOPALIGN, true, true);
Что ему не нравится - ума не приложу.
В старом проекте работает, в новом - нет(
Вот код:
local tMenu = {};
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 1";
tMenu[tMenu.Count].ID = 100;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 2";
tMenu[tMenu.Count].ID = 200;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 3";
tMenu[tMenu.Count].ID =300;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 4";
tMenu[tMenu.Count].ID =320;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 5";
tMenu[tMenu.Count].ID = 400;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 6";
tMenu[tMenu.Count].ID = 500;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 7";
tMenu[tMenu.Count].ID = 600;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
local tPos = Button.GetPos(this);
local nHeight = Button.GetSize(this).Height+1;
local nRes = Application.ShowPopupMenu(tPos.X, tPos.Y+nHeight, tMenu, TPM_LEFTALIGN, TPM_TOPALIGN, true, true);
--
if nRes == 100 then
Page.Jump("ib_lx");
end
--
if nRes == 200 then
Page.Jump("Page1");
end
--
if nRes == 300 then
Page.Jump("Page2");
end
--
if nRes == 400 then
Page.Jump("Page3");
end
--
if nRes == 500 then
Page.Jump("Page4");
end
--
if nRes == 320 then
Page.Jump("Page5");
end
--
if nRes == 600 then
Page.Jump("Page6");
end
Прошло несколько лет, связи с ним оборвались и тут мне опять понадобилось добавить такое меню в новом проекте.
Беру, копирую скрипт, цепляю на кнопку, а он мне такое:
http://s8.hostingkartinok.com/uploads/images/2016/06/d4c069a95b4776d0dfb15ccd666954ab.jpg
Ругается на строку:
local nRes = Application.ShowPopupMenu(tPos.X, tPos.Y+nHeight, tMenu, TPM_LEFTALIGN, TPM_TOPALIGN, true, true);
Что ему не нравится - ума не приложу.
В старом проекте работает, в новом - нет(
Вот код:
local tMenu = {};
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 1";
tMenu[tMenu.Count].ID = 100;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 2";
tMenu[tMenu.Count].ID = 200;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 3";
tMenu[tMenu.Count].ID =300;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 4";
tMenu[tMenu.Count].ID =320;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 5";
tMenu[tMenu.Count].ID = 400;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 6";
tMenu[tMenu.Count].ID = 500;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
tMenu[tMenu.Count] = {};
tMenu[tMenu.Count].Text = "Пункт 7";
tMenu[tMenu.Count].ID = 600;
tMenu[tMenu.Count].IconID = -1;
tMenu[tMenu.Count].Checked = false;
tMenu[tMenu.Count].Enabled = true;
tMenu.Count = #tMenu+1;
--
local tPos = Button.GetPos(this);
local nHeight = Button.GetSize(this).Height+1;
local nRes = Application.ShowPopupMenu(tPos.X, tPos.Y+nHeight, tMenu, TPM_LEFTALIGN, TPM_TOPALIGN, true, true);
--
if nRes == 100 then
Page.Jump("ib_lx");
end
--
if nRes == 200 then
Page.Jump("Page1");
end
--
if nRes == 300 then
Page.Jump("Page2");
end
--
if nRes == 400 then
Page.Jump("Page3");
end
--
if nRes == 500 then
Page.Jump("Page4");
end
--
if nRes == 320 then
Page.Jump("Page5");
end
--
if nRes == 600 then
Page.Jump("Page6");
end