|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Отключение системного контекстного меню на Input |
|
[решено] Отключение системного контекстного меню на Input
|
Старожил Сообщения: 156 |
Здравствуйте!
Не нашел в документации такой ответ - есть ли возможность отключить на Input (полях ввода) системное контекстное меню? Ставить свое я на них не буду, мне бы просто убрать системное |
|
Отправлено: 20:10, 30-11-2013 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать eus_deus,
Попробуйте сделать примерно так. #include <GUIConstantsEx.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> #include <Constants.au3> Global $apPTR[2] $hGui = GUICreate('Test', 400, 200) $nInput = GUICtrlCreateInput('', 10, 20, 380, 20) $hInput = GUICtrlGetHandle($nInput) $nCheckBox = GUICtrlCreateCheckbox('Убрать контекстное меню для Input', 10, 60, 380, 20) GUICtrlSetState($nCheckBox, $GUI_CHECKED) $hNoContextMenuInput = DllCallbackRegister('_NoContextMenuInput', 'ptr', 'hwnd;uint;wparam;lparam') $apPTR[1] = DllCallbackGetPtr($hNoContextMenuInput) $apPTR[0] = _WinAPI_SetWindowLong($hInput, $GWL_WNDPROC, $apPTR[1]) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE _WinAPI_SetWindowLong($hInput, $GWL_WNDPROC, $apPTR[0]) DllCallbackFree($hNoContextMenuInput) Exit Case $nCheckBox _WinAPI_SetWindowLong($hInput, $GWL_WNDPROC, $apPTR[BitAND(GUICtrlRead($nCheckBox), $GUI_CHECKED)]) EndSwitch WEnd Func _NoContextMenuInput($h_Wnd, $i_Msg, $w_Param, $l_Param) Switch $i_Msg Case $WM_CONTEXTMENU Switch $h_Wnd Case $hInput Return 0 EndSwitch EndSwitch Return _WinAPI_CallWindowProc($apPTR[0], $h_Wnd, $i_Msg, $w_Param, $l_Param) EndFunc ;==>_NoContextMenuInput |
Последний раз редактировалось madmasles, 02-12-2013 в 19:12. Причина: оптимизировал код Отправлено: 11:18, 02-12-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать спасибо, попробую
|
Отправлено: 18:22, 02-12-2013 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] Отключение Aero из контекстного меню рабочего стола | Smarty | Microsoft Windows 7 | 11 | 24-10-2010 23:01 | |
Интерфейс - запрет контекстного меню только на рабочем столе | alexataa | Microsoft Windows 2000/XP | 0 | 01-03-2010 00:20 | |
Интерфейс - Остаються следы контекстного меню на экране | PDLajus | Microsoft Windows 7 | 8 | 31-10-2009 01:49 | |
Интерфейс - вылетает explorer на пункте "отправить" контекстного меню | shlef | Microsoft Windows 2000/XP | 4 | 10-04-2009 21:20 | |
Отключение контекстного меню в панели быстрого запуска. | GreenIce | Microsoft Windows NT/2000/2003 | 5 | 29-05-2007 15:43 |
|