Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Не работает GUISetAccelerators

Ответить
Настройки темы
[решено] Не работает GUISetAccelerators

Аватара для Centrinar

Старожил


Сообщения: 247
Благодарности: 1

Профиль | Цитировать


Код: Выделить весь код
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region Main form
$hMain_GUI = GUICreate("Главное окно", 300, 200)
$nStngs_Btn = GUICtrlCreateButton("Настройки", 10, 170, 70, 20)
$nExit_Btn = GUICtrlCreateButton("Выход", 90, 170, 70, 20)
GUISetState(@SW_SHOW, $hMain_GUI)
#EndRegion Main form

#Region Settings form
$hStngs_GUI = GUICreate("Настройки", 400, 200)
$nStngs_Ok_Btn = GUICtrlCreateButton("ОК", 10, 170, 80, 25)
$nStngs_Close_Btn = GUICtrlCreateButton("Закрыть", 310, 170, 80, 25)
#EndRegion Settings form

Dim $AccelKeys[2][2]=[["{F5}", $nStngs_Btn], ["^n", $nStngs_Btn]]
GUISetAccelerators($AccelKeys)

While 1
    $aMsg = GUIGetMsg(1) ;Расширенная обработка событий

    Switch $aMsg[0]
        Case $GUI_EVENT_CLOSE, $nExit_Btn, $nStngs_Close_Btn
            Switch $aMsg[1]
                Case $hMain_GUI  ;Событие поступило от главного окна - завершаем работу скрипта
                    Exit
                Case $hStngs_GUI ;Событие поступило от окна настроек - закрываем его
                    GUISetState(@SW_HIDE, $hStngs_GUI)
            EndSwitch
        Case $nStngs_Btn
            GUISetState(@SW_SHOW, $hStngs_GUI)
    EndSwitch
WEnd
Где ошибка?

Отправлено: 22:34, 24-03-2011

 

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Centrinar,
Код: Выделить весь код
#include <GUIConstantsEx.au3>

#region Main form
$hMain_GUI = GUICreate("Главное окно", 300, 200)
$nStngs_Btn = GUICtrlCreateButton("Настройки", 10, 170, 70, 20)
$nExit_Btn = GUICtrlCreateButton("Выход", 90, 170, 70, 20)
GUISetState(@SW_SHOW, $hMain_GUI)
#endregion Main form

Dim $AccelKeys[3][2] = [["{F5}", $nStngs_Btn],["^n", $nStngs_Btn],['^т', $nStngs_Btn]]
GUISetAccelerators($AccelKeys)

#region Settings form
$hStngs_GUI = GUICreate("Настройки", 400, 200)
$nStngs_Ok_Btn = GUICtrlCreateButton("ОК", 10, 170, 80, 25)
$nStngs_Close_Btn = GUICtrlCreateButton("Закрыть", 310, 170, 80, 25)
#endregion Settings form

While 1
    $aMsg = GUIGetMsg(1)

    Switch $aMsg[1]
        Case $hMain_GUI
            Switch $aMsg[0]
                Case $GUI_EVENT_CLOSE, $nExit_Btn
                    Exit
                Case $nStngs_Btn
                    GUISetState(@SW_SHOW, $hStngs_GUI)
            EndSwitch
        Case $hStngs_GUI
            Switch $aMsg[0]
                Case $GUI_EVENT_CLOSE, $nStngs_Close_Btn
                    GUISetState(@SW_HIDE, $hStngs_GUI)
            EndSwitch
    EndSwitch
WEnd
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:01, 24-03-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Мда... у меня ушло минут 10 на то чтобы найти, что там исправлено в версий от madmasles , а что уже говорить о новичках которые заглянут в эту тему.

Решение: указать второй параметр в функций GUISetAccelerators($AccelKeys, $hMain_GUI).

P.S
madmasles, если помните, решение проблемы с раскладкой клавиатуры есть тут .

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 00:51, 25-03-2011 | #3


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Creat0R,
С учетом Ваших замечаний:
читать дальше »
Код: Выделить весь код
#include <GUIConstantsEx.au3>

