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

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

Ответить
Настройки темы
[решено] GUICtrlCreateListView - фиксированная длина колонок

Старожил


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


Конфигурация

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


Приветствую, возможно ли сделать фиксированную длину колонок, чтобы пользователь не мог раздвигать колонки?
Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>

$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $hListView

    GUICreate("ListView - Вставляет колонки", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

    ; Вставляет колонки
    _GUICtrlListView_InsertColumn($hListView, 0, "Колонка 1", 100)
    _GUICtrlListView_InsertColumn($hListView, 1, "Колонка 2", 100)
    _GUICtrlListView_InsertColumn($hListView, 2, "Колонка 3", 100)

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main

Отправлено: 19:21, 26-11-2018

 

Аватара для Creat0R

Must AutoIt


Moderator


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

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


Можно:

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

$hGUI = GUICreate('GUICtrlListView Example', 420, 240)

$hListView = GUICtrlCreateListView('Column1|Column2|Column3|Column4', 20, 20, 380, 200, $LVS_NOSORTHEADER)

GUICtrlCreateListViewItem('Item 1|SubItem 1_1|SubItem 1_2|SubItem 1_3', $hListView)
GUICtrlCreateListViewItem('Item 2|SubItem 2_1|SubItem 2_2|SubItem 2_3', $hListView)

_GUICtrlListView_SetColumnWidth($hListView, 0, 80)
_GUICtrlListView_SetColumnWidth($hListView, 1, 80)

GUISetState(@SW_SHOW, $hGUI)
GUIRegisterMsg($WM_NOTIFY, '__WM_NOTIFY')

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func __WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
    Local $stTagNMHDR = DllStructCreate('uint_ptr hWndFrom;uint_ptr iIDFrom;int iCode;uint_ptr iItem;uint_ptr iButton;ptr pitem', $lParam)
    If @error Then Return $GUI_RUNDEFMSG

    Local $iCode = DllStructGetData($stTagNMHDR, 'iCode')

    Switch $iCode
        Case $HDN_ITEMCHANGING, $HDN_ITEMCHANGINGW
            Return 1 ;Prevent draging the item
    EndSwitch

    Return $GUI_RUNDEFMSG
EndFunc

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

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

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

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community


Последний раз редактировалось Creat0R, 28-11-2018 в 12:28.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:11, 28-11-2018 | #2



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

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


Старожил


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

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


Creat0R, Понимаю что не по теме, но прежде чем создавать новую-возможно ли определенные колонки просто спрятать от глаз пользователя, но чтобы возможно было с них считывать информацию? Или лучше использовать ваш пример и _GUICtrlListView_HideColumn ?

Последний раз редактировалось -TRM-, 28-11-2018 в 14:01.


Отправлено: 13:55, 28-11-2018 | #3


Аватара для Creat0R

Must AutoIt


Moderator


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

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


Цитата -TRM-:
возможно ли определенные колонки просто спрятать от глаз пользователя, но чтобы возможно было с них считывать информацию? »
Возможно.

Цитата -TRM-:
Или лучше использовать ваш пример и _GUICtrlListView_HideColumn ? »
Или _GUICtrlListView_SetColumnWidth($hListView, 1, 0), это тоже самое.

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

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

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

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community


Отправлено: 22:53, 28-11-2018 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
GUICtrlCreateListView - отмена выделения -TRM- AutoIt 3 13-11-2018 02:19
GUICtrlCreateListView - убрать рамку -TRM- AutoIt 1 18-09-2018 11:43
Убрать гор. полосу прокрутки в GUICtrlCreateListView morgan1991 AutoIt 3 26-11-2010 04:38
[решено] Как получить индекс текущего элемента GUICtrlCreateListView malev AutoIt 5 20-10-2009 10:35
Debian/Ubuntu - Минимальная длина пароля El Scorpio Общий по Linux 3 17-04-2009 09:33




 
Переход