vivernet
Знающий
- Сообщения
- 32
- Репутация
- 6
Весь форум перерыл, пробовал все что только можно, но никак не выходит понять, почему у меня не работает переключение фокуса, между элементами GUI по нажатию Tab.
Однако, так как пробовал прям вот все, нашел один вариант при котором работает, но появляется одна проблема, дочернее окно можно двигать внутри родительского окна, просто тыкнув на любое место дочернего окна и передвинув. Добился этого я, прописав при создании дочернего окна:
PS: если указать $WS_TABSTOP в любом другом месте, то не работает переключение фокуса от слова совсем(((
подскажите пожалуйста, как сделать что бы корректно работало, то есть и переключение фокуса работало, но дочерние окна не таскались куда угодно.
- искал как вариант какой нить флаг что бы закрепить дочернее окно внутри родительского, к сожалению ничего такого не нашел(
вот так создаю формы GUI и Элементы управления
Однако, так как пробовал прям вот все, нашел один вариант при котором работает, но появляется одна проблема, дочернее окно можно двигать внутри родительского окна, просто тыкнув на любое место дочернего окна и передвинув. Добился этого я, прописав при создании дочернего окна:
Код:
Global $hGUI_Login = GUICreate("Login", 500, 420, 0, 140, $WS_CHILD, $WS_TABSTOP, $hGUI)
PS: если указать $WS_TABSTOP в любом другом месте, то не работает переключение фокуса от слова совсем(((
подскажите пожалуйста, как сделать что бы корректно работало, то есть и переключение фокуса работало, но дочерние окна не таскались куда угодно.
- искал как вариант какой нить флаг что бы закрепить дочернее окно внутри родительского, к сожалению ничего такого не нашел(
вот так создаю формы GUI и Элементы управления
Код:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <UpDownConstants.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#include <ButtonConstants.au3>
#Include <GuiButton.au3>
#include <GuiStatusBar.au3>
#include <GuiTab.au3>
Func _CreateGUI()
Local $LastPosX = IniRead($g_ConfigFile, "GUI", "LastPosX", -1)
Local $LastPosY = IniRead($g_ConfigFile, "GUI", "LastPosY", -1)
If $LastPosX >= 0 Then
Global $hGUI = GUICreate($g_App_Name, 500, 600, $LastPosX, $LastPosY, -1, -1)
Else
Global $hGUI = GUICreate($g_App_Name, 500, 600, -1, -1, -1, -1)
EndIf
GUISwitch($hGUI)
GUISetFont(9, 400, 0, "Segoe UI", $hGUI, $CLEARTYPE_QUALITY)
Global $hGUI_StatusBar = _GUICtrlStatusBar_Create($hGUI, -1, "", -1, -1)
_GUICtrlStatusBar_SetMinHeight($hGUI_StatusBar, 20)
Global $hGUI_Label_Version = GUICtrlCreateLabel("v." & $g_App_Version, 10, 555, 40, 20, $SS_CENTERIMAGE, -1)
GUICtrlSetFont(-1, 9, 400, 0, "Segoe UI")
Global $hGUI_Label_Update = GUICtrlCreateLabel(_Tr("Доступна новая версия!", "New version is available!"), 55, 555, 150, 20, $SS_CENTERIMAGE, -1)
GUICtrlSetColor($hGUI_Label_Update, $g_Color_RED)
GUICtrlSetFont(-1, 9, 700, 0, "Segoe UI")
GUICtrlSetState(-1, $GUI_HIDE)
Global $hGui_Button_Update = GUICtrlCreateButton(_Tr("Обновить", "Update"), 210, 555, 80, 20, -1, -1)
GUICtrlSetBKColor(-1, $g_Color_RED)
GUICtrlSetFont(-1, 8, 700, 0, "Segoe UI")
GUICtrlSetColor(-1, $g_Color_WHITE)
GUICtrlSetCursor(-1, 0)
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState(@SW_HIDE, $hGUI)
EndFunc
Func _CreateGUI_Logo()
Global $hGUI_Logo = GuiCreate("Logo", 500, 140, 0, 0, $WS_CHILD, -1, $hGUI)
GUISwitch($hGUI_Logo)
GuiSetFont(9, 400, 0, "Segoe UI", $hGUI_Logo, $CLEARTYPE_QUALITY)
Global $hGUI_Logo_IMG_Logo = GUICtrlCreatePic("", 0, 0, 500, 140)
_Set_Image_XXX($hGUI_Logo_IMG_Logo, "Logo500x140", "PNG")
GUICtrlSetState($hGUI_Logo_IMG_Logo, $GUI_DISABLE)
GuiSetState(@SW_HIDE, $hGUI_Logo)
EndFunc
Func _CreateGUI_Login()
Global $hGUI_Login = GUICreate("Login", 500, 420, 0, 140, $WS_CHILD, $WS_TABSTOP, $hGUI)
GUISwitch($hGUI_Login)
Global $hGUI_Login_Group_Auth = GUICtrlCreateGroup("Авторизация",100,50,300,175,-1,-1)
GUICtrlSetFont(-1,9,700,0,"Segoe UI")
GUICtrlSetBkColor(-1,"0xF0F0F0")
Global $hGUI_Login_Label_Username = GUICtrlCreateLabel("Логин",130,85,50,15,-1,-1)
GUICtrlSetFont(-1,9,400,0,"Segoe UI")
GUICtrlSetBkColor(-1,"-2")
Global $hGUI_Login_Input_Username = GUICtrlCreateInput("",220,80,150,20,-1,$WS_EX_CLIENTEDGE)
GUICtrlSetFont(-1,9,400,0,"Segoe UI")
GUICtrlSetState(-1, $GUI_FOCUS)
Global $hGUI_Login_Label_Password = GUICtrlCreateLabel("Пароль",130,115,50,15,-1,-1)
GUICtrlSetFont(-1,9,400,0,"Segoe UI")
GUICtrlSetBkColor(-1,"-2")
Global $hGUI_Login_Input_Password = GUICtrlCreateInput("",220,110,150,20,$ES_PASSWORD,$WS_EX_CLIENTEDGE)
GUICtrlSetFont(-1,9,400,0,"Segoe UI")
Global $hGUI_Login_Button_SignIn = GUICtrlCreateButton("Войти",220,145,150,25,-1,-1)
GUICtrlSetOnEvent(-1,"_GuiEvents_hGUI_Login_Button_SignIn")
GUICtrlSetFont(-1,9,400,0,"Segoe UI")
Global $hGUI_Login_Button_SignUp = GUICtrlCreateButton("Зарегистрироваться",220,180,150,25,-1,-1)
GUICtrlSetOnEvent(-1,"_GuiEvents_hGUI_Login_Button_SignUp")
GUICtrlSetFont(-1,9,400,0,"Segoe UI")
GUICtrlCreateGroup("",100,240,300,60,-1,-1)
GUICtrlSetBkColor(-1,"0xF0F0F0")
Global $hGUI_Login_Label_Language = GUICtrlCreateLabel("Язык",130,265,50,15,-1,-1)
GUICtrlSetFont(-1,9,400,0,"Segoe UI")
GUICtrlSetBkColor(-1,"-2")
Global $hGUI_Login_Combo_Language = GUICtrlCreateCombo("",220,260,150,20,-1,-1)
GUICtrlSetData(-1,"English|Русский")
GUICtrlSetFont(-1,9,400,0,"Segoe UI")
GuiSetState(@SW_HIDE, $hGUI_Login)
EndFunc
_CreateGUI()
_CreateGUI_Logo()
_CreateGUI_Login()
GUISetState(@SW_SHOW, $hGUI)
GUISetState(@SW_SHOW, $hGUI_Logo)
GUISetState(@SW_SHOW, $hGUI_Login)