ConsoleWrite(_WinAPI_LoadKeyboardLayout_CreatoR(0x0409) & @CR)
#region Main form
$hMain_GUI = GUICreate("Главное окно", 300, 200)
$nStngs_Btn = GUICtrlCreateButton("Настройки", 10, 170, 70, 20)
$nExit_Btn = GUICtrlCreateButton("Выход", 90, 170, 70, 20)
GUISetState(@SW_SHOW, $hMain_GUI)
#endregion Main form
#region Settings form
$hStngs_GUI = GUICreate("Настройки", 400, 200)
$nStngs_Ok_Btn = GUICtrlCreateButton("ОК", 10, 170, 80, 25)
$nStngs_Close_Btn = GUICtrlCreateButton("Закрыть", 310, 170, 80, 25)
#endregion Settings form

Dim $AccelKeys[2][2] = [["{F5}", $nStngs_Btn],["^n", $nStngs_Btn]]
GUISetAccelerators($AccelKeys, $hMain_GUI)

While 1
    $aMsg = GUIGetMsg(1)

    Switch $aMsg[1]
        Case $hMain_GUI
            Switch $aMsg[0]
                Case $GUI_EVENT_CLOSE, $nExit_Btn
                    Exit
                Case $nStngs_Btn
                    GUISetState(@SW_SHOW, $hStngs_GUI)
            EndSwitch
        Case $hStngs_GUI
            Switch $aMsg[0]
                Case $GUI_EVENT_CLOSE, $nStngs_Close_Btn
                    GUISetState(@SW_HIDE, $hStngs_GUI)
            EndSwitch
    EndSwitch
WEnd

Func _WinAPI_LoadKeyboardLayout_CreatoR($sLayoutID, $hWnd = 0)
    Local Const $WM_INPUTLANGCHANGEREQUEST = 0x50
    Local $aRet = DllCall("user32.dll", "long", "LoadKeyboardLayoutW", "wstr", Hex($sLayoutID, 8), "int", 0)

    If Not @error And $aRet[0] Then
        If $hWnd = 0 Then
            $hWnd = WinGetHandle(AutoItWinGetTitle())
        EndIf
        DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $hWnd, "int", $WM_INPUTLANGCHANGEREQUEST, "int", 1, "int", $aRet[0])
        Return 1
    EndIf

    Return SetError(1)
EndFunc   ;==>_WinAPI_LoadKeyboardLayout_Creat0R

Последний раз редактировалось madmasles, 25-03-2011 в 06:58.


Отправлено: 06:42, 25-03-2011 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Мда... у меня ушло минут 10 на то чтобы найти, что там исправлено в версий от madmasles , а что уже говорить о новичках которые заглянут в эту тему. »
Creat0R, Вы WinMerge не пользуете для сравнения? Достаточно удобно. Или я совсем неправильно понял?

Отправлено: 09:28, 25-03-2011 | #5


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Iska:
Вы WinMerge не пользуете для сравнения? Достаточно удобно. »
Я обычно использую Pspad, но тут мелочь, думал глазами найду. Но суть не в этом.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 10:03, 25-03-2011 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Не работает GUISetAccelerators

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
В BIOS клавиатура не работает, а в Windows работает. Что делать? Мама_Таня Поиск драйверов, прошивок и руководств 15 04-12-2024 18:54
[решено] не работает клавиатура (в биосе работает, при загрузке нет) AlhimikRu Непонятные проблемы с Железом 11 24-10-2013 05:10
[решено] bat-файл работает... и он же не работает. В чем дело? truvo Хочу все знать 10 26-03-2009 02:36
Прозрачность фона картинки. Работает в Opera, не работает Internet Explorer 6 Voxell Вебмастеру 10 11-11-2008 13:49
Некоторый софт не работает с 512 Мб, а работает только с 256 ACrimson Непонятные проблемы с Железом 12 02-10-2004 20:30




 
Переход