|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36490 |
Профиль | Сайт | Отправить PM | Цитировать
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно Заголовок темы должен быть осмысленным. Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать gregaz,
А в чём проблема использовать более одной функции? . Ограничении вроде нет. |
------- Отправлено: 00:11, 21-01-2008 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Можно попутно еще вопрос ? Насколько я понял (для универсальной ф-ии в моем примере) одновременное использование одинарного и двойного кликов одной и той же кнопки мыши не предполагается. Для выявления двойного клика можно было бы выдержать паузу,но не останавливая работы скрипта. Как правильно это организовать? |
|
Отправлено: 04:38, 21-01-2008 | #22 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать gregaz
Цитата:
|
|
------- Отправлено: 07:02, 21-01-2008 | #23 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Эта функция сортировки работает только на ListView ,созданном внутренней ф-ей : GUICtrlCreateListView При создании ListView с помощбю UDF : _GUICtrlListView_Create - не хочет Тогда,как редактирование на месте - наоборот . Получаются вилы ? Цитата Maza Faka:
Надо выявить двойной клик на ListView items ,игнорируя первый (одинарный) одной и той же кнопкой мыши |
||
Последний раз редактировалось gregaz, 21-01-2008 в 08:36. Отправлено: 07:18, 21-01-2008 | #24 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать gregaz,
Цитата:
Когда мы кликаем два раза подряд (промежуточность установлена системой), то в ListView посылается сообщение $NM_DBLCLK, вот его и нужно улавливать (испол. WM_NOTIFY_EVENTS()). |
|
------- Отправлено: 08:59, 21-01-2008 | #25 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать gregaz
Цитата:
|
|
------- Отправлено: 09:55, 21-01-2008 | #26 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать упс два раза задал вопрос...
|
------- Отправлено: 10:21, 21-01-2008 | #27 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать kalikanzaros,
Цитата:
Цитата:
P.S Shutdown(6) не завершает работу скрипта, пока компьютер будет перезапускаться, строчка с созданием ярлыка будет выполнена. |
||
------- Отправлено: 10:43, 21-01-2008 | #28 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать Creat0R,
понятно спасибо, как я понимаю проблему должно решить добавление строки с "exit" после строки Shutdown(6) |
------- Отправлено: 10:57, 21-01-2008 | #29 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Вот попробовал накалякать LVSort позволяющюю и сортировать на ListView,созданном с помощью UDF
При этом сохраняется возможность редактирования на месте #include <GuiListView.au3> #include <GuiImageList.au3> $Gui = GUICreate("Test", 400, 250) $hListView = _GUICtrlListView_Create($GUI, "Items|SubItems", 2, 2, 220, 196, BitOR($LVS_EDITLABELS, $LVS_REPORT)) $hImage = _GUIImageList_Create (16,16,5); _GUIImageList_AddIcon ($hImage, "shell32.dll", 3); _GUIImageList_AddIcon ($hImage, "shell32.dll", 11); _GUIImageList_AddIcon ($hImage, "shell32.dll", 22); _GUIImageList_AddIcon ($hImage, "shell32.dll", 33); _GUICtrlListView_SetImageList ($hListView, $hImage, 1) $ListItem1 = _GUICtrlListView_AddItem($hListView, "Boris",0) $ListItem2 = _GUICtrlListView_AddItem($hListView, "Anna",2) $ListItem3 = _GUICtrlListView_AddItem($hListView, "Sveta",1) $ListItem4 = _GUICtrlListView_AddItem($hListView, "Misha",3) $ListSubItem1 = _GUICtrlListView_AddSubItem ($hListView, 0,'44', 1) $ListSubItem2 = _GUICtrlListView_AddSubItem ($hListView, 1,'22', 1) $ListSubItem3 = _GUICtrlListView_AddSubItem ($hListView, 2,'11', 1) $ListSubItem4 = _GUICtrlListView_AddSubItem ($hListView, 3,'33', 1) GUISetState() GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") Global $B_DESCENDING[_GUICtrlListView_GetColumnCount ($hListView) ] While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd ;------------------------------------------------------------------------------ Func LVSort($in) $itN=_GUICtrlListView_GetItemCount($hListView) $colN=_GUICtrlListView_GetColumnCount($hListView) Dim $iArr[$itN][$colN+2] For $ii=0 To $itN-1 $aItem=_GUICtrlListView_GetItem($hListView, $ii) For $jj=0 To $colN-1 $iArr[$ii][$jj]=_GUICtrlListView_GetItemText($hListView, $ii,$jj) $iArr[$ii][$jj+1]=$aItem[4] Next Next _ArraySort( $iArr,'','','',$colN+1) For $ii=0 To $itN-1 _ArraySwap( $iArr[$ii][0], $iArr[$ii][$in] ) Next _ArraySort( $iArr,0,0,0,$colN+1) For $ii=0 To $itN-1 _ArraySwap( $iArr[$ii][0], $iArr[$ii][$in] ) Next _GUICtrlListView_DeleteAllItems($hListView) For $ii=0 To $itN-1 _GUICtrlListView_AddItem($hListView,$iArr[$ii][0],$iArr[$ii][2]) For $jj=1 To $colN-1 _GUICtrlListView_AddSubItem ($hListView, $ii,$iArr[$ii][$jj], $jj) Next Next EndFunc ;----------------------------------------------------------------------------------- Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView $hWndListView = $hListView If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView) $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $hWndListView Switch $iCode Case $LVN_COLUMNCLICK ; Клик по колонке $aHit = _GuiCtrlListView_SubItemHitTest ($hWndListView) LVSort($aHit[1]) Case $LVN_BEGINLABELEDIT Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam) Return False Case $LVN_ENDLABELEDIT Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam) Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text")) If StringLen(DllStructGetData($tBuffer, "Text")) Then Return True EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc Цитата Creat0R:
|
|
Отправлено: 14:00, 21-01-2008 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ | FOX RED | Защита компьютерных систем | 67 | 21-11-2007 15:05 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|