• Страница 1 из 1
  • 1
Модератор форума: Singler  
[Настройка аддона] UIDropDownMenu
DiSq
Рыцарь
Есть DropDownMenu следующего содержания
Код
if not DropDownMenuTest then
    CreateFrame("Frame", "DropDownMenuTest", UIParent, "UIDropDownMenuTemplate")
  end

  DropDownMenuTest:ClearAllPoints()
  DropDownMenuTest:SetPoint("CENTER", f, 0, -100)
  DropDownMenuTest:Show()

items  = {
"|c000070DE",
"|cffffff00"
}

  local function OnClick(self)
  UIDropDownMenu_SetSelectedID(DropDownMenuTest, self:GetID())
  end

local function initialize(self, level)
    local info = UIDropDownMenu_CreateInfo()
    for k,v in pairs(items) do
      info = UIDropDownMenu_CreateInfo()
      info.text = v
      info.value = v
      info.func = OnClick
      UIDropDownMenu_AddButton(info, level)
    end
  end

  UIDropDownMenu_Initialize(DropDownMenuTest, initialize)
  UIDropDownMenu_SetWidth(DropDownMenuTest, 100);
  UIDropDownMenu_SetButtonWidth(DropDownMenuTest, 124)
  UIDropDownMenu_SetSelectedID(DropDownMenuTest, 1)
  UIDropDownMenu_JustifyText(DropDownMenuTest, "LEFT")


Вопрос в локализации и присвоении имени цветам в items. У меня стоит задача задавать разные цвета определённому(одному) участку текста, для этого я выбрал DropDownMenu и извлечение значения через UIDropDownMenu_GetText() или UIDropDownMenuButton_GetName(). Результат есть, но не кошерно выглядит. Буду рад услышать решения, желательно подробные, даже совершенно в другом ключе. Знаний в этой области пока мало.

Добавлено (09.06.2014, 20:32)
---------------------------------------------
Решил проблему. Массив таки все дело портил. Удалил. Создал отдельные строки в DropDownMenu с заранее присвоенными цветами через info.colorCode, а info.text присвоил переменную из EditBox.

Сообщение # 1 написано 09.06.2014 в 20:32
  • Страница 1 из 1
  • 1
Поиск: