?? dxmutgui.cs
字號:
return c;
}
return null;
}
/// <summary>Returns the control located at this index of this type(if one exists)</summary>
public Control GetControl(int id, ControlType typeControl)
{
foreach(Control c in controlList)
{
if (c == null)
continue;
if ((c.ID == id) && (c.ControlType == typeControl))
return c;
}
return null;
}
/// <summary>Returns the static text control located at this index(if one exists)</summary>
public StaticText GetStaticText(int id) { return GetControl(id, ControlType.StaticText) as StaticText; }
/// <summary>Returns the button control located at this index(if one exists)</summary>
public Button GetButton(int id) { return GetControl(id, ControlType.Button) as Button; }
/// <summary>Returns the checkbox control located at this index(if one exists)</summary>
public Checkbox GetCheckbox(int id) { return GetControl(id, ControlType.CheckBox) as Checkbox; }
/// <summary>Returns the radio button control located at this index(if one exists)</summary>
public RadioButton GetRadioButton(int id) { return GetControl(id, ControlType.RadioButton) as RadioButton; }
/// <summary>Returns the combo box control located at this index(if one exists)</summary>
public ComboBox GetComboBox(int id) { return GetControl(id, ControlType.ComboBox) as ComboBox; }
/// <summary>Returns the slider control located at this index(if one exists)</summary>
public Slider GetSlider(int id) { return GetControl(id, ControlType.Slider) as Slider; }
/// <summary>Returns the listbox control located at this index(if one exists)</summary>
public ListBox GetListBox(int id) { return GetControl(id, ControlType.ListBox) as ListBox; }
#endregion
#region Default Elements
/// <summary>
/// Sets the default element
/// </summary>
public void SetDefaultElement(ControlType ctype, uint index, Element e)
{
// If this element already exists, just update it
for (int i = 0; i < defaultElementList.Count; i++)
{
ElementHolder holder = (ElementHolder)defaultElementList[i];
if ( (holder.ControlType == ctype) &&
(holder.ElementIndex == index) )
{
// Found it, update it
holder.Element = e.Clone();
defaultElementList[i] = holder;
return;
}
}
// Couldn't find it, add a new entry
ElementHolder newEntry = new ElementHolder();
newEntry.ControlType = ctype;
newEntry.ElementIndex = index;
newEntry.Element = e.Clone();
// Add it now
defaultElementList.Add(newEntry);
}
/// <summary>
/// Gets the default element
/// </summary>
public Element GetDefaultElement(ControlType ctype, uint index)
{
for (int i = 0; i < defaultElementList.Count; i++)
{
ElementHolder holder = (ElementHolder)defaultElementList[i];
if ( (holder.ControlType == ctype) &&
(holder.ElementIndex == index) )
{
// Found it, return it
return holder.Element;
}
}
return null;
}
#endregion
#region Texture/Font Resources
/// <summary>
/// Shared resource access. Indexed fonts and textures are shared among
/// all the controls.
/// </summary>
public void SetFont(uint index, string faceName, uint height, FontWeight weight)
{
// Make sure the list is at least big enough to hold this index
for (uint i = (uint)fontList.Count; i <= index; i++)
fontList.Add((int)(-1));
int fontIndex = DialogResourceManager.GetGlobalInstance().AddFont(faceName, height, weight);
fontList[(int)index] = fontIndex;
}
/// <summary>
/// Shared resource access. Indexed fonts and textures are shared among
/// all the controls.
/// </summary>
public FontNode GetFont(uint index)
{
return DialogResourceManager.GetGlobalInstance().GetFontNode((int)fontList[(int)index]);
}
/// <summary>
/// Shared resource access. Indexed fonts and textures are shared among
/// all the controls.
/// </summary>
public void SetTexture(uint index, string filename)
{
// Make sure the list is at least big enough to hold this index
for (uint i = (uint)textureList.Count; i <= index; i++)
textureList.Add((int)(-1));
int textureIndex = DialogResourceManager.GetGlobalInstance().AddTexture(filename);
textureList[(int)index] = textureIndex;
}
/// <summary>
/// Shared resource access. Indexed fonts and textures are shared among
/// all the controls.
/// </summary>
public TextureNode GetTexture(uint index)
{
return DialogResourceManager.GetGlobalInstance().GetTextureNode((int)textureList[(int)index]);
}
#endregion
#region Control Creation
/// <summary>
/// Initializes a control
/// </summary>
public void InitializeControl(Control control)
{
if (control == null)
throw new ArgumentNullException("control", "You cannot pass in a null control to initialize");
// Set the index
control.index = (uint)controlList.Count;
// Look for a default element entires
for (int i = 0; i < defaultElementList.Count; i++)
{
// Find any elements for this control
ElementHolder holder = (ElementHolder)defaultElementList[i];
if (holder.ControlType == control.ControlType)
control[holder.ElementIndex] = holder.Element;
}
// Initialize the control
control.OnInitialize();
}
/// <summary>
/// Adds a control to the dialog
/// </summary>
public void AddControl(Control control)
{
// Initialize the control first
InitializeControl(control);
// Add this to the control list
controlList.Add(control);
}
/// <summary>Adds a static text control to the dialog</summary>
public StaticText AddStatic(int id, string text, int x, int y, int w, int h, bool isDefault)
{
// First create the static
StaticText s = new StaticText(this);
// Now call the add control method
AddControl(s);
// Set the properties of the static now
s.ID = id;
s.SetText(text);
s.SetLocation(x, y);
s.SetSize(w,h);
s.isDefault = isDefault;
return s;
}
/// <summary>Adds a static text control to the dialog</summary>
public StaticText AddStatic(int id, string text, int x, int y, int w, int h){return AddStatic(id, text, x, y, w, h, false); }
/// <summary>Adds a button control to the dialog</summary>
public Button AddButton(int id, string text, int x, int y, int w, int h, System.Windows.Forms.Keys hotkey, bool isDefault)
{
// First create the button
Button b = new Button(this);
// Now call the add control method
AddControl(b);
// Set the properties of the button now
b.ID = id;
b.SetText(text);
b.SetLocation(x, y);
b.SetSize(w,h);
b.Hotkey = hotkey;
b.isDefault = isDefault;
return b;
}
/// <summary>Adds a button control to the dialog</summary>
public Button AddButton(int id, string text, int x, int y, int w, int h) { return AddButton(id, text, x, y, w, h, 0, false); }
/// <summary>Adds a checkbox to the dialog</summary>
public Checkbox AddCheckBox(int id, string text, int x, int y, int w, int h, bool ischecked, System.Windows.Forms.Keys hotkey, bool isDefault)
{
// First create the checkbox
Checkbox c = new Checkbox(this);
// Now call the add control method
AddControl(c);
// Set the properties of the button now
c.ID = id;
c.SetText(text);
c.SetLocation(x, y);
c.SetSize(w,h);
c.Hotkey = hotkey;
c.isDefault = isDefault;
c.IsChecked = ischecked;
return c;
}
/// <summary>Adds a checkbox control to the dialog</summary>
public Checkbox AddCheckBox(int id, string text, int x, int y, int w, int h, bool ischecked) { return AddCheckBox(id, text, x, y, w, h, ischecked, 0, false); }
/// <summary>Adds a radiobutton to the dialog</summary>
public RadioButton AddRadioButton(int id, uint groupId, string text, int x, int y, int w, int h, bool ischecked, System.Windows.Forms.Keys hotkey, bool isDefault)
{
// First create the RadioButton
RadioButton c = new RadioButton(this);
// Now call the add control method
AddControl(c);
// Set the properties of the button now
c.ID = id;
c.ButtonGroup = groupId;
c.SetText(text);
c.SetLocation(x, y);
c.SetSize(w,h);
c.Hotkey = hotkey;
c.isDefault = isDefault;
c.IsChecked = ischecked;
return c;
}
/// <summary>Adds a radio button control to the dialog</summary>
public RadioButton AddRadioButton(int id, uint groupId, string text, int x, int y, int w, int h, bool ischecked) { return AddRadioButton(id, groupId, text, x, y, w, h, ischecked, 0, false); }
/// <summary>Adds a combobox control to the dialog</summary>
public ComboBox AddComboBox(int id, int x, int y, int w, int h, System.Windows.Forms.Keys hotkey, bool isDefault)
{
// First create the combo
ComboBox c = new ComboBox(this);
// Now call the add control method
AddControl(c);
// Set the properties of the button now
c.ID = id;
c.SetLocation(x, y);
c.SetSize(w,h);
c.Hotkey = hotkey;
c.isDefault = isDefault;
return c;
}
/// <summary>Adds a combobox control to the dialog</summary>
public ComboBox AddComboBox(int id, int x, int y, int w, int h) { return AddComboBox(id, x, y, w, h, 0, false); }
/// <summary>Adds a slider control to the dialog</summary>
public Slider AddSlider(int id, int x, int y, int w, int h, int min, int max, int initialValue, bool isDefault)
{
// First create the slider
Slider c = new Slider(this);
// Now call the add control method
AddControl(c);
// Set the properties of the button now
c.ID = id;
c.SetLocation(x, y);
c.SetSize(w,h);
c.isDefault = isDefault;
c.SetRange(min, max);
c.Value = initialValue;
return c;
}
/// <summary>Adds a slider control to the dialog</summary>
public Slider AddSlider(int id, int x, int y, int w, int h) { return AddSlider(id, x, y, w, h, 0,100,50, false); }
/// <summary>Adds a listbox control to the dialog</summary>
public ListBox AddListBox(int id, int x, int y, int w, int h, ListBoxStyle style)
{
// First create the listbox
ListBox c = new ListBox(this);
// Now call the add control method
AddControl(c);
// Set the properties of the button now
c.ID = id;
c.SetLocation(x, y);
c.SetSize(w,h);
c.Style = style;
return c;
}
/// <summary>Adds a listbox control to the dialog</summary>
public ListBox AddList
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -