WoW:Make Frames Closable With the "Esc" Key: Difference between revisions

m
Move page script moved page Make Frames Closable With the "Esc" Key to WoW:Make Frames Closable With the "Esc" Key without leaving a redirect
(example + some fancy work)
m (Move page script moved page Make Frames Closable With the "Esc" Key to WoW:Make Frames Closable With the "Esc" Key without leaving a redirect)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==How To==
To make your main frame closable with the ESCape key go into the OnLoad function and add the following line :
To make your main frame closable with the ESCape key go into the OnLoad function and add the following line :


Line 10: Line 9:
  <Frame name="ExampleFrame" parent="UIParent">
  <Frame name="ExampleFrame" parent="UIParent">
  <Size>
  <Size>
  <AbsDimension x="640" y="512"/>
  <AbsDimension x="640" y="512" />
  </Size>
  </Size>
  <Anchors>
  <Anchors>
Line 17: Line 16:
  <Scripts>
  <Scripts>
  <OnLoad>
  <OnLoad>
  tinsert(UISpecialFrames,this:GetName());
  tinsert(UISpecialFrames, self:GetName());
  </OnLoad>
  </OnLoad>
  <OnShow>
  <OnShow>
Line 28: Line 27:
  </Frame>
  </Frame>
===Description===
===Description===
this:GetName() returns the current UI Object's name and in this case our Frame Name. Using this will make the code more generic.
self:GetName() returns the current UI Object's name; in this case, the frame's name. This makes the code more flexible.


the OnShow and OnHide parts will play the usual sound that's played when you open/close blizzards frames - e.g. your character frame
OnShow and OnHide will play the same sound you hear when you open and close your character frame, respectively.
 
== EditBoxes and OnEscapePressed ==
EditBox type frames have an "OnEscapePressed" handler, which will prevent this method from working with them.  For these frames you can instead use:
  myeditboxframe:SetScript("OnEscapePressed", function(self) self:Hide() end)


[[Category: HOWTOs|Make frames closable with the ESCape key]]
[[Category: HOWTOs|Make frames closable with the ESCape key]]
Anonymous user