Jump to content

GUI - System Modal


Hanau
 Share

Recommended Posts

Hi everyone,

I created a GUI and I want it to be system modal. I don't know if it is the right term for the wanted modal mode but the desired behavior is that the user cannot do anything until the GUI is closed. The program is a bit complex so I don't want to change the fact I'm using a GUI.

Is there any way to accomplish this? For example, using a transparent system modal msgbox as a child process of the GUI or something like this (I don't know if this is possible), etc.

Thanks

Link to comment
Share on other sites

Hi,

Welcome to the autoit forum :)

Can you explain a little bit?

When I create my GUI I use the extended style $WS_EX_TOPMOST. What I would like to achieve with my GUI is that the user is not able to work, for example in MS Word or any program "behind" this GUI, as long as the GUI is not closed. As it is now, the user is able to continue working normally even with the GUI in the center of the screen, which I don't want.

Is this something that can be achieved with a GUI?

Thanks!

Edited by Hanau
Link to comment
Share on other sites

Forget the WM_ACTIVATE message it does not work well.

#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>

Local $hGUI = GUICreate("MyGUI", 400, 400, -1, -1, -1, $WS_EX_TOPMOST)
GUISetState(@SW_SHOW, $hGUI)

_TraptoGUI()

While GUIGetMsg() <> $GUI_EVENT_CLOSE
    If WinActive($hGUI) = 0 Then
        WinActivate($hGUI)
        _TraptoGUI()
    EndIf
    Sleep(10)
WEnd

Func _TraptoGUI()
    Local $aWgp = WinGetPos($hGUI)
    _MouseTrap($aWgp[0], $aWgp[1], $aWgp[0] + $aWgp[2], $aWgp[1] + $aWgp[3])
EndFunc   ;==>_TraptoGUI

Better approach.

Link to comment
Share on other sites

Hanau,

FireFox will agree with me, that it's always best to show what you've i.e. post example code. Thanks.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...