[решено] GUICtrlCreateListView - фиксированная длина колонок

Ответить
Аватара пользователя
-TRM-

[решено] GUICtrlCreateListView - фиксированная длина колонок

Сообщение -TRM- »

Приветствую, возможно ли сделать фиксированную длину колонок, чтобы пользователь не мог раздвигать колонки?



Код:

Код: Выделить всё

#include 
#include 
$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
Аватара пользователя
Creat0R

Re: [решено] GUICtrlCreateListView - фиксированная длина колонок

Сообщение Creat0R »

Можно:





Код:

Код: Выделить всё

#include 
#include 
#include 
$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
Аватара пользователя
-TRM-

Re: [решено] GUICtrlCreateListView - фиксированная длина колонок

Сообщение -TRM- »

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

Re: [решено] GUICtrlCreateListView - фиксированная длина колонок

Сообщение Creat0R »

Цитата -TRM-:



возможно ли определенные колонки просто спрятать от глаз пользователя, но чтобы возможно было с них считывать информацию?
[решено] GUICtrlCreateListView - фиксированная длина колонок




Возможно.




Цитата -TRM-:



Или лучше использовать ваш пример и _GUICtrlListView_HideColumn ?
[решено] GUICtrlCreateListView - фиксированная длина колонок




Или _GUICtrlListView_SetColumnWidth($hListView, 1, 0), это тоже самое.
Ответить

Вернуться в «AutoIt»