|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36560 |
Внимание! В связи с созданием отдельного форума по 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 |
|