GuiCreateWindow

From Multi Theft Auto: Wiki
Revision as of 14:16, 4 August 2007 by Talidan (talk | contribs)
Jump to navigation Jump to search

This function is for creating a new GUI window. This provides a base for other gui elements to be created within. However, windows do not have a parent and cannot be created in any GUI elements.

Syntax

element guiCreateWindow ( float x, float y, float width, float height, string titleBarText, bool relative )

Required Arguments

  • x: A float of the 2D x position of the GUI window on a player's screen. This is affected by the relative argument.
  • y: A float of the 2D y position of the GUI window on a player's screen. This is affected by the relative argument.
  • width: A float of the width of the GUI window. This is affected by the relative argument.
  • height: A float of the height of the GUI window. This is affected by the relative argument.
  • titleBarText: A string of the text that will be displayed in the title bar of the window.
  • relative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing sizes/positions as a fraction of the screen size.


Returns

Returns a gui window element if it was created successfully, false otherwise.

Example

Example 1: This example creates a information window and adds two tabs to a "tabPanel" tabpanel, and adds some other gui elements to it.

local myWindow = guiCreateWindow ( 0, 0, 0.5, 0.4, "Information", true )--create a window which has "Information" in the title bar.
local tabPanel = guiCreateTabPanel ( 0, 0, 2, 1, true, myWindow ) --create a tab panel which fills the whole window
local tabMap = guiCreateTab( "Map Information", tabPanel ) -- create a tab named "Map Information" on 'tabPanel'
local tabHelp = guiCreateTab( "Help", tabPanel ) -- create another tab named "Help" on 'tabPanel'

-- adds a label (text) to each tab
guiCreateLabel(0.02,0.04,0.94,0.2,"This is information about the current map",true,tabMap)
guiCreateLabel(0.02,0.04,0.94,0.92,"This is help text.",true,tabHelp)

Example 2: This example creates a weapon selection screen, complete with a window, gridlist and a button. Users can select a handgun and an uzi. The window is not movable or sizable.

--Setup some tables
handguns = {
"colt45",
"deagle",
"silenced" }

uzis = {
"Uzi",
"MP5",
"Tec-9" }

function setupWeaponSelection ( theResource )
	if theResource ~= getThisResource() then return end --if the resource started is not this one, dont bother creating the gui
	---Create a window for our spawnscreen, with the title "Select your weaposn".
	spawnScreenMenu = guiCreateWindow ( 0.15, 0.33, 0.7, 0.34, "Select your weapons", true )
	--create an OK button to allow the user to confirm their seclections, and attach it to the confirmSelection funnction
	spawnScreenOKButton = guiCreateButton ( 0.4, 0.85, 0.20, 0.15, "OK", true, spawnScreenMenu )
	--ensure the user doesnt move or resize our spawnscreen.
	guiWindowSetMovable ( spawnScreenMenu, false )
	guiWindowSetSizable ( spawnScreenMenu, false )
	--create our gridlist, which fills up most of the window.
	spawnScreenGridList = guiCreateGridList ( 0, 0.1, 1, 0.9, true, spawnScreenMenu )
	--Since we have 3 sets of weapons to select, we create 3 new columns, one for handgun, uzi and heavy weapon.
	guiGridListAddColumn ( spawnScreenGridList, "Handgun", 0.3 )
	guiGridListAddColumn ( spawnScreenGridList, "Uzi", 0.3 )
	-- next, we loop through our handguns table to add handgun items to the gridlist
	for key,weaponName in pairs(handguns) do
		--add a new row to our gridlist each time
		local row = guiGridListAddRow ( spawnScreenGridList ) --get our new row
		--next, we set that rows text to the weapon name.  Column is 1 since the "Handgun" column was created first.
		guiGridListSetItemText ( spawnScreenGridList, row, 1, weaponName, false, false )
	end
	--we repeat the process for other weapon lists, changing the column number
	row = 0
	for key,weaponName in pairs(uzis) do
		--we dont bother creating new rows, since we already have done that
		--next, we set that rows text to the weapon name.  Column is 2 since the "Uzis" column was created second.
		guiGridListSetItemText ( spawnScreenGridList, row, 2, weaponName, false, false )
		row = row + 1 --increase the row number
	end
end
addEventHandler ( "onClientResourceStart", getRootElement(), setupWeaponSelection )

See Also

General functions

Browsers

Buttons

Checkboxes

Comboboxes

Edit Boxes

Gridlists

Memos

Progressbars

Radio Buttons

Scrollbars

Scrollpanes

Static Images

Tab Panels

Tabs

Text Labels

Windows