Rel = 4.0
MainWnd = GUI WorkSpace
MenuWnd = SmartGUI Creator
GeneratedWnd = New GUI Window
CustomOptions = -16|BackgroundTrans|Border|Buttons|Center|Checked|Disabled|Hidden|Horz|HScroll|Invert|Left|Limit|Lowercase|Multi|NoTicks|Number|Password|Range|ReadOnly|Right|Smooth|Theme|ToolTip|Uppercase|Vertical|VScroll|WantReturn|Wrap
#ErrorStdOut
#InstallKeybdHook
#InstallMouseHook
#SingleInstance Ignore
#NoTrayIcon
SetTitleMatchMode, Slow
SetControlDelay, 0
SetWinDelay, 0
SetFormat, float, 1.1
DetectHiddenWindows, On
Menu, Tray, Tip, SmartGUI Creator
StringCaseSense, On
IfEqual, 1, GiveMeSource
{
FileInstall, e:\dos\batch\GUI\SGUI.ahk, %A_ScriptDir%\SmartGUI.Ahk
ExitApp
}
StringCaseSense, Off
IfEqual, A_OSType, WIN32_WINDOWS
{
MsgBox,, Unsupported Windows Version, Your version of MS Windows is not supported by this SmartGUI Creator release.`nThe supported versions are Windows NT / 2000 / XP / 2003 and beyond.
ExitApp
}
WinGetClass, SelfClass, %MainWnd%
IfEqual, SelfClass, AutoHotkeyGUI
{
MsgBox,, SmartGUI Creator already running, Another instance of SmartGUI Creator found.`nOnly one instance is supported.
ExitApp
}
IfNotExist, %A_ScriptDir%\SmartGUI.ini
{
Msgbox, 4, WELCOME, Welcome to SmartGUI Creator`n`nIf you are using it for the first time, then it's recommended that you read the help manual, especially the 'Guidelines' section.`n`nWould you like to open it now?
IfMsgbox, Yes
{
IfExist, %A_ScriptDir%\Manual.htm, run, %A_ScriptDir%\Manual.htm
IfNotExist, %A_ScriptDir%\Manual.htm, MsgBox,, Error, Manual.htm not found!
}
Gosub, ShowHelp
}
IfExist, %A_ScriptDir%\Grid.gif
GridFile = %A_ScriptDir%\Grid.gif
Else
{
FileInstall, BlockGrid.gif, %Temp%\Grid.gif, 1
GridFile = %Temp%\Grid.gif
}
FileInstall, splash.gif, %Temp%\splash.gif, 1
FileInstall, SGUI.ICL, %Temp%\SGUI.ICL, 1
FileDelete, %Temp%\SGUIControls.ini
SplashImage, %Temp%\splash.gif, B1 FS10 WS500
MenuGenerate:
Menu, Options, Add, Show Grid, Grid
Menu, Options, Check, Show Grid
Menu, Options, Add, Ask Control Label, CtrlText
Menu, Options, Add, MicroEditing, MicroEditing
Menu, Options, Add, Shift + Move Group, ShiftMove
Menu, Options, Add, Ask GUI Count, AskGUICount
Menu, Tray, NoStandard
Menu, Tray, UseErrorLevel
Menu, FileMenu, Add, `:`: SmartGUI Creator by Rajat `:`:, About
Menu, FileMenu, Default, `:`: SmartGUI Creator by Rajat `:`:
Menu, FileMenu, Add
Menu, FileMenu, Add, &Open Script, EditGUI
Menu, FileMenu, Add, &Test Script`t[F9], TestGUI
Menu, FileMenu, Add, &Save Script, SaveGUI2
Menu, FileMenu, Add, Save Script &As, SaveGUI
Menu, FileMenu, Add
Menu, FileMenu, Add, GUI St&ealer, Stealer
Menu, FileMenu, Add, Set GUI Count in Script, SetGUICount
Menu, FileMenu, Add
Menu, FileMenu, Add, &Reload, Reload
Menu, FileMenu, Add, E&xit, GuiClose
Menu, HelpMenu, Add, Help Manual, OpenManual
Menu, HelpMenu, Add, Keyboard Help, ShowHelp
Menu, ControlMenu, Add, Duplicate Control, Duplicate
Menu, ControlMenu, Add, Move Control, Modify
Menu, ControlMenu, Add, Set Position, SetPos
Menu, ControlMenu, Add, Delete Control, Delete
Menu, ControlMenu, Add, Change Label, ChangeLabel
Menu, ControlMenu, Add, Center Horizontally, CenterH
Menu, ControlMenu, Add, Center Vertically, CenterV
Menu, ControlMenu, Add, Custom Option, CustomOption
Menu, JustifyMenu, Add, Left, Justify
Menu, JustifyMenu, Add, Center, Justify
Menu, JustifyMenu, Add, Right, Justify
Menu, ControlMenu, add, Justify, :JustifyMenu
GuiW = 475
GuiH = 375
G = 1
L = 0
M = 0
PosFields = XYWH
IniRead, SaveDir, %A_ScriptDir%\SmartGUI.ini, Folders, SaveDir
IniRead, LoadDir, %A_ScriptDir%\SmartGUI.ini, Folders, LoadDir
IfEqual, SaveDir, ERROR, SetEnv, SaveDir,
IfEqual, LoadDir, ERROR, SetEnv, LoadDir,
IniRead, ShiftMove, %A_ScriptDir%\SmartGUI.ini, Settings, ShiftMove
IfEqual, ShiftMove, ERROR, IniWrite, No, %A_ScriptDir%\SmartGUI.ini, Settings, ShiftMove
Hotkey, *~LButton, LeftButton
Hotkey, RButton, RightButton
ToolBarGenerate:
Gui, 9:+Resize
Menu, ToolBarMenu, Add, &File, :FileMenu
Menu, ToolBarMenu, Add, &Options, :Options
Menu, ToolBarMenu, Add, &Help, :HelpMenu
Gui, 9:Menu, ToolBarMenu
Gui, 9:Add, Text, -99 -99 1 1 +Border Hidden vButtonBorder,
Gui, 9:Add, Picture, x6 y7 w32 h32 gPreCreateCtrl vTBButton Icon1, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x46 y7 w32 h32 gPreCreateCtrl vTBCheckBox Icon2, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x286 y7 w32 h32 gPreCreateCtrl vTBDropDownList Icon5, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x166 y7 w32 h32 gPreCreateCtrl vTBText Icon17, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x366 y7 w32 h32 gPreCreateCtrl vTBListBox Icon9, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x486 y7 w32 h32 gPreCreateCtrl vTBMonthCal Icon11, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x526 y7 w32 h32 gPreCreateCtrl vTBProgress Icon13, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x206 y7 w32 h32 gPreCreateCtrl vTBGroupBox Icon7, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x606 y7 w32 h32 gPreCreateCtrl vTBHotkey Icon8, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x126 y7 w32 h32 gPreCreateCtrl vTBEdit Icon6, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x86 y7 w32 h32 gPreCreateCtrl vTBRadio Icon14, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x326 y7 w32 h32 gPreCreateCtrl vTBComboBox Icon3, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x246 y7 w32 h32 gPreCreateCtrl vTBPicture Icon12, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x406 y7 w32 h32 gPreCreateCtrl vTBListView Icon10, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x446 y7 w32 h32 gPreCreateCtrl vTBDateTime Icon4, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x566 y7 w32 h32 gPreCreateCtrl vTBSlider Icon15, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x646 y7 w32 h32 gPreCreateCtrl vTBTab Icon16, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x686 y7 w32 h32 gPreCreateCtrl vTBUpDown Icon18, %Temp%\SGUI.ICL
Gui, 9:Add, Picture, x726 y7 w32 h32 gChangeFont vTBFont Icon19, %Temp%\SGUI.ICL
Gui, 9:Add, text, x1 y45 w3200 h2400 +0x4
WinHeight := A_ScreenHeight - 150
WinWidth := A_ScreenWidth - 100
Gui, 9:Show, h%WinHeight% w%WinWidth%, %MenuWnd%
Gui, 9:Maximize
WinGet, MenuWndID, ID, %MenuWnd%
WinGetPos, MenuWX, MenuWY, MenuWW, MenuWH, %MenuWnd%
MainWX := MenuWX + 135
MainWY := MenuWY + 95
Gui, 1:+Resize +Owner9
Gui, 1:Show, w%GuiW% h%GuiH% x%MainWX% y%MainWY%, %MainWnd%
WinGet, MainWndID, ID, %MainWnd%
WinGetPos,,, WinW, WinH, ahk_id %MainWndID%
WinDiffW = %WinW%
WinDiffW -= %GuiW%
WinDiffW /= 2
WinDiffH = %WinH%
WinDiffH -= %GuiH%
GridY = %WinDiffH%
GridY -= %WinDiffW%
Gui, 1:add, Picture, x-%WinDiffW% y-%GridY%, %GridFile%
IfEqual, G, 0
{
Control, hide,, Static1, ahk_id %MainWndID%
Menu, Options, ToggleCheck, Show Grid
}
StaticCount = 1
IfEqual, ShiftMove, Yes, Menu, Options, Check, Shift + Move Group
HelperStatus = 1
SetTimer, GuiHelper, 500
Sleep, 500
SplashImage, Off
IfExist, %1%
{
GUIScript = %1%
Goto, EditGUI
}
WinActivate, ahk_id %MenuWndID%
Return
^+D::
Run, %Temp%\SGUIControls.ini,,UseErrorLevel
Return
Grid:
IfEqual, G, 1
{
Menu, Options, ToggleCheck, Show Grid
Control, hide,, Static1, ahk_id %MainWndID%
G = 0
}
Else
{
Menu, Options, ToggleCheck, Show Grid
Control, show,, Static1, ahk_id %MainWndID%
G = 1
}
Return
CtrlText:
IfEqual, L, 1
{
Menu, Options, ToggleCheck, Ask Control Label
L = 0
}
Else
{
Menu, Options, ToggleCheck, Ask Control Label
L = 1
}
Return
MicroEditing:
IfEqual, M, 1
{
Menu, Options, ToggleCheck, MicroEditing
M = 0
}
Else
{
Menu, Options, ToggleCheck, MicroEditing
M = 1
}
Return
AskGUICount:
IfEqual, AG, 1
{
Menu, Options, ToggleCheck, Ask GUI Count
AG = 0
}
Else
{
Menu, Options, ToggleCheck, Ask GUI Count
AG = 1
}
Return
Helper:
IfEqual, HelperStatus, 0
HelperStatus = 1
Else
HelperStatus = 0
Return
~F1::
IfWinNotActive, ahk_id %MainWndID%,, Return
ShowHelp:
Gui, 1:+OwnDialogs
MsgBox,, Command Help,
(LTrim
This Help`t`t`t`tHelp Menu / Press F1
Create Control`t`t`tUse Toolbar Buttons
Control Commands`t`t`tRight Mouse Click on target control
Undo Last Removed Control`t`tPress Ctrl-Z
Move Group of Controls`t`tDrag Left Mouse Button (Down-Right)
Preview GUI`t`t`tFile Menu / Press F9
)
Return
OpenManual:
IfExist, %A_ScriptDir%\Manual.htm, run, %A_ScriptDir%\Manual.htm
IfNotExist, %A_ScriptDir%\Manual.htm, MsgBox,, Error, Manual.htm not found!
Return
ShiftMove:
IfEqual, ShiftMove, Yes
{
Menu, Options, ToggleCheck, Shift + Move Group
ShiftMove = No
IniWrite, %ShiftMove%, %A_ScriptDir%\SmartGUI.ini, Settings, ShiftMove
}
Else
{
Menu, Options, ToggleCheck, Shift + Move Group
ShiftMove = Yes
IniWrite, %ShiftMove%, %A_ScriptDir%\SmartGUI.ini, Settings, ShiftMove
}
Return
Reload:
IfNotExist, %Temp%\SGUIControls.ini, Reload
Else
{
Msgbox, 4, RELOAD?, All unsaved data will be lost. Proceed?
IfMsgBox, Yes, Reload
}
Return
AddControl:
StringTrimLeft, Ctrl2Add, A_ThisMenuItem, 4
CtrlLabel =
Goto, CreateCtrl
Return
AddControl2:
Ctrl2Add = %A_GuiControl%
CtrlLabel =
Goto, CreateCtrl
Return
ChangeFont:
MouseGetPos,,,, GuiCtrl
ControlGetPos, cX, cY, cW, cH, %GuiCtrl%, %MenuWnd%
cX2 := cX - 1
cY2 := cY - 1
cW2 := cW + 2
cH2 := cH + 2
ControlMove, Static1, %cX2%, %CY2%, %cW2%, %cH2%, %MenuWnd%
GuiControl, 9:Show, ButtonBorder
KeyWait, LButton
GuiControl, 9:Hide, ButtonBorder
IfNotEqual, FirstTimeF, No
{
Gui, 4:+owner1 +ToolWindow
Gui, 4:Add, Text, x7 y21 w110 h20, Enter valid font name
Gui, 4:Add, Text, x7 y51 w110 h20, Font size
Gui, 4:Add, Text, x7 y81 w110 h20, Font Color
Gui, 4:Add, Edit, x127 y21 w110 h20 vFName, Verdana
Gui, 4:Add, Edit, x127 y51 w110 h20 vFSize, 8
Gui, 4:Add, Edit, x127 y81 w110 h20 vFColor, Default
Gui, 4:Add, Checkbox, x17 y113 w110 h20 vFBold, Bold
Gui, 4:Add, Checkbox, x137 y113 w110 h20 vFItalic, Italic
Gui, 4:Add, Checkbox, x17 y143 w110 h20 vFUnderline, Underline
Gui, 4:Add, Checkbox, x137 y143 w110 h20 vFStrike, Strikeout
Gui, 4:Add, Button, 0x8000 x26 y182 w60 h20, OK
Gui, 4:Add, Button, 0x8000 x96 y182 w60 h20, Default
Gui, 4:Add, Button, 0x8000 x166 y182 w60 h20, Cancel
FirstTimeF = No
}
WinGetPos, MenuWX, MenuWY, MenuWW, MenuWH, %MenuWnd%
FontWX := MenuWX + 630
FontWY := MenuWY + 95
Gui, 4:Show, h220 w245 x%FontWX% y%FontWY%, Enter Font Settings
Return
4ButtonCancel:
GUI, 4:Cancel
Return
4ButtonDefault:
ControlSetText, Edit1,, Enter Font Settings, Enter valid
ControlSetText, Edit2,, Enter Font Settings, Enter valid
ControlSetText, Edit3,, Enter Font Settings, Enter valid
Control, Uncheck,, Button1, Enter Font Settings, Enter valid
Control, Uncheck,, Button2, Enter Font Settings, Enter valid
Control, Uncheck,, Button3, Enter Font Settings, Enter valid
Control, Uncheck,, Button4, Enter Font Settings, Enter valid
Return
4ButtonOK:
FSet =
GUI, 4:Submit
IfNotEqual, FSize,, SetEnv, FSet, %FSet% S%FSize%
IfNotEqual, FColor,, SetEnv, FSet, %FSet% C%FColor%
IfEqual, FBold, 1, SetEnv, FSet, %FSet% Bold
IfEqual, FItalic, 1, SetEnv, FSet, %FSet% Italic
IfEqual, FUnderline, 1, SetEnv, FSet, %FSet% Underline
IfEqual, FStrike, 1, SetEnv, FSet, %FSet% Strike
Gui, 1:Font, %FSet%, %FName%
FontCount ++
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
IniWrite, %ItemList%Font%FontCount%|, %Temp%\SGUIControls.ini, Main, ItemList
IniWrite, %FName%, %Temp%\SGUIControls.ini, Font%FontCount%, Label
IniWrite, %FSet%, %Temp%\SGUIControls.ini, Font%FontCount%, Options
Return
SetPos:
ControlGetPos, CtrlX, CtrlY, CtrlW, CtrlH, %CtrlNameCount%, ahk_id %MainWndID%
IfNotEqual, FirstTimeSP, No
{
Gui, 6:+owner1 +ToolWindow
Gui, 6:Add, Text, x6 y17 w20 h20, X :
Gui, 6:Add, Edit, x26 y12 w40 h20 vCtrlSetX,
Gui, 6:Add, UpDown, Range-2147483648-2147483647
Gui, 6:Add, Text, x81 y17 w20 h20, Y :
Gui, 6:Add, Edit, x101 y12 w40 h20 vCtrlSetY,
Gui, 6:Add, UpDown, Range-2147483648-2147483647
Gui, 6:Add, Text, x6 y47 w20 h20, W :
Gui, 6:Add, Edit, x26 y42 w40 h20 vCtrlSetW,
Gui, 6:Add, UpDown, Range-2147483648-2147483647
Gui, 6:Add, Text, x81 y47 w20 h20, H :
Gui, 6:Add, Edit, x101 y42 w40 h20 vCtrlSetH,
Gui, 6:Add, UpDown, Range-2147483648-2147483647
Gui, 6:Add, Button, x21 y77 w50 h20 Default, OK
Gui, 6:Add, Button, x81 y77 w50 h20, Cancel
Gui, 6:Add, GroupBox, x2 y-1 w144 h74,
FirstTimeSP = No
}
Gui, 6:Show, h102 w148, Set Position
GuiControl, 6:, CtrlSetX, %CtrlX%
GuiControl, 6:, CtrlSetY, %CtrlY%
GuiControl, 6:, CtrlSetW, %CtrlW%
GuiControl, 6:, CtrlSetH, %CtrlH%
Return
6ButtonCancel:
Gui, 6:Cancel
Return
6ButtonOk:
Gui, 6:Submit
ControlMove, %CtrlNameCount%, %CtrlSetX%, %CtrlSetY%, %CtrlSetW%, %CtrlSetH%, ahk_id %MainWndID%
Control, Hide,, %CtrlNameCount%, ahk_id %MainWndID%
Control, Show,, %CtrlNameCount%, ahk_id %MainWndID%
CtrlSetX -= %WinDiffW%
CtrlSetY -= %WinDiffH%
CtrlSetY += %WinDiffW%
IniRead, Ctrl2Add, %Temp%\SGUIControls.ini, %CtrlNameCount%, Name
IniRead, CtrlText, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
Loop, Parse, PosFields
{
CurrPos := CtrlSet%A_LoopField%
IniWrite, %CurrPos%, %Temp%\SGUIControls.ini, %CtrlNameCount%, %A_LoopField%
}
Return
ChangeLabel:
IniRead, OLabel, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
StringReplace, OLabel, OLabel, ```,, `,, A
StringReplace, OLabel, OLabel, ````, ``, A
StringReplace, OLabel, OLabel, ```%, `%, A
InputBox, CtrlText, Label, Enter Control Label,, 250, 125,,,,,%OLabel%
IfEqual, ErrorLevel, 1, Return
StringReplace, TmpCtrlText, CtrlText, ``n, `n, A
If CtrlNameCount Contains SysTabControl,ListBox,ComBoBox
GuiControl, 1:, %CtrlNameCount%, |%TmpCtrlText%
Else
GuiControl, 1:, %CtrlNameCount%, %TmpCtrlText%
Gosub, FixText
StringLeft, Test, CtrlText, 1
IfEqual, Test, |, StringTrimLeft, CtrlText, CtrlText, 1
IniWrite, %CtrlText%, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
Return
Modify:
ControlGetPos, cX, cY,,, %CtrlNameCount%, ahk_id %MainWndID%
IniRead, Ctrl2Add, %Temp%\SGUIControls.ini, %CtrlNameCount%, Name
IniRead, CtrlText, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
If Ctrl2Add Not In Button,Checkbox,ComboBox,DateTime,DropDownList,Edit,GroupBox,ListBox,ListView,MonthCal,Progress,Picture,Radio,Slider,Tab,Text,UpDown,Hotkey
Return
Loop
{
StringRight, check, CtrlNameCount, %a_index%
if check is integer
{
CtrlCount = %check%
StringTrimRight, CtrlName, CtrlNameCount, %a_index%
}
Else Break
}
IniRead, Ctrl2Add, %Temp%\SGUIControls.ini, %CtrlNameCount%, Name
IniRead, CtrlText, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
Goto, Alter
return
Duplicate:
ControlGetPos, cX, cY, cW, cH, %CtrlNameCount%, ahk_id %MainWndID%
Loop
{
StringRight, check, CtrlNameCount, %a_index%
if check is integer
{
CtrlCount = %check%
StringTrimRight, CtrlName, CtrlNameCount, %a_index%
}
Else Break
}
IfEqual, CtrlName, SysTabControl, Return
IniRead, Ctrl2Add, %Temp%\SGUIControls.ini, %CtrlNameCount%, Name
IniRead, CtrlLabel, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
JustCopy = Y
Goto, CreateCtrl
Return
Delete:
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList
StringReplace, ItemList, ItemList, |%CtrlNameCount%|, |^DELETED^%CtrlNameCount%|, A
IniWrite, %ItemList%, %Temp%\SGUIControls.ini, Main, ItemList
Control, hide,, %CtrlNameCount%, ahk_id %MainWndID%
LastDel = %CtrlNameCount%|%lastDel%
Return
~^Z::
IfWinNotActive, ahk_id %MainWndID%,,Return
StringGetPos, PPos, LastDel, |, R
StringLeft, CtrlNameCount, LastDel, %PPos%
PPos ++
StringTrimLeft, LastDel, LastDel, %PPos%
Control, Show,, %CtrlNameCount%, ahk_id %MainWndID%
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList
StringReplace, ItemList, ItemList, |^DELETED^%CtrlNameCount%|, |%CtrlNameCount%|, A
IniWrite, %ItemList%, %Temp%\SGUIControls.ini, Main, ItemList
Return
CenterH:
ControlGetPos,,, cW,, %CtrlNameCount%, ahk_id %MainWndID%
WinGetPos,,, wW,, ahk_id %MainWndID%
wW -= %cW%
wW /= 2
ControlMove, %CtrlNameCount%, %wW%,,,, ahk_id %MainWndID%
ControlGetPos, cX, cY, cW, cH, %CtrlNameCount%, ahk_id %MainWndID%
IniRead, CtrlText, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
cX -= %WinDiffW%
cY -= %WinDiffH%
cY += %WinDiffW%
Loop, Parse, PosFields
{
CurrPos := c%A_LoopField%
IniWrite, %CurrPos%, %Temp%\SGUIControls.ini, %CtrlNameCount%, %A_LoopField%
}
Return
CenterV:
ControlGetPos,,,, cH, %CtrlNameCount%, ahk_id %MainWndID%
WinGetPos,,,, wH, ahk_id %MainWndID%
wH += %WinDiffH%
wH -= %cH%
wH /= 2
wH -= %WinDiffW%
ControlMove, %CtrlNameCount%,, %wH%,,, ahk_id %MainWndID%
ControlGetPos, cX, cY, cW, cH, %CtrlNameCount%, ahk_id %MainWndID%
IniRead, CtrlText, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
cX -= %WinDiffW%
cY -= %WinDiffH%
cY += %WinDiffW%
Loop, Parse, PosFields
{
CurrPos := c%A_LoopField%
IniWrite, %CurrPos%, %Temp%\SGUIControls.ini, %CtrlNameCount%, %A_LoopField%
}
Return
CustomOption:
IfNotEqual, COptionGUIShown, 1
{
Gui, 7:+Border -Caption +Owner1
Gui, 7:Add, ComboBox, x6 y7 w220 h190 vNewOption, %CustomOptions%
Gui, 7:Add, Button, x-10 y-10 w5 h5 Default , OK
COptionGUIShown = 1
}
Gui, 7:Show, h37 w236, Custom Control Option
Send, !{Down}
Return
7GuiClose:
7GuiEscape:
Gui, 7:Cancel
Return
7ButtonOK:
Gui, 7:Submit
StringLeft, Test, NewOption, 1
IfNotEqual, Test, -
IfNotEqual, Test, +
NewOption = +%NewOption%
IniRead, Options, %Temp%\SGUIControls.ini, %CtrlNameCount%, Options, %A_Space%
GuiControl, 1:%NewOption%, %CtrlNameCount%
Options = %Options% %NewOption%
IniWrite, %Options%, %Temp%\SGUIControls.ini, %CtrlNameCount%, Options
Return
PreCreateCtrl:
IfNotEqual, Ctrl2Add,, Return
MouseGetPos,,,, GuiCtrl
ControlGetPos, cX, cY, cW, cH, %GuiCtrl%, %MenuWnd%
cX2 := cX - 1
cY2 := cY - 1
cW2 := cW + 2
cH2 := cH + 2
ControlMove, Static1, %cX2%, %CY2%, %cW2%, %cH2%, %MenuWnd%
GuiControl, 9:Show, ButtonBorder
KeyWait, LButton
GuiControl, 9:Hide, ButtonBorder
StringTrimLeft, Ctrl2Add, A_GuiControl, 2
Goto, CreateCtrl
Return
CreateCtrl:
Gui, 9:+OwnDialogs
IfEqual, Ctrl2Add, Tab
IfEqual, TabCreated, 1
{
Ctrl2Add =
Return
}
CtrlText = %Ctrl2Add%
IfEqual, Ctrl2Add, Tab
CtrlText = Tab1|Tab2
IfEqual, Ctrl2Add, Tab
CtrlText = Tab1|Tab2
If Ctrl2Add In Progress,Slider
CtrlText = 25
If Ctrl2Add In Hotkey,MonthCal,DateTime
CtrlText =
IfNotEqual, JustCopy, Y
{
IfEqual, L, 1, InputBox, CtrlText, Label, Enter Control Label,, 250, 125,,,,,%CtrlText%
IfEqual, ErrorLevel, 1, Return
StringReplace, CtrlText, CtrlText, ``n, `n, A
cW = 100
cH = 30
IfEqual, Ctrl2Add, MonthCal
{
cW = 190
cH = 160
}
}
WinActivate, ahk_id %MainWndID%
IfEqual, Ctrl2Add, Picture
{
IfNotEqual, JustCopy, Y
{
Hotkey, *~LButton, Off
FileSelectFile, PicFile,, %A_ScriptDir%,