Wikia

WoWWiki

API Button RegisterForClicks

Revision as of 22:53, March 6, 2009 by Starlightblunder (Talk | contribs)

102,769pages on
this wiki
Talk0
Widget API ← Button < RegisterForClicks

Control which mouse button up/down events get passed to the <OnClick> event handler.

  button:RegisterForClicks("clicktype1" [, "clicktype2" [, ...]])

Arguments

Any number of the following strings:

"LeftButtonUp"
"RightButtonUp"
"MiddleButtonUp"
"Button4Up"
"Button5Up"
"LeftButtonDown"
"RightButtonDown"
"MiddleButtonDown"
"Button4Down"
"Button5Down"
"AnyUp"
"AnyDown"

Example

 <Button>
   <Scripts>
     <OnLoad>
       self:RegisterForClicks("LeftButtonUp", "RightButtonDown");
     </OnLoad>
     <OnClick>
       print("OnClick: "..arg1);
     </OnClick>
     <OnMouseUp>
       print("OnMouseUp: "..arg1);
     </OnMouseUp>
     <OnMouseDown>
       print("OnMouseDown: "..arg1);
     </OnMouseDown>
       

Results

Clicking the Left, Right and Middle buttons in turn will produce:

 OnMouseDown: LeftButton

 OnMouseUp: LeftButton
 OnClick: LeftButton

 OnMouseDown: RightButton
 OnClick: RightButton

 OnMouseUp: RightButton

 OnMouseDown: MiddleButton

 OnMouseUp: MiddleButton

Details

  • Buttons default to having "LeftButtonUp" registered for clicks.
  • Registering for () means <OnClick> will never trigger.
  • Registering for invalid event names will not cause errors; invalid names are silently ignored.
  • The <OnMouseDown> and <OnMouseUp> handlers will always receieve all mouse up/down events.
  • ONLY BUTTONS (and widgets that inherit from Button) HAVE OnClick HANDLERS! If you want to trap mouse button events for other objects, use the OnMouseDown and OnMouseUp events.

Around Wikia's network

Random Wiki