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%, Select Picture File, Picture Files (*.jpg Hotkey, *~LButton, On
CtrlText = %PicFile%
}
Else
CtrlText = %CtrlLabel%
IfNotExist, %PicFile%
{
Ctrl2Add =
Return
}
MouseGetPos, mX, mY
mX -= %WinDiffW%
mY -= %WinDiffH%
mY += %WinDiffW%
Gui, 1:Add, %Ctrl2Add%, x%mX% y%mY%, %PicFile%
}
IfEqual, Ctrl2Add, Tab
{
MouseGetPos, mX, mY
mX -= %WinDiffW%
mY -= %WinDiffH%
mY += %WinDiffW%
Gui, 1:Add, %Ctrl2Add%, x%mX% y%mY% w250 h100 vTabName gTabGroup, %CtrlText%
TabCreated = 1
}
If Ctrl2Add In Button,Checkbox,ComboBox,DateTime,DropDownList,Edit,GroupBox,ListBox,ListView,MonthCal,Progress,Radio,Slider,Text,UpDown,Hotkey
{
IfEqual, JustCopy, Y, SetEnv, CtrlText, %CtrlLabel%
MouseGetPos, mX, mY
mX -= %WinDiffW%
mY -= %WinDiffH%
mY += %WinDiffW%
IfNotEqual, TabCreated, 1
Gui, 1:Add, %Ctrl2Add%, x%mX% y%mY% w%cW% h%cH%, %CtrlText%
Else
Gui, 1:Add, %Ctrl2Add%, x%mX% y%mY% w%cW% h%cH% Border, %CtrlText%
CtrlLabel =
}
Sleep, 100
CtrlName = %Ctrl2Add%
IfEqual, Ctrl2Add, ListBox, SetEnv, CtrlName, ListBox
IfEqual, Ctrl2Add, ListView, SetEnv, CtrlName, SysListView32
IfEqual, Ctrl2Add, ComboBox, SetEnv, CtrlName, ComboBox
IfEqual, Ctrl2Add, DateTime, SetEnv, CtrlName, SysDateTimePick32
IfEqual, Ctrl2Add, DropDownList, SetEnv, CtrlName, ComboBox
IfEqual, Ctrl2Add, CheckBox, SetEnv, CtrlName, Button
IfEqual, Ctrl2Add, GroupBox, SetEnv, CtrlName, Button
IfEqual, Ctrl2Add, Hotkey, SetEnv, CtrlName, msctls_hotkey32
IfEqual, Ctrl2Add, MonthCal, SetEnv, CtrlName, SysMonthCal32
IfEqual, Ctrl2Add, Picture, SetEnv, CtrlName, Static
IfEqual, Ctrl2Add, Progress, SetEnv, CtrlName, msctls_progress32
IfEqual, Ctrl2Add, Radio, SetEnv, CtrlName, Button
IfEqual, Ctrl2Add, Slider, SetEnv, CtrlName, msctls_trackbar32
IfEqual, Ctrl2Add, Tab, SetEnv, CtrlName, SysTabControl32
IfEqual, Ctrl2Add, Text, SetEnv, CtrlName, Static
IfEqual, Ctrl2Add, UpDown, SetEnv, CtrlName, msctls_UpDown32
%CtrlName%Count ++
IfEqual, Ctrl2Add, ComboBox
EditCount ++
StringTrimLeft, CtrlCount, %CtrlName%Count, 0
IfEqual, Ctrl2Add, ListView
IfNotEqual, TabCreated, 1
GuiControl, 1:-0x4000000, %CtrlName%%CtrlCount%
IfEqual, Ctrl2Add, Tab
GuiControl, 1:-0x4000000, %CtrlName%%CtrlCount%
Control, Hide,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Control, Show,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Menu, FileMenu, Disable, GUI Stealer
Menu, FileMenu, Disable, Edit GUI script
Goto, Alter
Return
Alter:
WinActivate, ahk_id %MainWndID%
Hotkey, *~LButton, Off
KeyWait, LButton
Loop
{
GetKeyState, LB, LButton
IfEqual, LB, U
{
MouseGetPos, mX, mY
IfEqual, M, 0
{
StringRight, dmX, mX, 1
StringRight, dmY, mY, 1
mX -= %dmX%
mY -= %dmY%
}
ControlGetPos, tempX, tempY,,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
IfEqual, tempX, %mX%
IfEqual, tempY, %mY%
Continue
ControlMove, %CtrlName%%CtrlCount%, %mX%, %mY%,,, ahk_id %MainWndID%
ControlGetPos, ScX, ScY, ScW, ScH, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
CtrlInfo = X:%ScX%`tY:%ScY%`t`nW:%ScW%`tH:%ScH%`t`n%CtrlName%%CtrlCount%
ControlSetText, Static5, %CtrlInfo%, GUI Helper
Control, Hide,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Control, Show,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Sleep, 50
}
IfEqual, LB, D, Break
}
Control, Hide,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Control, Show,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
ControlGetPos, cX, cY, cW, cH, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
cX += %cW%
cY += %cH%
IfNotEqual, JustCopy, Y
MouseMove, %cX%, %cY%
KeyWait, LButton
IfNotEqual, JustCopy, Y
Loop
{
GetKeyState, LB, LButton
IfEqual, LB, U
{
MouseGetPos, mX2, mY2
IfEqual, M, 0
{
StringRight, dmX, mX2, 1
StringRight, dmY, mY2, 1
mX2 -= %dmX%
mY2 -= %dmY%
}
cW = %mX2%
cH = %mY2%
cW -= %mX%
cH -= %mY%
ControlGetPos,,, tempW, tempH, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
IfEqual, cW, %tempW%
IfEqual, cH, %tempH%
Continue
ControlMove, %CtrlName%%CtrlCount%,,, %cW%, %cH%, ahk_id %MainWndID%
ControlGetPos, ScX, ScY, ScW, ScH, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
CtrlInfo = X:%ScX%`tY:%ScY%`t`nW:%ScW%`tH:%ScH%`t`n%CtrlName%%CtrlCount%
ControlSetText, Static5, %CtrlInfo%, GUI Helper
Control, Hide,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Control, Show,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Sleep, 50
}
IfEqual, LB, D, Break
}
Control, Hide,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Control, Show,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
JustCopy = N
mX -= %WinDiffW%
mY -= %WinDiffH%
mY += %WinDiffW%
cX = %mX%
cY = %mY%
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
IfNotInString, ItemList, |%CtrlName%%CtrlCount%|
{
StringReplace, ItemList, ItemList, |%CtrlName%%CtrlCount%|, |, A
IniWrite, %ItemList%%CtrlName%%CtrlCount%|, %Temp%\SGUIControls.ini, Main, ItemList
IniWrite, %Ctrl2Add%, %Temp%\SGUIControls.ini, %CtrlName%%CtrlCount%, Name
IniWrite, %CtrlText%, %Temp%\SGUIControls.ini, %CtrlName%%CtrlCount%, Label
}
Loop, Parse, PosFields
{
CurrPos := c%A_LoopField%
IniWrite, %CurrPos%, %Temp%\SGUIControls.ini, %CtrlName%%CtrlCount%, %A_LoopField%
}
Hotkey, *~LButton, On
CtrlText =
CtrlName =
Ctrl2Add =
CtrlLabel =
CtrlNameCount =
Return
GuiClose:
9GuiClose:
ExitAfterSave = 1
Gosub, SaveGUI
Return
FinalExit:
FileDelete, %Temp%\Grid.gif
FileDelete, %Temp%\Splash.gif
FileDelete, %Temp%\Generated.ahk
FileDelete, %Temp%\SGUIControls.ini
FileDelete, %Temp%\SGUI.ICL
ExitApp
Return
SaveGUI:
IfNotEqual, SaveGUIShown, 1
{
Gui, 8:+Owner1
Gui, 8:Add, Radio, x16 y7 w180 h30 Checked vSaveGUI, Save New GUI to Clipboard
Gui, 8:Add, Radio, x16 y37 w180 h30 , Save New GUI to File
Gui, 8:Add, Radio, x16 y67 w180 h30 , Save Modified GUI Info to File
Gui, 8:Add, Button, x16 y107 w50 h20 Default, &Yes
Gui, 8:Add, Button, x76 y107 w50 h20, &No
Gui, 8:Add, Button, x136 y107 w50 h20, &Cancel
SaveGUIShown = 1
}
Gui, 8:Show, h134 w212, Save Options
Return
SaveGUI2:
IfExist, %SaveAsFile%
Gosub, GenerateGUI
Else
Goto, SaveGUI
Return
8GuiClose:
8ButtonCancel:
Gui, 8:Submit
Return
8GuiEscape:
8ButtonNo:
Gui, 8:Submit
IfEqual, ExitAfterSave, 1
Goto, FinalExit
Return
8ButtonYes:
Gui, 8:Submit
Gui, 9:+OwnDialogs
SaveAsFile =
IfNotEqual, SaveGUI, 1
{
Hotkey, *~LButton, Off
FileSelectFile, SaveAsFile, S16, %SaveDir%, Save generated GUI script as:, AutoHotkey Script (*.ahk)
Hotkey, *~LButton, On
}
IfNotEqual, SaveAsFile,
{
StringGetPos, Spos, SaveAsFile, \, R
StringLeft, SaveDir, SaveAsFile, %Spos%
IniWrite, %SaveDir%, %A_ScriptDir%\SmartGUI.ini, Folders, SaveDir
StringRight, Ext, SaveAsFile, 4
IfNotEqual, Ext, .ahk, SetEnv, SaveAsFile, %SaveAsFile%.ahk
}
Gosub, GenerateGUI
IfEqual, ExitAfterSave, 1
Goto, FinalExit
Return
~F9::
IfWinNotActive, ahk_id %MainWndID%,,Return
TestGUI:
SaveGUI = 2
SaveAsFile = %Temp%\Generated.ahk
RunSaved = 1
Gosub, GenerateGUI
Return
GenerateGUI:
IfNotEqual, SaveGUI, 1
FileDelete, %SaveAsFile%
TabGenerated = 0
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
IfEqual, ItemList,, Return
IfInString, ItemList, |SysTabControl
TabGenerated = 1
IfEqual, AG, 1
IfNotEqual, SaveAsFile, %Temp%\Generated.ahk
InputBox, GUICount, GUI Count, Enter GUI Count (upto 99). Blank for none.,,,,,,,, 1
IfNotEqual, GUICount,
GUICountA = %GUICount%:
FinalScript =
IfEqual, SaveGUI, 3
FinalScript = %BeforeScript%`n
Loop, Parse, ItemList, |
{
IfEqual, A_LoopField,, Continue
IfInString, A_LoopField, ^DELETED^, Continue
Buffer = %A_LoopField%
IfInString, Buffer, TabChange
{
TabFound = 1
LastBuffer = %Buffer%
Continue
}
IfEqual, TabFound, 1
{
TabFound = 0
IfEqual, TabGenerated, 1
Buffer = %LastBuffer%`n%Buffer%
LastBuffer =
}
Loop, Parse, Buffer, `n
{
CtrlNameCount = %A_LoopField%
IniRead, Ctrl2Add, %Temp%\SGUIControls.ini, %CtrlNameCount%, Name
IniRead, CtrlText, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
StringReplace, CtrlText, CtrlText, ````, ``, A
Loop, Parse, PosFields
IniRead, c%A_LoopField%, %Temp%\SGUIControls.ini, %CtrlNameCount%, %A_LoopField%
IniRead, Options, %Temp%\SGUIControls.ini, %A_LoopField%, Options, %A_Space%
Options = %Options%
IfInString, CtrlNameCount, TabChange
{
StringReplace, Count, CtrlNameCount, TabChange,, A
FinalScript = %FinalScript%Gui`, %GUICountA%Tab`, %Count%`n
Continue
}
IfInString, CtrlNameCount, Font
{
FinalScript = %FinalScript%Gui`, Font`, %Options%`, %CtrlText%`n
Continue
}
FinalScript = %FinalScript%Gui`, %GUICountA%Add`, %Ctrl2Add%`, x%cX% y%cY% w%cW% h%cH% %Options%`, %CtrlText%`n
}
}
WinGetPos, wX, wY, wW, wH, ahk_id %MainWndID%
tmpW = %WinDiffW%
tmpW /= 2
wH -= %WinDiffH%
wH += %tmpW%
wW -= %WinDiffW%
wW -= %tmpW%
IfEqual, SaveGUI, 3
{
IniRead, Title, %Temp%\SGUIControls.ini, Main, Title, %A_Space%
FinalScript = %FinalScript%` FinalScript = %FinalScript%Gui`, %GUICountA%Show`, x%wX% y%wY% h%wH% w%wW%`, %Title%`n
FinalScript = %FinalScript%%AfterScript%`n
}
Else
{
FinalScript = %FinalScript%` FinalScript = %FinalScript%Gui`, %GUICountA%Show`, x%wX% y%wY% h%wH% w%wW%`, %GeneratedWnd%`n
FinalScript = %FinalScript%Return`n`n
FinalScript = %FinalScript%%GUICount%GuiClose`:`nExitApp
}
IfEqual, SaveGUI, 1
ClipBoard = %FinalScript%
IfNotEqual, SaveGUI, 1
FileAppend, %FinalScript%, %SaveAsFile%
IfEqual, RunSaved, 1
{
RunSaved =
Run, %SaveAsFile%,, UseErrorLevel
}
Ctrl2Add =
Return
About:
IfNotEqual, FirstTimeA, No
{
Gui, 2:+owner1 -Caption +Border
Gui, 2:Font, S10 CA03410,verdana
Gui, 2:Add, Text, x260 y27 w170 h20 Center, Release %rel%
Gui, 2:Add, Button, 0x8000 x316 y237 w70 h21, Close
Gui, 2:Add, Button, 0x8000 x46 y237 w220 h21 gRelCheck, Check Latest Release
Gui, 2:Add, Picture, 0x1000 x17 y16 w230 h130, %Temp%\splash.gif
Gui, 2:Font, Underline C3571AC,verdana
Gui, 2:Add, Text, x260 y87 w170 h20 gAhkHome Center, AutoHotkey homepage
Gui, 2:Add, Text, x260 y57 w170 h20 gSguiHome Center, SmartGUI homepage
Gui, 2:Font, Underline C154D85,verdana
Gui, 2:Add, Text, 0x8000 x316 y127 w70 h20 gEMail, © Rajat
Gui, 2:Font, S7 CDefault normal, Verdana
Gui, 2:Add, Text, x16 y165 w410 h60, SmartGUI Creator is freeware, if you use it regularly and would like the project to be kept active`, please visit the homepage and post your comments, suggestions and bug reports.`nA few words of encouragement are always welcome.
FirstTimeA = No
}
Gui, 2:Show, h280 w435, About..
tmpH = 0
Loop, 20
{
tmpH += 1
ControlMove, Static1,,,, %tmpH%, About..
Sleep, 100
}
Return
AhkHome:
Run, http://www.autohotkey.com/
Return
SGUIHome:
Run, http://www.autohotkey.com/docs/SmartGUI/
Return
EMail:
Run, mailto:mr.rajat@gmail.com?subject=Comments on SmartGUI Creator,, UseErrorLevel
IfNotEqual, ErrorLevel, 0
MsgBox,, eMail me at :, meet_rajat@gawab.com
Return
RelCheck:
GuiControl, 2:, Button2, Please Wait..
FileDelete, %Temp%\RelCheck.html
RelInfo =
UrlDownloadToFile, http://www.autohotkey.com/forum/viewtopic.php?t=775, %Temp%\RelCheck.html
Loop, Read, %Temp%\RelCheck.html
{
IfNotInString, A_LoopReadLine, Latest : Release, Continue
StringGetPos, Pos1, A_LoopReadLine, >
StringGetPos, Pos2, A_LoopReadLine, <, R
Pos1++
Stringleft, RelInfo, A_LoopReadLine, %Pos2%
StringTrimLeft, RelInfo, RelInfo, %Pos1%
Break
}
IfNotInString, RelInfo, Latest
RelInfo = Error Reading Web Resource
GuiControl, 2:, Button2, %RelInfo%
FileDelete, %Temp%\RelCheck.html
Return
2ButtonClose:
2GuiClose:
WinGet, AbtWndID, ID, About..
DllCall( "AnimateWindow", "Int", AbtWndID, "Int", 500, "Int", 0x00090010 )
WinActivate, ahk_id %MainWndID%
Return
GuiDropFiles:
IfNotEqual, InputScript,, Return
IfInString, A_GuiControlEvent, `n
StringGetPos, CRPos, A_GuiControlEvent, `n
IfNotEqual, CRPos,
StringLeft, InputScript, A_GuiControlEvent, %CRPos%
Else
InputScript = %A_GuiControlEvent%
CRPos =
StringRight, AhkChk, InputScript, 4
IfNotEqual, AhkChk, .ahk
{
InputScript =
Return
}
EditGUI:
Gui, 9:+OwnDialogs
IfExist, %1%
InputScript = %1%
Hotkey, *~LButton, Off
IfNotExist, %InputScript%, FileSelectFile, InputScript, 1, %LoadDir%, Select GUI script to edit, AutoHotkey GUI script (*.ahk)
Hotkey, *~LButton, On
IfNotExist, %InputScript%
{
InputScript =
Return
}
SaveAsFile = %InputScript%
Menu, FileMenu, Disable, Edit GUI script
Menu, FileMenu, Disable, GUI Stealer
StringGetPos, Spos, InputScript, \, R
StringLeft, LoadDir, InputScript, %Spos%
IniWrite, %LoadDir%, %A_ScriptDir%\SmartGUI.ini, Folders, LoadDir
Gui_Status = 0
Loop, Read, %InputScript%
{
CurrLine = %A_LoopReadLine%
StringGetPos, cpos, CurrLine, `,, L2
StringLeft, GuiCheck, CurrLine, %cpos%
Check = %GuiCheck%
Check = %Check%
StringLeft, CmtCheck, Check, 1
IfNotEqual, CmtCheck, ` IfInString, GuiCheck, Gui`,
IfNotEqual, Gui_Status, 2
IfNotEqual, Gui_Status, 3
{
IfNotEqual, Gui_Status, 2
Gui_Status = 1
IfInString, GuiCheck, Show
Gui_Status = 2
}
IfEqual, Gui_Status, 0
BeforeScript = %BeforeScript%`n%A_LoopReadLine%
IfEqual, Gui_Status, 1
GuiScript = %GuiScript%`n%A_LoopReadLine%
IfEqual, Gui_Status, 2
{
GuiScript = %GuiScript%`n%A_LoopReadLine%
Gui_Status = 3
Continue
}
IfEqual, Gui_Status, 3
AfterScript = %AfterScript%`n%A_LoopReadLine%
}
StringTrimLeft, BeforeScript, BeforeScript, 1
StringTrimLeft, AfterScript, AfterScript, 1
Loop, Parse, GuiScript, `n
{
IfEqual, A_LoopField,, Continue
CurrLine = %A_LoopField%
CmtCheck =
ToStrip = %CurrLine%
ToStrip = %ToStrip%
StringLeft, CmtCheck, ToStrip, 1
IfEqual, CmtCheck, ` StringGetPos, cpos, CurrLine, `,, L2
StringLeft, check, CurrLine, %cpos%
IfEqual, Check,
IfInString, CurrLine, Gui
IfInString, CurrLine, Tab
{
Gui, 1:Tab
TabCount ++
Gui, 1:Tab, %TabCount%
}
IfInString, check, GUI
IfInString, check, Tab
{
IfNotEqual, TabCreated, 1, Continue
StringGetPos, fpos, check, Tab
fpos += 3
StringTrimLeft, data, CurrLine, %fpos%
Param2 =
StringSplit, param, data, `,
IfInString, param2, `:, Continue
StringReplace, check, param2, %a_space%,, All
IfEqual, check,, SetEnv, param2,
param2 = %param2%
Gui, 1:Tab, %param2%
TabCount ++
Gui, 1:Submit, NoHide
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
IniWrite, %ItemList%TabChange%param2%|, %Temp%\SGUIControls.ini, Main, ItemList
}
IfInString, check, GUI
IfInString, check, Font
{
StringGetPos, fpos, check, Font
fpos += 4
StringTrimLeft, data, CurrLine, %fpos%
Param2 =
Param3 =
StringSplit, param, data, `,
IfInString, param2, `:, Continue
StringReplace, check, param2, %a_space%,, All
IfEqual, check,, SetEnv, param2,
StringReplace, check, param3, %a_space%,, All
IfEqual, check,, SetEnv, param3,
param3 = %param3%
GUI, 1:Font, %param2%, %param3%
FontCount ++
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
IniWrite, %ItemList%Font%FontCount%|, %Temp%\SGUIControls.ini, Main, ItemList
IniWrite, %param3%, %Temp%\SGUIControls.ini, Font%FontCount%, Label
IniWrite, %param2%, %Temp%\SGUIControls.ini, Font%FontCount%, Options
}
IfInString, check, GUI
IfInString, check, Add
{
StringGetPos, apos, check, Add
apos += 3
StringTrimLeft, data, CurrLine, %apos%
StringSplit, param, data, `,
IfLess, param0, 4, SetEnv, param4,
IfLess, param0, 3, SetEnv, param3,
IfLess, param0, 2, Continue
IfInString, param2, `:, Continue
IfGreater, param0, 4
Loop, %param0%
{
IfLess, A_Index, 5, Continue
StringTrimRight, currparam, param%A_Index%, 0
param4 = %param4%`,%currparam%
}
StringReplace, CtrlText, param4, ```,, `,, A
StringReplace, CtrlText, CtrlText, ``n, `n, A
StringReplace, CtrlText, CtrlText, ```%, `%, A
Ctrl2Add = %param2%
CtrlName = %param2%
IfEqual, Ctrl2Add, ListBox, SetEnv, CtrlName, ListBox
IfEqual, Ctrl2Add, ListView, SetEnv, CtrlName, SysListView32
IfEqual, Ctrl2Add, ComboBox, SetEnv, CtrlName, ComboBox
IfEqual, Ctrl2Add, DateTime, SetEnv, CtrlName, SysDateTimePick32
IfEqual, Ctrl2Add, DropDownList, SetEnv, CtrlName, ComboBox
IfEqual, Ctrl2Add, CheckBox, SetEnv, CtrlName, Button
IfEqual, Ctrl2Add, GroupBox, SetEnv, CtrlName, Button
IfEqual, Ctrl2Add, Hotkey, SetEnv, CtrlName, msctls_hotkey32
IfEqual, Ctrl2Add, MonthCal, SetEnv, CtrlName, SysMonthCal32
IfEqual, Ctrl2Add, Picture, SetEnv, CtrlName, Static
IfEqual, Ctrl2Add, Progress, SetEnv, CtrlName, msctls_progress32
IfEqual, Ctrl2Add, Radio, SetEnv, CtrlName, Button
IfEqual, Ctrl2Add, Slider, SetEnv, CtrlName, msctls_trackbar32
IfEqual, Ctrl2Add, Tab, SetEnv, CtrlName, SysTabControl32
IfEqual, Ctrl2Add, Text, SetEnv, CtrlName, Static
IfEqual, Ctrl2Add, UpDown, SetEnv, CtrlName, msctls_UpDown32
%CtrlName%Count ++
StringTrimLeft, CtrlCount, %CtrlName%Count, 0
Options =
OptionsA =
Loop, Parse, param3, %A_Space%
{
IfEqual, A_LoopField,, Continue
StringLeft, Opt1, A_LoopField, 1
StringTrimLeft, Opt2, A_LoopField, 1
Done = 0
Loop, Parse, PosFields
{
IfEqual, Opt1, %A_LoopField%
{
c%A_LoopField% = %Opt2%
IniWrite, %Opt2%, %Temp%\SGUIControls.ini, %CtrlName%%CtrlCount%, %A_LoopField%
Done = 1
}
}
IfEqual, Done, 1, Continue
Options = %Options% %Opt1%%Opt2%
If Opt1 Not In G,V
OptionsA = %OptionsA% %Opt1%%Opt2%
}
param2 = %param2%
param3 = %param3%
param4 = %param4%
CtrlText = %CtrlText%
Options = %Options%
IfEqual, param2, Tab
{
IfEqual, TabCreated, 1, Continue
GUI, 1:Add, %param2%, x%cX% y%cY% w%cW% h%cH% vTabName gTabGroup %OptionsA%, %CtrlText%
TabCreated = 1
}
Else
{
IfNotEqual, TabCreated, 1
GUI, 1:Add, %param2%, x%cX% y%cY% w%cW% h%cH% %OptionsA%, %CtrlText%
Else
GUI, 1:Add, %param2%, x%cX% y%cY% w%cW% h%cH% Border %OptionsA%, %CtrlText%
}
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
IniWrite, %ItemList%%CtrlName%%CtrlCount%|, %Temp%\SGUIControls.ini, Main, ItemList
IniWrite, %param2%, %Temp%\SGUIControls.ini, %CtrlName%%CtrlCount%, Name
IniWrite, %param4%, %Temp%\SGUIControls.ini, %CtrlName%%CtrlCount%, Label
IniWrite, %Options%, %Temp%\SGUIControls.ini, %CtrlName%%CtrlCount%, Options
Loop, Parse, PosFields
{
CurrPos := c%A_LoopField%
IniWrite, %CurrPos%, %Temp%\SGUIControls.ini, %CtrlName%%CtrlCount%, %A_LoopField%
}
If Ctrl2Add In Tab,ListView
GuiControl, 1:-0x4000000, %CtrlName%%CtrlCount%
Control, Hide,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
Control, Show,, %CtrlName%%CtrlCount%, ahk_id %MainWndID%
}
IfInString, check, GUI
IfInString, check, Show
{
StringGetPos, spos, check, Show
spos += 4
StringTrimLeft, data, CurrLine, %spos%
param2 =
param3 =
StringSplit, param, data, `,
IfLess, param0, 2, SetEnv, param2,
IfInString, param2, `:, Continue
param2 = %param2%
param3 = %param3%
IfNotEqual, param2,, GUI, 1:Show, %param2%
IniWrite, %param3%, %Temp%\SGUIControls.ini, Main, Title
Break
}
}
Ctrl2Add =
Return
GuiHelper:
WinGetPos, MenuWX, MenuWY, MenuWW, MenuWH, %MenuWnd%
HlprWX := MenuWX + 5
HlprWY := MenuWY + 95
IfEqual, HelperStatus, 0
{
Gui, 5:Destroy
Menu, Options, ToggleCheck, Show GUI Helper
SetTimer, GuiHelper, Off
Return
}
IfEqual, HelperStatus, 1
{
Gui, 5:+Owner9 +ToolWindow +Border
Gui, 5:Font, CMaroon,
Gui, 5:Add, Text, x7 y3 w50 h20, Window
Gui, 5:Add, Text, x7 y63 w50 h20, Control
Gui, 5:Add, Text, x6 y127 w50 h20, Mouse
Gui, 5:Font
Gui, 5:Add, Text, x7 y23 w110 h30,
Gui, 5:Add, Text, x7 y83 w110 h40,
Gui, 5:Add, Text, x6 y147 w110 h20,
Gui, 5:Show, x%HlprWX% y%HlprWY% h174 w120, GUI Helper
WinActivate, ahk_id %MenuWndID%
SetTimer, GuiHelper, 500
HelperStatus = 2
Menu, Options, ToggleCheck, Show GUI Helper
}
MouseGetPos, MouseX, MouseY, CurrID, MCtrl
ControlSetText, Static6, X: %MouseX% Y:%MouseY%, GUI Helper
IfEqual, CurrID, %MainWndID%
{
ControlGetPos, ScX, ScY, ScW, ScH, %MCtrl%, ahk_id %MainWndID%
WinGetActiveStats, SwT, SwW, SwH, SwX, SwY
WinInfo = X:%SwX%`tY:%SwY%`t`nW:%SwW%`tH:%SwH%`t
CtrlInfo = %MCtrl%`nX:%ScX%`tY:%ScY%`t`nW:%ScW%`tH:%ScH%`t
ControlSetText, Static4, %WinInfo%, GUI Helper
IfNotEqual, MCtrl, Static1, ControlSetText, Static5, %CtrlInfo%, GUI Helper
}
IfEqual, CurrID, %MenuWndID%
IfNotEqual, MCtrl, %LastCtrl%
{
IfEqual, MCtrl, Static2
ToolTip, Button
IfEqual, MCtrl, Static3
ToolTip, CheckBox
IfEqual, MCtrl, Static12
ToolTip, Radio
IfEqual, MCtrl, Static11
ToolTip, Edit
IfEqual, MCtrl, Static5
ToolTip, Text
IfEqual, MCtrl, Static9
ToolTip, GroupBox
IfEqual, MCtrl, Static14
ToolTip, Picture
IfEqual, MCtrl, Static4
ToolTip, DropDownList
IfEqual, MCtrl, Static13
ToolTip, ComboBox
IfEqual, MCtrl, Static6
ToolTip, ListBox
IfEqual, MCtrl, Static15
ToolTip, ListView
IfEqual, MCtrl, Static16
ToolTip, DateTime
IfEqual, MCtrl, Static7
ToolTip, MonthCal
IfEqual, MCtrl, Static8
ToolTip, Progress
IfEqual, MCtrl, Static17
ToolTip, Slider
IfEqual, MCtrl, Static10
ToolTip, Hotkey
IfEqual, MCtrl, Static18
ToolTip, Tab
IfEqual, MCtrl, Static19
ToolTip, UpDown
IfEqual, MCtrl, Static20
ToolTip, Change Font
LastCtrl = %MCtrl%
}
IfNotEqual, CurrID, %MenuWndID%
ToolTip
IfNotInString, MCtrl, Static
ToolTip
Return
MoveGroup:
IfWinNotActive, ahk_id %MainWndID%,,Return
CoordMode, ToolTip, Relative
ToolTip, %a_space%%a_space%, %sX%, %sY%, 2
WinSet, Trans, 100, %a_space%%a_space%
WinActivate, %a_space%%a_space%
Hotkey, *~LButton, Off
Loop
{
GetKeyState, RB, Lbutton
IfEqual, RB, D
{
MouseGetPos, eX, eY
WinMove, %a_space%%a_space%,,,, %eX%, %eY%
Sleep, 50
}
IfEqual, RB, U, Break
}
ToolTip,,,, 2
Hotkey, *~LButton, On
TestX = %eX%
TestY = %eY%
TestX -= %sX%
TestX -= %sX%
IfLess, TestX, 5
IfLess, TestY, 5
Return
sX -= %WinDiffW%
sY += %WinDiffW%
sY -= %WinDiffH%
eX += %sX%
eY += %sY%
Controls2Modify =
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
Loop, Parse, ItemList, |
{
IfEqual, A_LoopField,, Continue
IfInString, A_LoopField, ^DELETED^, Continue
CtrlNameCount = %A_LoopField%
Loop, Parse, PosFields
{
IniRead, CurrPos, %Temp%\SGUIControls.ini, %CtrlNameCount%, %A_LoopField%
Ctrl%A_LoopField% = %CurrPos%
}
CtrlW += %CtrlX%
CtrlH += %CtrlY%
ControlGet, CtrlVis, Visible,, %CtrlNameCount%, ahk_id %MainWndID%
IfEqual, CtrlVis, 0, Continue
IfGreaterOrEqual, CtrlX, %sX%
IfGreaterOrEqual, CtrlY, %sY%
IfLessOrEqual, CtrlW, %eX%
IfLessOrEqual, CtrlH, %eY%
Controls2Modify = %Controls2Modify%|%CtrlNameCount%
}
StringTrimLeft, Controls2Modify, Controls2Modify, 1
IfNotEqual, FirstTimeM, No
{
Gui, 3:+owner1 +ToolWindow
Gui, 3:Add, Edit, x36 y34 w30 h20 vToMove Center, 10
Gui, 3:Add, Checkbox, 0x1000 x16 y85 w70 h20 vShowAdv gMoveAdv, Advanced
Gui, 3:Add, ListBox, 0x0008 x8 y113 w90 h134 vControls2Modify,
Gui, 3:Font, S12, WingDings
Gui, 3:Add, Button, 0x8000 x11 y9 w20 h20 g3UL, õ
Gui, 3:Add, Button, 0x8000 x41 y9 w20 h20 g3U , ñ
Gui, 3:Add, Button, 0x8000 x71 y9 w20 h20 g3UR, ö
Gui, 3:Add, Button, 0x8000 x11 y34 w20 h20 g3L , ï
Gui, 3:Add, Button, 0x8000 x11 y59 w20 h20 g3DL, ÷
Gui, 3:Add, Button, 0x8000 x41 y59 w20 h20 g3D, ò
Gui, 3:Add, Button, 0x8000 x71 y59 w20 h20 g3DR, ø
Gui, 3:Add, Button, 0x8000 x71 y34 w20 h20 g3R, ð
FirstTimeM = No
}
WinGet, CtrlList0, ControlList, ahk_id %MainWndID%
CtrlList =
LastCtrlCombo = 0
Loop, Parse, CtrlList0, `n
{
IfEqual, A_LoopField, Static1, Continue
ControlGet, CtrlVis, Visible,, %A_LoopField%, ahk_id %MainWndID%
IfEqual, CtrlVis, 0, Continue
IfEqual, LastCtrlCombo, 1
IfInString, A_LoopField, Edit
{
LastCtrlCombo = 0
Continue
}
IfInString, A_LoopField, ComboBox
{
ControlGet, CtrlStyle, Style,, %A_LoopField%, ahk_id %MainWndID%
Transform, ControlType, BitAnd, %Ctrlstyle%, 0xF
IfNotEqual, ControlType, 3, SetEnv, LastCtrlCombo, 1
}
CtrlList = %CtrlList%|%A_LoopField%
}
GuiControl, 3:, ListBox1, %CtrlList%
WinGetPos, MenuWX, MenuWY, MenuWW, MenuWH, %MenuWnd%
MoveWX := MenuWX + 5
MoveWY := MenuWY + 300
Loop, Parse, Controls2Modify, |
{
GuiControl, 3:ChooseString, ListBox1, %A_LoopField%
}
IfEqual, ShowAdv, 1, Gui, 3:Show, x%MoveWX% y%MoveWY% h255 w106, Move Group
Else
Gui, 3:Show, x%MoveWX% y%MoveWY% h110 w106, Move Group
Return
MoveAdv:
Gui, 3:Submit
IfEqual, ShowAdv, 1, Gui, 3:Show, h255 w106, Move Group
Else
Gui, 3:Show, h110 w106, Move Group
Return
3UL:
Gui, 3:Submit, NoHide
AddX = 0
AddY = 0
AddX -= %ToMove%
AddY -= %ToMove%
Goto, 3Move
3U:
Gui, 3:Submit, NoHide
AddX = 0
AddY = 0
AddY -= %ToMove%
Goto, 3Move
3UR:
Gui, 3:Submit, NoHide
AddX = 0
AddY = 0
AddX += %ToMove%
AddY -= %ToMove%
Goto, 3Move
3L:
Gui, 3:Submit, NoHide
AddX = 0
AddY = 0
AddX -= %ToMove%
Goto, 3Move
3DL:
Gui, 3:Submit, NoHide
AddX = 0
AddY = 0
AddX -= %ToMove%
AddY += %ToMove%
Goto, 3Move
3D:
Gui, 3:Submit, NoHide
AddX = 0
AddY = 0
AddY += %ToMove%
Goto, 3Move
3DR:
Gui, 3:Submit, NoHide
AddX = 0
AddY = 0
AddX += %ToMove%
AddY += %ToMove%
Goto, 3Move
3R:
Gui, 3:Submit, NoHide
AddX = 0
AddY = 0
AddX += %ToMove%
Goto, 3Move
3Move:
IfEqual, AddX, 0, IfEqual, AddY, 0, Return
Loop, Parse, Controls2Modify, |
{
IfEqual, A_LoopField, Static1, Continue
CtrlNameCount = %A_LoopField%
IniRead, Ctrl2Add, %Temp%\SGUIControls.ini, %CtrlNameCount%, Name
ControlGetPos, TempX, TempY, TempW, TempH, %CtrlNameCount%, ahk_id %MainWndID%
TempX += %AddX%
TempY += %AddY%
ControlMove, %CtrlNameCount%, %TempX%, %TempY%,,, ahk_id %MainWndID%
Control, Hide,, %CtrlNameCount%, ahk_id %MainWndID%
Control, Show,, %CtrlNameCount%, ahk_id %MainWndID%
TempX -= %WinDiffW%
TempY -= %WinDiffH%
TempY += %WinDiffW%
Loop, Parse, PosFields
{
CurrPos := Temp%A_LoopField%
IniWrite, %CurrPos%, %Temp%\SGUIControls.ini, %CtrlNameCount%, %A_LoopField%
}
}
Ctrl2Add =
Return
3ButtonClose:
Gui, 3:Cancel
Return
SetGUIcount:
Gui, 9:+OwnDialogs
AutoTrim, off
Hotkey, *~LButton, Off
FileSelectFile, GUICountScript, 1, %LoadDir%, Select GUI script to modify, AutoHotkey GUI script (*.ahk)
Hotkey, *~LButton, On
IfNotExist, %GUICountScript%, Return
InputBox, GUICount, Count, Enter Count to Add (Upto 99),, 250, 125,,,,, 2
IfEqual, ErrorLevel, 1, Return
IfGreater, GUICount, 99, Return
FileCopy, %GUICountScript%, %GUICountScript%.Txt, 1
FileDelete, %GUICountScript%
Loop, Read, %GUICountScript%.Txt, %GUICountScript%
{
ToAppend = %A_LoopReadLine%
StringSplit, param, ToAppend, `,
StringReplace, guitest, param1, %a_space%,, All
StringReplace, guitest, guitest, %a_tab%,, All
IfEqual, guitest, Gui
{
IfEqual, GUICount,
{
StringGetPos, cpos, param2, `:
cpos ++
StringTrimLeft, TempVar, param2, %cpos%
StringReplace, TempVar, TempVar, %a_space%,, All
StringReplace, ToAppend, ToAppend, %param2%, %A_Space%%TempVar%, All
}
Else
{
IfInString, param2, `:
{
StringGetPos, cpos, param2, `:
cpos ++
StringTrimLeft, TempVar, param2, %cpos%
StringReplace, ToAppend, ToAppend, %param2%, %A_Space%%GUICount%`:%TempVar%, All
}
Else
{
StringReplace, TempVar, param2, %a_space%,, All
StringReplace, ToAppend, ToAppend, %TempVar%, %GUICount%`:%TempVar%, All
}
}
}
FileAppend, %ToAppend%`n
}
AutoTrim, on
GUICountScript =
Return
LeftButton:
IfWinNotActive, ahk_id %MainWndID%,,Return
MouseGetPos, sX, sY, DragStW
GetKeyState, ShiftState, Shift
KeyWait, LButton, T.25
IfNotEqual, ErrorLevel, 1
{
KeyWait, LButton, D T.25
IfEqual, ErrorLevel, 1, Return
MouseGetPos, TestX, TestY,, CtrlNameCount
If CtrlNameCount Not In ,Static1
IfEqual, TestX, %sX%
IfEqual, TestY, %sY%
Goto, Modify
Return
}
GetKeyState, CheckLB, LButton
IfEqual, ShiftState, U
IfEqual, ShiftMove, Yes
Return
IfEqual, CheckLB, D
IfEqual, DragStW, %MainWndID%
Goto, MoveGroup
Return
RightButton:
MouseGetPos,,, AWID
IfNotEqual, AWID, %MainWndID%
{
Send, {RButton}
Return
}
MouseGetPos,,,, CtrlNameCount
IfNotEqual, CtrlNameCount, Static1
Menu, ControlMenu, Show
Return
Stealer:
SplashImage,, W300 H75 B1, Activate Target Window and press F12 or press Escape to Cancel., Select Target Window,
Loop
{
Input, UserKey, V, {Esc}{F12}
IfEqual, ErrorLevel, Endkey:Escape
{
SplashImage, Off
Return
}
IfEqual, ErrorLevel, Endkey:F12
{
SplashImage, Off
WinGet, WinID, ID, A
Break
}
Sleep, 50
}
Menu, FileMenu, Disable, GUI Stealer
Menu, FileMenu, Disable, Edit GUI script
WinGet, CtrlList, ControlList, ahk_id %WinID%
LastCtrlCombo = 0
Loop, Parse, CtrlList, `n
{
CtrlNameCount = %A_LoopField%
ControlGet, CtrlVis, Visible,, %CtrlNameCount%, ahk_id %WinID%
IfEqual, CtrlVis, 0, Continue
Loop
{
StringRight, check, CtrlNameCount, %a_index%
if check is integer
{
CtrlCount = %check%
StringTrimRight, CtrlName, CtrlNameCount, %a_index%
}
Else Break
}
IfEqual, LastCtrlCombo, 1
IfEqual, CtrlName, Edit
{
LastCtrlCombo = 0
Continue
}
ControlGetPos, TempX, TempY, TempW, TempH, %CtrlNameCount%, ahk_id %WinID%
TempX -= %WinDiffW%
TempY -= %WinDiffH%
TempY += %WinDiffW%
ControlGetText, CtrlText, %CtrlNameCount%, ahk_id %WinID%
ControlGet, CtrlStyle, Style,, %CtrlNameCount%, ahk_id %WinID%
ControlGet, CtrlExStyle, ExStyle,, %CtrlNameCount%, ahk_id %WinID%
Ctrl2Add = %CtrlName%
IfEqual, CtrlName, Static, SetEnv, Ctrl2Add, Text
IfEqual, CtrlName, msctls_hotkey, SetEnv, Ctrl2Add, Hotkey
IfEqual, CtrlName, msctls_progress, SetEnv, Ctrl2Add, Progress
IfEqual, CtrlName, msctls_trackbar, SetEnv, Ctrl2Add, Slider
IfEqual, CtrlName, SysTabControl, SetEnv, Ctrl2Add, Tab
IfEqual, CtrlName, SysDateTimePick, SetEnv, Ctrl2Add, DateTime
IfEqual, CtrlName, SysListView, SetEnv, Ctrl2Add, ListView
IfEqual, CtrlName, SysMonthCal, SetEnv, Ctrl2Add, MonthCal
IfEqual, CtrlName, msctls_UpDown, SetEnv, Ctrl2Add, UpDown
AhkStyle =
IfEqual, CtrlName, Button
{
ControlType = Transform, ControlType, BitAnd, %CtrlStyle%, 0xF
if ControlType in 2,3,5,6 Ctrl2Add = Checkbox
else if ControlType in 4,9 Ctrl2Add = Radio
else if ControlType = 7 Ctrl2Add = GroupBox
else Ctrl2Add = Button
}
IfEqual, CtrlName, ComboBox
{
ControlType = Transform, ControlType, BitAnd, %Ctrlstyle%, 0xF
if ControlType = 3 Ctrl2Add = DropDownList
else
Ctrl2Add = ComboBox
IfEqual, Ctrl2Add, ComboBox, SetEnv, LastCtrlCombo, 1
}
IfEqual, CtrlName, msctls_trackbar
{
ControlType = Transform, ControlType, BitAnd, %Ctrlstyle%, 0xF
if ControlType = 2
AhkStyle = Left
if ControlType = 4
AhkStyle = Vertical
if ControlType = 8
AhkStyle = Center
if ControlType = 10
AhkStyle = Vertical Center
if ControlType = 11
AhkStyle = Vertical Center
}
StringRight, PicCheck, CtrlText, 4
If PicCheck In .jpg,.gif,.bmp,.png,.tif,.ico,.ani,.cur,.wmf,.emf
SetEnv, Ctrl2Add, Picture
If Ctrl2Add Not In Button,Checkbox,ComboBox,DateTime,DropDownList,Edit,GroupBox,ListBox,ListView,MonthCal,Progress,Radio,Slider,Text,UpDown,Hotkey
Continue
%CtrlName%Count ++
StringTrimLeft, ThisCtrlCount, %CtrlName%Count, 0
CtrlNameCount = %CtrlName%%ThisCtrlCount%
IfNotEqual, Ctrl2Add, Tab
Gui, 1:Add, %Ctrl2Add%, x%TempX% y%TempY% w%TempW% h%TempH% %AhkStyle%, %CtrlText%
IfNotEqual, TabCreated, 1
IfEqual, Ctrl2Add, Tab
{
CtrlText = TabNameHere
TabCreated = 1
Gui, 1:Add, %Ctrl2Add%, x%TempX% y%TempY% w%TempW% h%TempH% vTabName gTabGroup, %CtrlText%
GuiControl, -0x4000000, SysTabControl321
}
Gosub, FixText
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
IniWrite, %ItemList%%CtrlNameCount%|, %Temp%\SGUIControls.ini, Main, ItemList
IniWrite, %Ctrl2Add%, %Temp%\SGUIControls.ini, %CtrlNameCount%, Name
IniWrite, %CtrlText%, %Temp%\SGUIControls.ini, %CtrlNameCount%, Label
Loop, Parse, PosFields
{
CurrPos := Temp%A_LoopField%
IniWrite, %CurrPos%, %Temp%\SGUIControls.ini, %CtrlNameCount%, %A_LoopField%
}
IniRead, Options, %Temp%\SGUIControls.ini, %CtrlNameCount%, Options, %A_Space%
IniWrite, %Options% %AhkStyle%, %Temp%\SGUIControls.ini, %CtrlNameCount%, Options
}
WinGetPos, wX, wY, wW, wH, ahk_id %WinID%
WinMove, ahk_id %MainWndID%,, %wX%, %wY%, %wW%, %wH%
WinActivate, ahk_id %MainWndID%
Ctrl2Add =
Return
FixText:
StringReplace, CtrlText, CtrlText, `n, ``n, A
StringReplace, CtrlText, CtrlText, `%, ```%, A
StringReplace, CtrlText, CtrlText, ` StringReplace, CtrlText, CtrlText, `,, ```,, A
Return
TabGroup:
TabCount ++
Gui, 1:Submit, NoHide
Gui, Tab, %TabName%
IniRead, ItemList, %Temp%\SGUIControls.ini, Main, ItemList, |
IniWrite, %ItemList%TabChange%TabName%|, %Temp%\SGUIControls.ini, Main, ItemList
Return
Justify:
IniRead, WhichCtrl, %Temp%\SGUIControls.ini, %CtrlNameCount%, Name
IfEqual, WhichCtrl, ERROR, Return
IniRead, Options, %Temp%\SGUIControls.ini, %CtrlNameCount%, Options, %A_Space%
StringReplace, Options, Options, +Left,, All
StringReplace, Options, Options, +Center,, All
StringReplace, Options, Options, +Right,, All
IniWrite, %Options% +%A_ThisMenuItem%, %Temp%\SGUIControls.ini, %CtrlNameCount%, Options
GuiControl, 1:+%A_ThisMenuItem%, %CtrlNameCount%
Control, Hide,, %CtrlNameCount%, ahk_id %MainWndID%
Control, Show,, %CtrlNameCount%, ahk_id %MainWndID%
Return