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
No edit summary
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)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
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 :


tinsert(UISpecialFrames,"MainFrameName");
tinsert(UISpecialFrames,"MainFrameName");


where MainFrameName is the name of your main frame of the application.
where MainFrameName is the name of your main frame of the application.
==Example==
<Frame name="ExampleFrame" parent="UIParent">
<Size>
<AbsDimension x="640" y="512" />
</Size>
<Anchors>
<Anchor point="CENTER" />
</Anchors>
<Scripts>
<OnLoad>
tinsert(UISpecialFrames, self:GetName());
</OnLoad>
<OnShow>
PlaySound("igCharacterInfoOpen");
</OnShow>
<OnHide>
PlaySound("igCharacterInfoClose");
</OnHide>
</Scripts>
</Frame>
===Description===
self:GetName() returns the current UI Object's name; in this case, the frame's name. This makes the code more flexible.
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