Fandom

WoWWiki

UIHANDLER OnClick

104,634pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Widget handlers < OnClick

The OnClick handler is called when a UI widget that supports clicking (i.e. is derived from a Button) is clicked. Region derivatives like Frame only implement OnMouseDown / OnMouseUp handlers.

Arguments Edit

self 
widget being clicked
button 
[mouse] button used to click the widget. Due to widget:Click(button, down), button argument may be anything, although the following five values are common for normal mouse clicks: "LeftButton", "RightButton", "MiddleButton", "Button4", "Button5".
down 
Boolean - 1 (true) if the trigger button is currently being held down, nil (false) otherwise.

ExampleEdit

local taunts = {"I'm a button.", "Quit clicking me.", "That's enough.", "Stop it!", "I'm leaving!"};
local widget = CreateFrame("Button", "TauntingButton", UIParent, "UIPanelButtonTemplate");
widget:SetWidth(200); widget:SetHeight(24); widget:SetPoint("CENTER");
widget:RegisterForClicks("AnyUp");
widget:SetScript("OnClick", function (self, button, down)
 self:SetID((self:GetID() or 1) + 1);
 if taunts[self:GetID()] then
  self:SetText(taunts[self:GetID()]);
 else
  self:Hide();
 end
end);

The named arguments are also available in XML handlers:

<Button name="foo" ...>
  ...
  <Scripts>
    ...
   <OnClick>self:SetText("You clicked with " .. button);</OnClick>
  </Scripts>
 </Button>

Also on Fandom

Random Wiki