WoW:API CreateFrame: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(Reformat. Add info on "inheritsFrame" parameter added in 1.11.)
m (→‎Notes: Added 3rd note)
Line 38: Line 38:
* CreateFrame() was added in 1.10
* CreateFrame() was added in 1.10
* The fourth argument, inheritFrame, was added in 1.11
* The fourth argument, inheritFrame, was added in 1.11
* In creating frames with CreateFrame(), you cannot use the OnLoad script handler (e.g. Frame:SetScript("OnLoad", ''function'')) since CreateFrame() loads the frame before Frame:SetScript() is called. If you want to use the OnLoad script handler, define the frame in an XML file that is called before the LUA file or call the OnLoad function manually at the end of the LUA file.

Revision as of 08:25, 9 July 2007

WoW API < CreateFrame

Creates a new UI frame.

newFrame = CreateFrame("frameType", "frameName", parentFrame[, "inheritsFrame"]);

Parameters

Arguments

frameType
String - Type of the frame to be created (XML tag name): "Frame", "Button"... etc.
frameName
String - Name of the newly created frame. If nil, no frame name is assigned.
parentFrame
Frame - The frame object that will be used as the created Frame's parent (cannot be a string!)
inheritsFrame
String - Name of a (virtual) frame to inherit (the same as in XML)

Returns

newFrame
Frame - Pointer to the newly created frame.


Example

Result: displays the horde and alliance insignias in the middle of the screen.

local f = CreateFrame("Frame",nil,UIParent)
f:SetFrameStrata("BACKGROUND")
f:SetWidth(128)  -- Set These to whatever height/width is needed 
f:SetHeight(64) -- for your Texture

local t = f:CreateTexture(nil,"BACKGROUND")
t:SetTexture("Interface\\Glues\\CharacterCreate\\UI-CharacterCreate-Factions.blp")
t:SetAllPoints(f)
f.texture = t

f:SetPoint("CENTER",0,0)
f:Show()


Notes

  • CreateFrame() was added in 1.10
  • The fourth argument, inheritFrame, was added in 1.11
  • In creating frames with CreateFrame(), you cannot use the OnLoad script handler (e.g. Frame:SetScript("OnLoad", function)) since CreateFrame() loads the frame before Frame:SetScript() is called. If you want to use the OnLoad script handler, define the frame in an XML file that is called before the LUA file or call the OnLoad function manually at the end of the LUA file.