sproxy
Full Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Hackproof мож так проще: Код: #region: - Option AutoItSetOption ('GUIOnEventMode', 1) AutoItSetOption ('MustDeclareVars', 1) AutoItSetOption ('TrayIconDebug', 1) AutoItSetOption ('TrayIconHide', 0) #endregion #region: - Include #include <GuiConstantsEx.au3> #Include <GuiTab.au3> #Include <TabConstants.au3> #include <WindowsConstants.au3> #endregion Global $hWinMain, $hTab, $hTab0, $hLabel, $hTab0OkButton, $hTab0Input, $hTab1, $aActiveTabItem[2] $hWinMain = GUICreate('Tab', 400, 400, -1, -1) GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_Left_Mouse_Down') ;~ Регистрация нажатия левой кнопки мышки GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, '_Right_Mouse_Down');~ Регистрация нажатия правой кнопки мышки GUISetOnEvent($GUI_EVENT_CLOSE, '_Exit_pro') $hTab = GUICtrlCreateTab(10, 10, 350, 350) $hTab0 = GUICtrlCreateTabitem('Вкладка Tab0') $hTab0OkButton = GUICtrlCreateButton('OK', 20, 50, 50, 20) $hTab0Input = GUICtrlCreateInput('Input', 80, 50, 70, 20) $hTab1 = GUICtrlCreateTabitem('Вкладка Tab1') GUICtrlCreateTabitem ('') ;~ Этот Lablel создан НЕ на Tab, поэтому он всегда сверху $hLabel = GUICtrlCreateLabel( 'Номер активной Tab вкладки: ' & @TAB & _GUICtrlTab_GetCurFocus($hTab) & @CRLF & _ 'Текст активной Tab вкладки: ' & @TAB & _GUICtrlTab_GetItemText($hTab, $aActiveTabItem[0]), 30, 80, 250, 40) GUISetState () While 1 Sleep(10) ;==> Проверка на смену активной вкладки Tab $aActiveTabItem[0] = _GUICtrlTab_GetCurFocus($hTab) $aActiveTabItem[1] = _GUICtrlTab_GetItemText($hTab, $aActiveTabItem[0]) If GUICtrlRead($hLabel) <> 'Номер активной Tab вкладки: ' & @TAB & $aActiveTabItem[0] & @CRLF & 'Текст активной Tab вкладки: ' & @TAB & $aActiveTabItem[1] Then GUICtrlSetData($hLabel, 'Номер активной Tab вкладки: ' & @TAB & $aActiveTabItem[0] & @CRLF & 'Текст активной Tab вкладки: ' & @TAB & $aActiveTabItem[1]) MsgBox(0, 'Что же выбранно', 'Номер активной Tab вкладки: ' & @TAB & $aActiveTabItem[0] & @CRLF & 'Текст активной Tab вкладки: ' & @TAB & $aActiveTabItem[1], -1, $hWinMain) EndIf ;==> Проверка на смену активной вкладки Tab WEnd Func _Exit_pro() Exit EndFunc ;~ Функция для левой нопки Func _Left_Mouse_Down() MsgBox(0, 'Left Mouse click', 'В окне программы была нажата Левая клавиша мыши', -1, $hWinMain) EndFunc;==> Функция для левой нопки ;~ Функция для правой кнопки Func _Right_Mouse_Down() MsgBox(0, 'Right Mouse click', 'В окне программы была нажата Правая клавиша мыши', -1, $hWinMain) EndFunc;==> Функция для правой кнопки | не совсем понял суть..... в этом примере: 1 в цикле со Sleep идет посотянная проверка изменилась ли активная вкладка или нет, если да - то показать сообщение и установить данные в label. 2 при клике мышкой, влюбом месте окна, левой или правой вызваются соответсвующие функци... ViSiToR подскажи, пожалуйста, как называется параметр отслеживающий смену Tab вкладки в фнкциях WM_NOTIFY ? т.е. в справке есть для мышек: $NM_CLICK и т.д., вот такое еже есть, только реакция на смену вкладки (т.е. на k.st дейтсвия над вкладкой: нажатие мышкой, выбор с клавиатуры ит.д.) ? | Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 03:16 20-02-2009 | Исправлено: sproxy, 03:46 20-02-2009 |
|