Jump to content

Example script (look at screen)


Recommended Posts

I must make program when i can edit all items, subitems in listview etc.

I need save/load new values

I need insert new item with subitems between 2 - 3 or 4 - 5 but how in next step save new values

Please if someone know where is example script give me link... i can't find it, 3 days i am trying. I need all options and next i make it alone

Sory for my bad bad english =o

Edited by ZwinnyRolnik
Link to comment
Share on other sites

I make that

Posted Image

But i delete it and have only compile program now :idea:

I don't know how options like "new line '5' between line 5, 6 and all more then 6 lines have + 1

1

2

3

4

5 < there i'll make new line 5 then...

6 < now there is last 5 line...

7 < there last 6

8 < there last 7

9 < there last 8

"" < there last 9

I need one big example, i think there's on forum script who can help me...

again sorry for my bad english

Link to comment
Share on other sites

So It looks like you are working with excel.

Three days trying ? Crikey !

Did you find the excel udf ?

Ive never worked with excel but im certain the udf will have most if not all the functions you will need.

Use the advanced seach for "excel udf" and tick the box for search titles only.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

  • Moderators

ZwinnyRolnik,

I wrote a very basic version of an editable ListView a while ago. Take a look here and see if this is the sort of thing you are looking for. Note you have to delete a line before you can enter a new one - but that is only in this particular script. :idea:

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Melba23

It's great... first good example, really thank you :)

One more problem, how use WM_NOTIFY?

I want double click on item or subitem and then i can edit it... i find something but maybe u can give me more examples... if anyone write here i'll be realy thanks < bad english i know :idea: Thx again

Edited by ZwinnyRolnik
Link to comment
Share on other sites

  • Moderators

ZwinnyRolnik,

The example modified to react to double-clicks on the ListView via WM_NOTIFY :idea: :

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIListView.au3>
#include <Array.au3>

; Set double-click flag
$fDblClk = False

Global $aList_Array[1]
For $i = 1 To 20
    _ArrayAdd($aList_Array, $i & "-----" & $i & "-----" & $i)
    $aList_Array[0] += 1
Next

; Create dialog
Local $hList_Win = GUICreate("UP/Down ListView", 500, 500, Default, Default, BitOr($WS_POPUPWINDOW, $WS_CAPTION))
    GUISetBkColor(0xCECECE)

; Create list box with no col headers and permit only 1 selection
Local $hListView = GUICtrlCreateListView ("_", 10, 10, 480, 390, $LVS_NOCOLUMNHEADER + $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT )
; Get handle for LV
Global $hLV_Handle = GUICtrlGetHandle(-1)
; Set up alt line colouring
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE)
; Set col width
_GUICtrlListView_SetColumnWidth(-1, 0, $LVSCW_AUTOSIZE_USEHEADER)

; Create buttons
Local $hList_Add_Button    = GUICtrlCreateButton("Insert",  170, 410, 80, 30)
Local $hList_Delete_Button  = GUICtrlCreateButton("Delete", 170, 450, 80, 30)
Local $hList_Move_Up_Button   = GUICtrlCreateButton("Move Up",   270, 410, 80, 30)
Local $hList_Move_Down_Button = GUICtrlCreateButton("Move Down", 270, 450, 80, 30)
Local $hList_Cancel_Button  = GUICtrlCreateButton("Cancel", 370, 410, 80, 30)

; Fill listbox, list handles indexed on this dummy
Local $hStart_ID = GUICtrlCreateDummy()

; Fill listbox
; Add placeholders for the list items
    For $i = 1 To 20
        GUICtrlCreateListViewItem($aList_Array[$i], $hListView)
            GUICtrlSetBkColor(-1, 0xCCFFCC)
    Next

; Show dialog
GUISetState(@SW_SHOW, $hList_Win)

; register WM_NOTIFY
GUIRegisterMsg($WM_NOTIFY, "WM_ListView_DoubleClick")

While 1

    Local $aMsg = GUIGetMsg(1)

    If $aMsg[1] = $hList_Win Then

        Switch $aMsg[0]
            Case $GUI_EVENT_CLOSE, $hList_Cancel_Button
                Exit
            Case $hList_Add_Button
                List_Item_Insert($aList_Array, $hListView, $hStart_ID)
            Case $hList_Delete_Button
                List_Item_Delete($aList_Array, $hListView, $hStart_ID)
            Case $hList_Move_Up_Button
                List_Item_Up($aList_Array, $hListView, $hStart_ID)
            Case $hList_Move_Down_Button
                List_Item_Down($aList_Array, $hListView, $hStart_ID)
        EndSwitch

    EndIf

    ; Check if LV double-clicked
    If $fDblClk = True Then
        $fDblClk = False
        MsgBox(0, "Edit", "You double-clicked an item" & @CRLF & "All you need is the code to edit it here!")
    EndIf

Wend

Func List_Item_Insert(ByRef $aList_Array, $hListView, $hStart_ID)

; If list is full, return
If $aList_Array[0] = 20 Then Return

; If list is empty, add first value
If $aList_Array[0] = 0 Then
    $iList_Index = 0
Else
; Get value of listview selection via handle count
    $iList_Index = GUICtrlRead($hListView) - $hStart_ID
; If no selection or out of range assume add to end
    If $iList_Index < 0 Or $iList_Index > $aList_Array[0] Then $iList_Index = $aList_Array[0]
EndIf

; Add tracks to the Playlist
Local $sSelection = InputBox("", "Enter a a value")
If @error Then Return

; Insert in array
_ArrayInsert($aList_Array, $iList_Index + 1, $sSelection)
$aList_Array[0] += 1
; Rewrite list items
For $i = 1 To $aList_Array[0]
    GUICtrlSetData($hStart_ID + $i, $aList_Array[$i])
Next

; Set highlight to inserted item
GUICtrlSetState($hListView, $GUI_FOCUS)
_GUICtrlListView_SetItemSelected ($hListView, $iList_Index)
_GUICtrlListView_EnsureVisible ($hListView, $iList_Index)

EndFunc

; -------

Func List_Item_Delete(ByRef $aList_Array, $hListView, $hStart_ID)

; If list is empty, return
If $aList_Array[0] = 0 Then Return

; Get value of listview selection via handle count
$iList_Index = GUICtrlRead($hListView) - $hStart_ID
; If no selection or out of range
If $iList_Index < 1 Or $iList_Index > $aList_Array[0] Then Return

; Delete from array
_ArrayDelete($aList_Array, $iList_Index)
$aList_Array[0] -= 1

; Rewrite list items
For $i = 1 To $aList_Array[0]
    GUICtrlSetData($hStart_ID + $i, $aList_Array[$i])
Next
; Blank last line
GUICtrlSetData($hStart_ID + $i, "")

; Unselect all items to force selection before next action
_GUICtrlListView_SetItemSelected ($hListView, -1, False)

EndFunc

; -------

Func List_Item_Up(ByRef $aList_Array, $hListView, $hStart_ID)

If $aList_Array[0] < 2 Then Return

; Get value of listview selection via handle count
$iList_Index = GUICtrlRead($hListView) - $hStart_ID
; If already at top or no selection or out of range
If $iList_Index < 2 Or $iList_Index > $aList_Array[0] Then Return

; Swap array elements
_ArraySwap($aList_Array[$iList_Index],  $aList_Array[$iList_Index - 1])

; Rewrite list items
For $i = 1 To $aList_Array[0]
    GUICtrlSetData($hStart_ID + $i, $aList_Array[$i])
Next

; Unselect all items to force selection before next action
_GUICtrlListView_SetItemSelected ($hListView, -1, False)

EndFunc

; -------

Func List_Item_Down(ByRef $aList_Array, $hListView, $hStart_ID)

If $aList_Array[0] < 2 Then Return

; Get value of listview selection via handle count
$iList_Index = GUICtrlRead($hListView) - $hStart_ID
; If already at bottom or no selection or out of range
If $iList_Index < 1 Or $iList_Index > $aList_Array[0] - 1 Then Return

; Swap array elements
_ArraySwap($aList_Array[$iList_Index], $aList_Array[$iList_Index + 1])

; Rewrite list items
For $i = 1 To $aList_Array[0]
    GUICtrlSetData($hStart_ID + $i, $aList_Array[$i])
Next

; Unselect all items to force selection before next action
_GUICtrlListView_SetItemSelected ($hListView, -1, False)

EndFunc

; React to double clicks on recent ListView
Func WM_ListView_DoubleClick($hWnd, $iMsg, $wParam, $lParam)

    #forceref $hWnd, $iMsg, $wParam
    Local $tNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return
    If DllStructGetData($tNMHDR, 1) = $hLV_Handle Then
        If DllStructGetData($tNMHDR, 3) = $NM_DBLCLK Then $fDblClk = True
    EndIf
    $tNMHDR = 0
    Return $GUI_RUNDEFMSG

EndFunc   ;==>WM_ListView_DoubleClick

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Nice, thx but... for now i have that :idea:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <GuiTab.au3>
#include <GuiEdit.au3>
#include <Date.au3>
#include <File.au3>
#include <GUIListView.au3>
#include <WinAPI.au3>
#include <ListViewConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <Misc.au3>
#include <GUIScrollbars_Ex.au3>


Global $wartosc0_[100]
Global $wartosc1_[100]
Global $wartosc2_[100]
Global $wartosc3_[100]
Global $wartosc4_[100]
Global $wartosc5_[100]
Global $wartosc6_[100]
Global $wartosc7_[100]
Global $wartosc8_[100]
Global $wartosc9_[100]
Global $wartosc10_[100]
Global $wartosc11_[100]
Global $wartosc12_[100]

Global $item0_[100]
Global $item1_[100]
Global $item2_[100]
Global $item3_[100]
Global $item4_[100]


Global $dane_[100]
Local $hListView_[100]
Global $GUI
$wartosc0_[0] = ""
$wartosc0_[1] = "1"
$wartosc0_[2] = "2"
$wartosc0_[3] = "3"
$wartosc0_[4] = "4"
$wartosc0_[5] = "5"


$wartosc1_[0] = "A"
$wartosc1_[1] = "Koszty"
$wartosc1_[2] = "Bezpośrednie"
$wartosc1_[3] = "Zadanie nr 1 Zarządzanie Projektem"
$wartosc1_[4] = "Przygotowanie materiałów promocyjnych (projekt, druk) - plakaty informacyjne"
$wartosc1_[5] = "Przygotowanie materiałów promocyjnych (projekt,druk) - foldery informacyjne"


$wartosc2_[0] = "B"
$wartosc2_[1] = ""
$wartosc2_[2] = "PP"
$wartosc2_[3] = ""
$wartosc2_[4] = "1"
$wartosc2_[5] = "1"



$wartosc3_[0] = "C"
$wartosc3_[1] = ""
$wartosc3_[2] = "UZ"
$wartosc3_[3] = ""
$wartosc3_[4] = ""
$wartosc3_[5] = ""
start()

Func start()
$fDblClk = False

$GUI = GUICreate("Lista", 900, 700,"","",BitOr($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_MINIMIZEBOX))
$o = 1
For $i = 0 To 0
$hListView_[$o] = GUICtrlCreateListView("aaaaaaaaaaa", (40 * $o), 20, 40, 500,$LVS_NOSCROLL) ; normal createlist

_GUICtrlListView_SetExtendedListViewStyle($hListView_[$o], BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
_GUICtrlListView_SetColumnWidth(-1, 0, 1000) ; not working
Global $hLV_Handle = GUICtrlGetHandle(-1) ; not working
    For $j = 0 To 99
        $item0_[$j] = _GUICtrlListView_AddItem($hListView_[$o], ""&$wartosc0_[$j])

    Next
    

Next
$o = $o +1

For $i2 = 0 To 0
$hListView_[$o] = _GUICtrlListView_Create($GUI, "bbb", (40 * $o), 20, 40, 500,$LVS_NOSCROLL) ; another createlist
_GUICtrlListView_SetExtendedListViewStyle($hListView_[$o], BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
_GUICtrlListView_SetColumnWidth(-1, 0, $LVSCW_AUTOSIZE_USEHEADER) ; not working
    For $j2 = 0 To 99
        $item1_[$j2] = _GUICtrlListView_AddItem($hListView_[$o], ""&$wartosc1_[$j2])

    Next

Next
$o = $o +1

For $i3 = 0 To 0
$hListView_[$o] = _GUICtrlListView_Create($GUI, "ccc", (40 * $o), 20, 40, 500,$LVS_NOSCROLL)
_GUICtrlListView_SetExtendedListViewStyle($hListView_[$o], BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
_GUICtrlListView_SetColumnWidth(-1, 0, $LVSCW_AUTOSIZE_USEHEADER)
    For $j3 = 0 To 99
        $item2_[$j3] = _GUICtrlListView_AddItem($hListView_[$o], ""&$wartosc2_[$j3])

    Next

Next
$o = $o +1

For $i4 = 0 To 0
$hListView_[$o] = _GUICtrlListView_Create($GUI, "ddd", (40 * $o), 20, 40, 500,$LVS_NOSCROLL)
_GUICtrlListView_SetExtendedListViewStyle($hListView_[$o], BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
_GUICtrlListView_SetColumnWidth(-1, 0, $LVSCW_AUTOSIZE_USEHEADER)
    For $j4 = 0 To 99
        $item3_[$j4] = _GUICtrlListView_AddItem($hListView_[$o], ""&$wartosc3_[$j4])

    Next

Next




_GUIScrollbars_Generate($GUI, 10000, 10000)

    GUISetState()

GUIRegisterMsg($WM_NOTIFY, "WM_ListView_DoubleClick")

Do
    
     If $fDblClk = True Then
        $fDblClk = False
        MsgBox(0, "Edit", "You double-clicked an item" & @CRLF & "All you need is the code to edit it here!")
    EndIf
    
    
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc



Func WM_ListView_DoubleClick($hWnd, $iMsg, $wParam, $lParam)

    #forceref $hWnd, $iMsg, $wParam
    Local $tNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return
    If DllStructGetData($tNMHDR, 1) = $hLV_Handle Then
        If DllStructGetData($tNMHDR, 3) = $NM_DBLCLK Then $fDblClk = True
    EndIf
    $tNMHDR = 0
    Return $GUI_RUNDEFMSG

EndFunc   ;==>WM_ListView_DoubleClick

Pls help me with ";not working"

And what i need do for autosize width and height all items?

Edited by ZwinnyRolnik
Link to comment
Share on other sites

  • Moderators

ZwinnyRolnik,

Are you trying to create a new ListView for each column? Do you realise that you can have multiple columns in a List View? :)

Take a look at this: :idea:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiListView.au3>

Global $fDblClk = False, $iItem, $iSubItem

Global $wartosc[12][100]

For $i = 0 To 99
    $wartosc[0][$i] = $i
Next

$wartosc[1][0] = "A"
$wartosc[1][1] = "Koszty"
$wartosc[1][2] = "Bezposrednie"
$wartosc[1][3] = "Zadanie nr 1 Zarzadzanie Projektem"
$wartosc[1][4] = "Przygotowanie materialów promocyjnych (projekt, druk) - plakaty informacyjne"
$wartosc[1][5] = "Przygotowanie materialów promocyjnych (projekt,druk) - foldery informacyjne"

$wartosc[2][0] = "B"
$wartosc[2][1] = ""
$wartosc[2][2] = "PP"
$wartosc[2][3] = ""
$wartosc[2][4] = "1"
$wartosc[2][5] = "1"

$wartosc[3][0] = "C"
$wartosc[3][1] = ""
$wartosc[3][2] = "UZ"
$wartosc[3][3] = ""
$wartosc[3][4] = ""
$wartosc[3][5] = ""

$hGUI = GUICreate("Test", 900, 700)

; Create ListView
$hListView = _GUICtrlListView_Create($hGUI, "", 10, 10, 880, 650)

; Add the 12 columns
For $i = 0 To 11
    ConsoleWrite(_GUICtrlListView_AddColumn($hListView, $wartosc[$i][0]) & @CRLF)
    _GUICtrlListView_SetColumnWidth($hListView, $i, 71)
Next

For $i = 1 To 99
    $iIndex = _GUICtrlListView_AddItem($hListView, $wartosc[0][$i])
    For $j = 1 To 11
        _GUICtrlListView_AddSubItem($hListView, $i - 1, $wartosc[$j][$i], $j)
    Next
Next

GUISetState()

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1

    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch

    If $fDblClk = True Then
        $fDblClk = False
        MsgBox(0, "Edit", "You double-clicked Item " & $iItem & " SubItem " & $iSubItem & @CRLF & @CRLF & _
            "All you need is the code to edit it here!" & @CRLF & "Over to you!")
    EndIf

WEnd

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hListView
            Switch $iCode
                Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iItem = DllStructGetData($tInfo, "Index")
                    $iSubItem = DllStructGetData($tInfo, "SubItem")
                    $fDblClk = True
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Developers

WoooooooooooooooooooooooW! U are rly superman ;O Can u help me next time if i'll have a problem?

Now i can do more :idea: I am write next time :)

"It's A Bird... It's A Plane... It's Super Melba23"

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Moderators

Jos,

:idea:

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

It's my script for now and your ofc :idea: But why when i am clicking on place B5 or D8 etc item is always "-1" ? Subitem is fine.

Ah and item it's fine too in first colums where is 1,2,3,4,5....

Ah and maybe u know too how make blue screen everywhere when i click on item,subitem...

it's work on column 1 where is 1,2,3

sorry for my english :)

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiListView.au3>

Global $fDblClk = False, $iItem, $iSubItem

Global $wartosc[12][100]

; 1 column
For $i = 1 To 99
    $wartosc[0][$i] = $i
Next


; 2 column
$wartosc[1][0] = "A"
$wartosc[1][1] = "Koszty"
$wartosc[1][2] = "Bezposrednie"
$wartosc[1][3] = "Zadanie nr 1 Zarzadzanie Projektem"
$wartosc[1][4] = "Przygotowanie materialów promocyjnych (projekt, druk) - plakaty informacyjne"
$wartosc[1][5] = "Przygotowanie materialów promocyjnych (projekt,druk) - foldery informacyjne"
$wartosc[1][6] = "Wykonanie strony internetowej projektu"
$wartosc[1][7] = "Zakup materiałów promocyjnych - ramy na plakaty"
$wartosc[1][8] = "Wynagrodzenie administratora strony www projektu (os. samozatrudniona)e"
$wartosc[1][9] = "Wynagrodzenie specjalistów ds. rekrutacji (osoby samozatrudnione); 3 dni/rekrutację x 32 rekrutacje"
$wartosc[1][10] = "Koszty podróży specjalistów ds. rekrutacji; 32 rekrutacje"
$wartosc[1][11] = "Noclegi specjalistów ds. rekrutacji; 3noclegów/rekrutację x 32 rekrutacje"
$wartosc[1][12] = "Wykonanaie nakelejek na segregatory"
$wartosc[1][13] = "Zakup materiałów promocyjnych - roll-up'y"
$wartosc[1][14] = "Wyżywienie specjalistów ds. rekrutacji; 3 dni/rekrutację x 32 rekrutacje"
$wartosc[1][15] = "Wynagrodzenie kierownika projektu (osoba samozatrudniona)"
$wartosc[1][16] = "Wynagrodzenie specjalisty ds. formalnych (umowa zlecenie)"
$wartosc[1][17] = "Wynagrodzenie specjalisty ds. organizacji (os.samozatrudniona)"
$wartosc[1][18] = "Koszty podróży specjalisty ds. organizacyjnych; 1 wizyta/województwo x 16 województw"
$wartosc[1][19] = "Noclegi specjalisty ds. organizacyjnych; 1 nocleg/wizytę x 16 wizyt"
$wartosc[1][20] = "Wyżywienie specjalisty ds. organizacyjnych; 1 dzień/wizytę x 16 wizyt"
$wartosc[1][21] = "Koszty 2 rachunków bankowych (dofinansowania i wkłądu prywatnego)"
$wartosc[1][22] = "Audyt projektu"
$wartosc[1][23] = "Zadanie nr 2 Realizacja szkoleń - Menedżerowie sieci"
$wartosc[1][24] = "Zakup usług szkoleniowych - Centrala; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][25] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][26] = "Noclegi opiekunów szkoleń; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][27] = "Wyżywienie opiekunów szkoleń; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][28] = "Przewóz uczestników i opiekuna szkoleń; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][29] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][30] = "Wyżywienie uczestników szkoleń; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa x 10 osób/grupę"
$wartosc[1][31] = "Noclegi uczestników szkoleń; 1 nocleg/zjazd x 3 zjazdy/grupę x 1 grupa x 10 osób/grupę"
$wartosc[1][32] = "Zadanie nr 3 Realizacja szkoleń - Trenerzy wewnętrzni"
$wartosc[1][33] = "Zakup usług szkoleniowych - warsztaty trenerskie; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][34] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][35] = "Noclegi opiekunów szkoleń; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][36] = "Wyżywienie opiekunów szkoleń; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][37] = "Przewóz uczestników i opiekuna szkoleń; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][38] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][39] = "Wyżywienie uczestników szkoleń; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa x 6 osób/grupę"
$wartosc[1][40] = "Noclegi uczestników szkoleń; 1 nocleg/zjazd x 3 zjazdy/grupę x 1 grupa x 6 osób/grupę"
$wartosc[1][41] = "Zadanie nr 4 Realizacja szkoleń - Menedżerowie sprzedaży"
$wartosc[1][42] = "Zakup usług szkoleniowych - menedżerowi sprzedaży; 8 dni/grupę x 32 grupy"
$wartosc[1][43] = "Wynagrodzenie uczestników szkolenia - pracowników delegowanych do udziału w szkoleniu; 68,79zł/dzień x 8dni/osobę x 220 osób"
$wartosc[1][44] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 8 dni/grupę x 32 grupy"
$wartosc[1][45] = "Koszty podróży opiekunów szkoleń; 1 wizyta/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][46] = "Noclegi opiekunów szkoleń; 1 nocleg/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][47] = "Wyżywienie opiekunów szkoleń; 1 dzień/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][48] = "Koszt wynajmu sal szkoleniowych; 1 dzień/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][49] = "Wyżywienie uczestników szkoleń; 8dni/grupę x 32 grupy x 10 osób/grupę"
$wartosc[1][50] = "Zadanie nr 5  Ewaluacja"
$wartosc[1][51] = "Zakup usług w zakresie ewaluacji (opracowanie koncepcji ewaluacji i narzędzi badawczych)"
$wartosc[1][52] = "Zakup usług w zakresie ewaluacji (realizacja badań terenowych - tajemniczy klient)"
$wartosc[1][53] = "Zakup usług w zakresie ewaluacji (opracowanie i prezentacja wyników ewaluacji)"



; 3 column
$wartosc[2][0] = "B"
$wartosc[2][1] = ""
$wartosc[2][2] = "PP"
$wartosc[2][3] = ""
For $i = 4 To 99
    $wartosc[2][$i] = "1"
Next
$wartosc[2][23] = ""
$wartosc[2][32] = ""
$wartosc[2][41] = ""


; 4 column
$wartosc[3][0] = "C"
$wartosc[3][1] = ""
$wartosc[3][2] = "UZ"
For $i = 3 To 99
    $wartosc[3][$i] = ""
Next


; 5 column
$wartosc[4][0] = "D"
$wartosc[4][1] = ""
$wartosc[4][2] = "L/P"
$wartosc[4][3] = ""
For $i = 4 To 99
    $wartosc[4][$i] = "L"
Next
$wartosc[4][23] = ""
$wartosc[4][32] = ""
$wartosc[4][41] = ""





















$hGUI = GUICreate("Test", 900, 700)

; Create ListView
$hListView = _GUICtrlListView_Create($hGUI, "", 10, 10, 880, 650)

; Add the 12 columns
For $i = 0 To 11
    ConsoleWrite(_GUICtrlListView_AddColumn($hListView, $wartosc[$i][0]) & @CRLF)
    _GUICtrlListView_SetColumnWidth($hListView, $i, 100)
Next

For $i = 1 To 99
    $iIndex = _GUICtrlListView_AddItem($hListView, $wartosc[0][$i])
    For $j = 1 To 11
     _GUICtrlListView_AddSubItem($hListView, $i - 1, $wartosc[$j][$i], $j)
    Next
Next

GUISetState()

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1

    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch

    If $fDblClk = True Then
        $fDblClk = False
        
        $iItem = $iItem + 1 - 1 ; there new... i do normall
        
        MsgBox(0, "Edit", "You double-clicked Item " & $iItem & " SubItem " & $iSubItem & @CRLF & @CRLF & _
            "All you need is the code to edit it here!" & @CRLF & "Over to you!")
    EndIf

WEnd

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hListView
            Switch $iCode
                Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iItem = DllStructGetData($tInfo, "Index")
                    $iSubItem = DllStructGetData($tInfo, "SubItem")
                    $fDblClk = True
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY
Link to comment
Share on other sites

  • Moderators

ZwinnyRolnik,

Sorry, I had forgotten to set the FULLROWSELECT extended style. Put this in your script and you should get the correct line number: :idea:

$hGUI = GUICreate("Test", 900, 700)

; Create ListView
$hListView = _GUICtrlListView_Create($hGUI, "", 10, 10, 880, 650)
_GUICtrlListView_SetExtendedListViewStyle($hListView, $LVS_EX_FULLROWSELECT)

; Add the 12 columns
For $i = 0 To 11
    ConsoleWrite(_GUICtrlListView_AddColumn($hListView, $wartosc[$i][0]) & @CRLF)
    _GUICtrlListView_SetColumnWidth($hListView, $i, 100)
Next

For $i = 1 To 99
    $iIndex = _GUICtrlListView_AddItem($hListView, $wartosc[0][$i])
    For $j = 1 To 11
     _GUICtrlListView_AddSubItem($hListView, $i - 1, $wartosc[$j][$i], $j)
    Next
Next

GUISetState()

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1

    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch

    If $fDblClk = True Then
        $fDblClk = False

        MsgBox(0, "Edit", "You double-clicked Item " & _GUICtrlListView_GetHotItem($hListView) + 1 & " SubItem " & $iSubItem & @CRLF & @CRLF & _
            "All you need is the code to edit it here!" & @CRLF & "Over to you!")
    EndIf

WEnd

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hListView
            Switch $iCode
                Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iSubItem = DllStructGetData($tInfo, "SubItem")
                    $fDblClk = True
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

ListViews are tricky little things if you have not already realised! :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Thx for Your help, You are great :idea: For now i have this script:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiListView.au3>

Global $fDblClk = False, $iItem, $iSubItem

Global $wartosc[12][100]

; 1 column
For $i = 1 To 99
    $wartosc[0][$i] = $i
Next


; 2 column
$wartosc[1][0] = "A"
$wartosc[1][1] = "Koszty"
$wartosc[1][2] = "Bezposrednie"
$wartosc[1][3] = "Zadanie nr 1 Zarzadzanie Projektem"
$wartosc[1][4] = "Przygotowanie materialów promocyjnych (projekt, druk) - plakaty informacyjne"
$wartosc[1][5] = "Przygotowanie materialów promocyjnych (projekt,druk) - foldery informacyjne"
$wartosc[1][6] = "Wykonanie strony internetowej projektu"
$wartosc[1][7] = "Zakup materiałów promocyjnych - ramy na plakaty"
$wartosc[1][8] = "Wynagrodzenie administratora strony www projektu (os. samozatrudniona)e"
$wartosc[1][9] = "Wynagrodzenie specjalistów ds. rekrutacji (osoby samozatrudnione); 3 dni/rekrutację x 32 rekrutacje"
$wartosc[1][10] = "Koszty podróży specjalistów ds. rekrutacji; 32 rekrutacje"
$wartosc[1][11] = "Noclegi specjalistów ds. rekrutacji; 3noclegów/rekrutację x 32 rekrutacje"
$wartosc[1][12] = "Wykonanaie nakelejek na segregatory"
$wartosc[1][13] = "Zakup materiałów promocyjnych - roll-up'y"
$wartosc[1][14] = "Wyżywienie specjalistów ds. rekrutacji; 3 dni/rekrutację x 32 rekrutacje"
$wartosc[1][15] = "Wynagrodzenie kierownika projektu (osoba samozatrudniona)"
$wartosc[1][16] = "Wynagrodzenie specjalisty ds. formalnych (umowa zlecenie)"
$wartosc[1][17] = "Wynagrodzenie specjalisty ds. organizacji (os.samozatrudniona)"
$wartosc[1][18] = "Koszty podróży specjalisty ds. organizacyjnych; 1 wizyta/województwo x 16 województw"
$wartosc[1][19] = "Noclegi specjalisty ds. organizacyjnych; 1 nocleg/wizytę x 16 wizyt"
$wartosc[1][20] = "Wyżywienie specjalisty ds. organizacyjnych; 1 dzień/wizytę x 16 wizyt"
$wartosc[1][21] = "Koszty 2 rachunków bankowych (dofinansowania i wkłądu prywatnego)"
$wartosc[1][22] = "Audyt projektu"
$wartosc[1][23] = "Zadanie nr 2 Realizacja szkoleń - Menedżerowie sieci"
$wartosc[1][24] = "Zakup usług szkoleniowych - Centrala; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][25] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][26] = "Noclegi opiekunów szkoleń; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][27] = "Wyżywienie opiekunów szkoleń; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][28] = "Przewóz uczestników i opiekuna szkoleń; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][29] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][30] = "Wyżywienie uczestników szkoleń; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa x 10 osób/grupę"
$wartosc[1][31] = "Noclegi uczestników szkoleń; 1 nocleg/zjazd x 3 zjazdy/grupę x 1 grupa x 10 osób/grupę"
$wartosc[1][32] = "Zadanie nr 3 Realizacja szkoleń - Trenerzy wewnętrzni"
$wartosc[1][33] = "Zakup usług szkoleniowych - warsztaty trenerskie; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][34] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][35] = "Noclegi opiekunów szkoleń; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][36] = "Wyżywienie opiekunów szkoleń; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][37] = "Przewóz uczestników i opiekuna szkoleń; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][38] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][39] = "Wyżywienie uczestników szkoleń; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa x 6 osób/grupę"
$wartosc[1][40] = "Noclegi uczestników szkoleń; 1 nocleg/zjazd x 3 zjazdy/grupę x 1 grupa x 6 osób/grupę"
$wartosc[1][41] = "Zadanie nr 4 Realizacja szkoleń - Menedżerowie sprzedaży"
$wartosc[1][42] = "Zakup usług szkoleniowych - menedżerowi sprzedaży; 8 dni/grupę x 32 grupy"
$wartosc[1][43] = "Wynagrodzenie uczestników szkolenia - pracowników delegowanych do udziału w szkoleniu; 68,79zł/dzień x 8dni/osobę x 220 osób"
$wartosc[1][44] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 8 dni/grupę x 32 grupy"
$wartosc[1][45] = "Koszty podróży opiekunów szkoleń; 1 wizyta/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][46] = "Noclegi opiekunów szkoleń; 1 nocleg/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][47] = "Wyżywienie opiekunów szkoleń; 1 dzień/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][48] = "Koszt wynajmu sal szkoleniowych; 1 dzień/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][49] = "Wyżywienie uczestników szkoleń; 8dni/grupę x 32 grupy x 10 osób/grupę"
$wartosc[1][50] = "Zadanie nr 5  Ewaluacja"
$wartosc[1][51] = "Zakup usług w zakresie ewaluacji (opracowanie koncepcji ewaluacji i narzędzi badawczych)"
$wartosc[1][52] = "Zakup usług w zakresie ewaluacji (realizacja badań terenowych - tajemniczy klient)"
$wartosc[1][53] = "Zakup usług w zakresie ewaluacji (opracowanie i prezentacja wyników ewaluacji)"



; 3 column
$wartosc[2][0] = "B"
$wartosc[2][1] = ""
$wartosc[2][2] = "PP"
$wartosc[2][3] = ""
For $i = 4 To 99
    $wartosc[2][$i] = "1"
Next
$wartosc[2][23] = ""
$wartosc[2][32] = ""
$wartosc[2][41] = ""


; 4 column
$wartosc[3][0] = "C"
$wartosc[3][1] = ""
$wartosc[3][2] = "UZ"
For $i = 3 To 99
    $wartosc[3][$i] = ""
Next


; 5 column
$wartosc[4][0] = "D"
$wartosc[4][1] = ""
$wartosc[4][2] = "L/P"
$wartosc[4][3] = ""
For $i = 4 To 99
    $wartosc[4][$i] = "L"
Next
$wartosc[4][23] = ""
$wartosc[4][32] = ""
$wartosc[4][41] = ""



; 6 column
$wartosc[5][0] = "E"
$wartosc[5][1] = ""
$wartosc[5][2] = "C/F"
For $i = 3 To 99
    $wartosc[5][$i] = ""
Next



; 7 column
$wartosc[6][0] = "F"
$wartosc[6][1] = ""
$wartosc[6][2] = "j.m"
$wartosc[6][3] = ""
$wartosc[6][4] = "sztuka"
$wartosc[6][5] = "sztuka"
$wartosc[6][6] = "usługa"
$wartosc[6][7] = "sztuka"
$wartosc[6][8] = "miesiąc"
$wartosc[6][9] = "dzień"
$wartosc[6][10] = "rekrutacja"
$wartosc[6][11] = "nocleg"
$wartosc[6][12] = "komplet"
$wartosc[6][13] = "sztuka"
$wartosc[6][14] = "dzień"
$wartosc[6][15] = "miesiąc"
$wartosc[6][16] = "miesiąc"
$wartosc[6][17] = "miesiąc"
$wartosc[6][18] = "wyjazd"
$wartosc[6][19] = "nocleg"
$wartosc[6][20] = "dzień"
$wartosc[6][21] = "miesiąc"
$wartosc[6][22] = "usługa"
$wartosc[6][23] = ""
$wartosc[6][24] = "dzień"
$wartosc[6][25] = "dzień"
$wartosc[6][26] = "nocleg"
$wartosc[6][27] = "dzień"
$wartosc[6][28] = "przewóz"
$wartosc[6][29] = "dzień"
$wartosc[6][30] = "osobodzień"
$wartosc[6][31] = "osobonocleg"
$wartosc[6][32] = ""
$wartosc[6][33] = "dzień"
$wartosc[6][34] = "dzień"
$wartosc[6][35] = "nocleg"
$wartosc[6][36] = "dzień"
$wartosc[6][37] = "przewóz"
$wartosc[6][38] = "dzień"
$wartosc[6][39] = "osobodzień"
$wartosc[6][40] = "osobodzień"
$wartosc[6][41] = ""
$wartosc[6][42] = "dzień"
$wartosc[6][43] = "osobodzień"
$wartosc[6][44] = "dzień"
$wartosc[6][45] = "wizyta"
$wartosc[6][46] = "nocleg"
$wartosc[6][47] = "dzień"
$wartosc[6][48] = "osobodzień"
$wartosc[6][49] = "osobodzień"
$wartosc[6][50] = "usługa"
$wartosc[6][51] = "usługa"
$wartosc[6][52] = "usługa"
$wartosc[6][53] = "usługa"


; 8 column
$wartosc[4][0] = "D"
$wartosc[4][1] = ""
$wartosc[4][2] = "L/P"
$wartosc[4][3] = ""
For $i = 4 To 99
    $wartosc[4][$i] = "L"
Next
$wartosc[4][23] = ""
$wartosc[4][32] = ""
$wartosc[4][41] = ""




















$hGUI = GUICreate("Test", 900, 700)

; Create ListView
$hListView = _GUICtrlListView_Create($hGUI, "", 10, 10, 880, 650)
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_FULLROWSELECT,$LVS_EX_GRIDLINES, $LVS_NOLABELWRAP))
; Add the 12 columns
For $i = 0 To 11
    ConsoleWrite(_GUICtrlListView_AddColumn($hListView, $wartosc[$i][0]) & @CRLF)
    _GUICtrlListView_SetColumnWidth($hListView, $i, 100)
Next


For $i = 1 To 99
    $iIndex = _GUICtrlListView_AddItem($hListView, $wartosc[0][$i])
    For $j = 1 To 11
     _GUICtrlListView_AddSubItem($hListView, $i - 1, $wartosc[$j][$i], $j)
    Next
Next

GUISetState()

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1

    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
        MsgBox(0,"e","e")
            Exit
    EndSwitch

    If $fDblClk = True Then
        $fDblClk = False
        
        
        MsgBox(0, "Edit", "You double-clicked Item " & _GUICtrlListView_GetHotItem($hListView) + 1 & " SubItem " & $iSubItem & @CRLF & @CRLF & _
            "All you need is the code to edit it here!" & @CRLF & "Over to you!")
            
            $hGUI2 = GUICreate("Changes", 320, 150)
            Local $input = GUICtrlCreateInput(_GUICtrlListView_GetItemText($hListView, _GUICtrlListView_GetHotItem($hListView), $iSubItem), 10, 120, 200, 20)
            Local $exit = GUICtrlCreateButton("Exit", 245, 45, 60, 40)
            Local $new = GUICtrlCreateButton("Change", 170, 45, 60, 40)
            Local $input1 = GUICtrlRead($input)
        
            
                GUISetState()
            While 1

                Switch GUIGetMsg()
                Case $exit

                    GUIDelete()
                    ExitLoop
                Case $new
                    _GUICtrlListView_SetItemText($hListView, _GUICtrlListView_GetHotItem($hListView), $input1, $iSubItem)
                    GUIDelete()
                    ExitLoop
                EndSwitch
            WEnd
    EndIf

WEnd











Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hListView
            Switch $iCode
                Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                 
                    $iSubItem = DllStructGetData($tInfo, "SubItem")
                    $fDblClk = True
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

I don't know why it's not working and i am trying too write in my script Your autosize script from here... could You help me if You have time? Pls

edit: autosize is imposible do it like here: (space not working then i use "-")

---A------------------------------B------------------------------C

1--zxczxczxcxzczxcz---asdsadsadasdas

---xzczxczxczczxczx---adasdasdasds

---cxzczxzczx.

2--xxxxxxxxxxxxxxxx

---xczxczxc

3

...

4...

not like here

---A-------------------------------------------------------------------B----------------------------------------C

1--sdasdasdsadsadsadsadasdasdasdasdasdasdsa--sadsadadass--------------------asdasd

2--aasdsadsadsa--------------------------------------------------csadsadsadsadsadsadsads--sdasda

Edited by ZwinnyRolnik
Link to comment
Share on other sites

Sorry for multi... i do it now like that:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiListView.au3>

Global $fDblClk = False, $iItem, $iSubItem

Global $wartosc[12][100]

; 1 column
For $i = 1 To 99
    $wartosc[0][$i] = $i
Next


; 2 column
$wartosc[1][0] = "A"
$wartosc[1][1] = "Koszty"
$wartosc[1][2] = "Bezposrednie"
$wartosc[1][3] = "Zadanie nr 1 Zarzadzanie Projektem"
$wartosc[1][4] = "Przygotowanie materialów promocyjnych (projekt, druk) - plakaty informacyjne"
$wartosc[1][5] = "Przygotowanie materialów promocyjnych (projekt,druk) - foldery informacyjne"
$wartosc[1][6] = "Wykonanie strony internetowej projektu"
$wartosc[1][7] = "Zakup materiałów promocyjnych - ramy na plakaty"
$wartosc[1][8] = "Wynagrodzenie administratora strony www projektu (os. samozatrudniona)e"
$wartosc[1][9] = "Wynagrodzenie specjalistów ds. rekrutacji (osoby samozatrudnione); 3 dni/rekrutację x 32 rekrutacje"
$wartosc[1][10] = "Koszty podróży specjalistów ds. rekrutacji; 32 rekrutacje"
$wartosc[1][11] = "Noclegi specjalistów ds. rekrutacji; 3noclegów/rekrutację x 32 rekrutacje"
$wartosc[1][12] = "Wykonanaie nakelejek na segregatory"
$wartosc[1][13] = "Zakup materiałów promocyjnych - roll-up'y"
$wartosc[1][14] = "Wyżywienie specjalistów ds. rekrutacji; 3 dni/rekrutację x 32 rekrutacje"
$wartosc[1][15] = "Wynagrodzenie kierownika projektu (osoba samozatrudniona)"
$wartosc[1][16] = "Wynagrodzenie specjalisty ds. formalnych (umowa zlecenie)"
$wartosc[1][17] = "Wynagrodzenie specjalisty ds. organizacji (os.samozatrudniona)"
$wartosc[1][18] = "Koszty podróży specjalisty ds. organizacyjnych; 1 wizyta/województwo x 16 województw"
$wartosc[1][19] = "Noclegi specjalisty ds. organizacyjnych; 1 nocleg/wizytę x 16 wizyt"
$wartosc[1][20] = "Wyżywienie specjalisty ds. organizacyjnych; 1 dzień/wizytę x 16 wizyt"
$wartosc[1][21] = "Koszty 2 rachunków bankowych (dofinansowania i wkłądu prywatnego)"
$wartosc[1][22] = "Audyt projektu"
$wartosc[1][23] = "Zadanie nr 2 Realizacja szkoleń - Menedżerowie sieci"
$wartosc[1][24] = "Zakup usług szkoleniowych - Centrala; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][25] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][26] = "Noclegi opiekunów szkoleń; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][27] = "Wyżywienie opiekunów szkoleń; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][28] = "Przewóz uczestników i opiekuna szkoleń; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][29] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][30] = "Wyżywienie uczestników szkoleń; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa x 10 osób/grupę"
$wartosc[1][31] = "Noclegi uczestników szkoleń; 1 nocleg/zjazd x 3 zjazdy/grupę x 1 grupa x 10 osób/grupę"
$wartosc[1][32] = "Zadanie nr 3 Realizacja szkoleń - Trenerzy wewnętrzni"
$wartosc[1][33] = "Zakup usług szkoleniowych - warsztaty trenerskie; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][34] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][35] = "Noclegi opiekunów szkoleń; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][36] = "Wyżywienie opiekunów szkoleń; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][37] = "Przewóz uczestników i opiekuna szkoleń; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][38] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][39] = "Wyżywienie uczestników szkoleń; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa x 6 osób/grupę"
$wartosc[1][40] = "Noclegi uczestników szkoleń; 1 nocleg/zjazd x 3 zjazdy/grupę x 1 grupa x 6 osób/grupę"
$wartosc[1][41] = "Zadanie nr 4 Realizacja szkoleń - Menedżerowie sprzedaży"
$wartosc[1][42] = "Zakup usług szkoleniowych - menedżerowi sprzedaży; 8 dni/grupę x 32 grupy"
$wartosc[1][43] = "Wynagrodzenie uczestników szkolenia - pracowników delegowanych do udziału w szkoleniu; 68,79zł/dzień x 8dni/osobę x 220 osób"
$wartosc[1][44] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 8 dni/grupę x 32 grupy"
$wartosc[1][45] = "Koszty podróży opiekunów szkoleń; 1 wizyta/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][46] = "Noclegi opiekunów szkoleń; 1 nocleg/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][47] = "Wyżywienie opiekunów szkoleń; 1 dzień/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][48] = "Koszt wynajmu sal szkoleniowych; 1 dzień/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][49] = "Wyżywienie uczestników szkoleń; 8dni/grupę x 32 grupy x 10 osób/grupę"
$wartosc[1][50] = "Zadanie nr 5  Ewaluacja"
$wartosc[1][51] = "Zakup usług w zakresie ewaluacji (opracowanie koncepcji ewaluacji i narzędzi badawczych)"
$wartosc[1][52] = "Zakup usług w zakresie ewaluacji (realizacja badań terenowych - tajemniczy klient)"
$wartosc[1][53] = "Zakup usług w zakresie ewaluacji (opracowanie i prezentacja wyników ewaluacji)"



; 3 column
$wartosc[2][0] = "B"
$wartosc[2][1] = ""
$wartosc[2][2] = "PP"
$wartosc[2][3] = ""
For $i = 4 To 99
    $wartosc[2][$i] = "1"
Next
$wartosc[2][23] = ""
$wartosc[2][32] = ""
$wartosc[2][41] = ""


; 4 column
$wartosc[3][0] = "C"
$wartosc[3][1] = ""
$wartosc[3][2] = "UZ"
For $i = 3 To 99
    $wartosc[3][$i] = ""
Next


; 5 column
$wartosc[4][0] = "D"
$wartosc[4][1] = ""
$wartosc[4][2] = "L/P"
$wartosc[4][3] = ""
For $i = 4 To 99
    $wartosc[4][$i] = "L"
Next
$wartosc[4][23] = ""
$wartosc[4][32] = ""
$wartosc[4][41] = ""



; 6 column
$wartosc[5][0] = "E"
$wartosc[5][1] = ""
$wartosc[5][2] = "C/F"
For $i = 3 To 99
    $wartosc[5][$i] = ""
Next



; 7 column
$wartosc[6][0] = "F"
$wartosc[6][1] = ""
$wartosc[6][2] = "j.m"
$wartosc[6][3] = ""
$wartosc[6][4] = "sztuka"
$wartosc[6][5] = "sztuka"
$wartosc[6][6] = "usługa"
$wartosc[6][7] = "sztuka"
$wartosc[6][8] = "miesiąc"
$wartosc[6][9] = "dzień"
$wartosc[6][10] = "rekrutacja"
$wartosc[6][11] = "nocleg"
$wartosc[6][12] = "komplet"
$wartosc[6][13] = "sztuka"
$wartosc[6][14] = "dzień"
$wartosc[6][15] = "miesiąc"
$wartosc[6][16] = "miesiąc"
$wartosc[6][17] = "miesiąc"
$wartosc[6][18] = "wyjazd"
$wartosc[6][19] = "nocleg"
$wartosc[6][20] = "dzień"
$wartosc[6][21] = "miesiąc"
$wartosc[6][22] = "usługa"
$wartosc[6][23] = ""
$wartosc[6][24] = "dzień"
$wartosc[6][25] = "dzień"
$wartosc[6][26] = "nocleg"
$wartosc[6][27] = "dzień"
$wartosc[6][28] = "przewóz"
$wartosc[6][29] = "dzień"
$wartosc[6][30] = "osobodzień"
$wartosc[6][31] = "osobonocleg"
$wartosc[6][32] = ""
$wartosc[6][33] = "dzień"
$wartosc[6][34] = "dzień"
$wartosc[6][35] = "nocleg"
$wartosc[6][36] = "dzień"
$wartosc[6][37] = "przewóz"
$wartosc[6][38] = "dzień"
$wartosc[6][39] = "osobodzień"
$wartosc[6][40] = "osobodzień"
$wartosc[6][41] = ""
$wartosc[6][42] = "dzień"
$wartosc[6][43] = "osobodzień"
$wartosc[6][44] = "dzień"
$wartosc[6][45] = "wizyta"
$wartosc[6][46] = "nocleg"
$wartosc[6][47] = "dzień"
$wartosc[6][48] = "osobodzień"
$wartosc[6][49] = "osobodzień"
$wartosc[6][50] = "usługa"
$wartosc[6][51] = "usługa"
$wartosc[6][52] = "usługa"
$wartosc[6][53] = "usługa"


; 8 column
$wartosc[4][0] = "D"
$wartosc[4][1] = ""
$wartosc[4][2] = "L/P"
$wartosc[4][3] = ""
For $i = 4 To 99
    $wartosc[4][$i] = "L"
Next
$wartosc[4][23] = ""
$wartosc[4][32] = ""
$wartosc[4][41] = ""




















$hGUI = GUICreate("Test", 900, 700)

; Create ListView
$hListView = _GUICtrlListView_Create($hGUI, "", 10, 10, 880, 650)
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_FULLROWSELECT,$LVS_EX_GRIDLINES, $LVS_NOLABELWRAP))
; Add the 12 columns
For $i = 0 To 11
    ConsoleWrite(_GUICtrlListView_AddColumn($hListView, $wartosc[$i][0]) & @CRLF)
    _GUICtrlListView_SetColumnWidth($hListView, $i, 100)
Next


For $i = 1 To 99
    $iIndex = _GUICtrlListView_AddItem($hListView, $wartosc[0][$i])
    For $j = 1 To 11
     _GUICtrlListView_AddSubItem($hListView, $i - 1, $wartosc[$j][$i], $j)
    Next
Next

GUISetState()

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1

    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
        MsgBox(0,"e","e")
            Exit
    EndSwitch

    If $fDblClk = True Then
        $fDblClk = False
        
        
             Local $cos = ""&_GUICtrlListView_GetHotItem($hListView)
             Local $nic = ""&$iSubItem
             Local $asd = _GUICtrlListView_GetItemText($hlistview, $cos, $nic)
            $hGUI2 = GUICreate("Changes", 320, 150)
            Local $input = GUICtrlCreateInput($asd, 10, 120, 200, 20)
            Local $exit = GUICtrlCreateButton("Exit", 245, 45, 60, 40)
            Local $new = GUICtrlCreateButton("Change", 170, 45, 60, 40)
            
            
                GUISetState()
            While 1

                Switch GUIGetMsg()
                Case $exit

                    GUIDelete()
                    ExitLoop
                Case $new
                    Local $input1 = GUICtrlRead($input)
                    $cos = $cos + 1
                    MsgBox(0,"asd", $cos& "  " &$nic)
                    MsgBox(0,"asd", ""&$input1)
                    $cos = $cos - 1
                    _GUICtrlListView_SetItemText($hListView, $cos, ""&$input1, $nic)
                    GUIDelete()
                    ExitLoop
                EndSwitch
            WEnd
    EndIf

WEnd











Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hListView
            Switch $iCode
                Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                 
                    $iSubItem = DllStructGetData($tInfo, "SubItem")
                    $fDblClk = True
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

It's working but not working first column, why? :idea:

EDIT:

oh sorry, it's working! :( but... look at screen how

Posted Image

And what with autosize yet, any ideas? :)

Edited by ZwinnyRolnik
Link to comment
Share on other sites

  • Moderators

ZwinnyRolnik,

And what with autosize yet, any ideas?

Patience, patience......I do have a life to live as well as answer your questions you know! :)

This should do what you want:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>

Global $fDblClk = False, $iSubItem, $iGUI_Height = 650

Global $wartosc[12][100]

; 1 column
For $i = 1 To 99
    $wartosc[0][$i] = $i
Next

; 2 column
$wartosc[1][0] = "A"
$wartosc[1][1] = "Koszty"
$wartosc[1][2] = "Bezposrednie"
$wartosc[1][3] = "Zadanie nr 1 Zarzadzanie Projektem"
$wartosc[1][4] = "Przygotowanie materialów promocyjnych (projekt, druk) - plakaty informacyjne"
$wartosc[1][5] = "Przygotowanie materialów promocyjnych (projekt,druk) - foldery informacyjne"
$wartosc[1][6] = "Wykonanie strony internetowej projektu"
$wartosc[1][7] = "Zakup materialów promocyjnych - ramy na plakaty"
$wartosc[1][8] = "Wynagrodzenie administratora strony www projektu (os. samozatrudniona)e"
$wartosc[1][9] = "Wynagrodzenie specjalistów ds. rekrutacji (osoby samozatrudnione); 3 dni/rekrutacje x 32 rekrutacje"
$wartosc[1][10] = "Koszty podrózy specjalistów ds. rekrutacji; 32 rekrutacje"
$wartosc[1][11] = "Noclegi specjalistów ds. rekrutacji; 3noclegów/rekrutacje x 32 rekrutacje"
$wartosc[1][12] = "Wykonanaie nakelejek na segregatory"
$wartosc[1][13] = "Zakup materialów promocyjnych - roll-up'y"
$wartosc[1][14] = "Wyzywienie specjalistów ds. rekrutacji; 3 dni/rekrutacje x 32 rekrutacje"
$wartosc[1][15] = "Wynagrodzenie kierownika projektu (osoba samozatrudniona)"
$wartosc[1][16] = "Wynagrodzenie specjalisty ds. formalnych (umowa zlecenie)"
$wartosc[1][17] = "Wynagrodzenie specjalisty ds. organizacji (os.samozatrudniona)"
$wartosc[1][18] = "Koszty podrózy specjalisty ds. organizacyjnych; 1 wizyta/województwo x 16 województw"
$wartosc[1][19] = "Noclegi specjalisty ds. organizacyjnych; 1 nocleg/wizyte x 16 wizyt"
$wartosc[1][20] = "Wyzywienie specjalisty ds. organizacyjnych; 1 dzien/wizyte x 16 wizyt"
$wartosc[1][21] = "Koszty 2 rachunków bankowych (dofinansowania i wkladu prywatnego)"
$wartosc[1][22] = "Audyt projektu"
$wartosc[1][23] = "Zadanie nr 2 Realizacja szkolen - Menedzerowie sieci"
$wartosc[1][24] = "Zakup uslug szkoleniowych - Centrala; 2 dni/zjazd x 3 zjazdy/grupe x 1 grupa"
$wartosc[1][25] = "Wynagrodzenie opiekunów szkolen (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupe x 1 grupa"
$wartosc[1][26] = "Noclegi opiekunów szkolen; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][27] = "Wyzywienie opiekunów szkolen; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][28] = "Przewóz uczestników i opiekuna szkolen; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][29] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][30] = "Wyzywienie uczestników szkolen; 2 dni/zjazd x 3 zjazdy/grupe x 1 grupa x 10 osób/grupe"
$wartosc[1][31] = "Noclegi uczestników szkolen; 1 nocleg/zjazd x 3 zjazdy/grupe x 1 grupa x 10 osób/grupe"
$wartosc[1][32] = "Zadanie nr 3 Realizacja szkolen - Trenerzy wewnetrzni"
$wartosc[1][33] = "Zakup uslug szkoleniowych - warsztaty trenerskie; 2 dni/zjazd x 3 zjazdy/grupe x 1 grupa"
$wartosc[1][34] = "Wynagrodzenie opiekunów szkolen (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupe x 1 grupa"
$wartosc[1][35] = "Noclegi opiekunów szkolen; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][36] = "Wyzywienie opiekunów szkolen; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][37] = "Przewóz uczestników i opiekuna szkolen; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][38] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][39] = "Wyzywienie uczestników szkolen; 2 dni/zjazd x 3 zjazdy/grupe x 1 grupa x 6 osób/grupe"
$wartosc[1][40] = "Noclegi uczestników szkolen; 1 nocleg/zjazd x 3 zjazdy/grupe x 1 grupa x 6 osób/grupe"
$wartosc[1][41] = "Zadanie nr 4 Realizacja szkolen - Menedzerowie sprzedazy"
$wartosc[1][42] = "Zakup uslug szkoleniowych - menedzerowi sprzedazy; 8 dni/grupe x 32 grupy"
$wartosc[1][43] = "Wynagrodzenie uczestników szkolenia - pracowników delegowanych do udzialu w szkoleniu; 68,79zl/dzien x 8dni/osobe x 220 osób"
$wartosc[1][44] = "Wynagrodzenie opiekunów szkolen (osoby samozatrudnione); 8 dni/grupe x 32 grupy"
$wartosc[1][45] = "Koszty podrózy opiekunów szkolen; 1 wizyta/szkolenie x 8 szkolen/grupe x 32 grupy"
$wartosc[1][46] = "Noclegi opiekunów szkolen; 1 nocleg/szkolenie x 8 szkolen/grupe x 32 grupy"
$wartosc[1][47] = "Wyzywienie opiekunów szkolen; 1 dzien/szkolenie x 8 szkolen/grupe x 32 grupy"
$wartosc[1][48] = "Koszt wynajmu sal szkoleniowych; 1 dzien/szkolenie x 8 szkolen/grupe x 32 grupy"
$wartosc[1][49] = "Wyzywienie uczestników szkolen; 8dni/grupe x 32 grupy x 10 osób/grupe"
$wartosc[1][50] = "Zadanie nr 5  Ewaluacja"
$wartosc[1][51] = "Zakup uslug w zakresie ewaluacji (opracowanie koncepcji ewaluacji i narzedzi badawczych)"
$wartosc[1][52] = "Zakup uslug w zakresie ewaluacji (realizacja badan terenowych - tajemniczy klient)"
$wartosc[1][53] = "Zakup uslug w zakresie ewaluacji (opracowanie i prezentacja wyników ewaluacji)"

; 3 column
$wartosc[2][0] = "B"
$wartosc[2][1] = ""
$wartosc[2][2] = "PP"
$wartosc[2][3] = ""
For $i = 4 To 99
    $wartosc[2][$i] = "1"
Next
$wartosc[2][23] = ""
$wartosc[2][32] = ""
$wartosc[2][41] = ""

; 4 column
$wartosc[3][0] = "C"
$wartosc[3][1] = ""
$wartosc[3][2] = "UZ"
For $i = 3 To 99
    $wartosc[3][$i] = ""
Next

; 5 column
$wartosc[4][0] = "D"
$wartosc[4][1] = ""
$wartosc[4][2] = "L/P"
$wartosc[4][3] = ""
For $i = 4 To 99
    $wartosc[4][$i] = "L"
Next
$wartosc[4][23] = ""
$wartosc[4][32] = ""
$wartosc[4][41] = ""

$hGUI = GUICreate("Test", 900, 700)

; Create ListView
$hListView = _GUICtrlListView_Create($hGUI, "", 10, 10, 880, $iGUI_Height)
_GUICtrlListView_SetExtendedListViewStyle($hListView, $LVS_EX_FULLROWSELECT)

; Add the 12 columns
For $i = 0 To 11
    ConsoleWrite(_GUICtrlListView_AddColumn($hListView, $wartosc[$i][0]) & @CRLF)
    _GUICtrlListView_SetColumnWidth($hListView, $i, 100)
Next

For $i = 1 To 99
    $iIndex = _GUICtrlListView_AddItem($hListView, $wartosc[0][$i])
    For $j = 1 To 11
        _GUICtrlListView_AddSubItem($hListView, $i - 1, $wartosc[$j][$i], $j)
    Next
Next

; Determine ListView width
$iLV_Width = 17
For $i = 0 To 11
    ; Size column to fit header
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE_USEHEADER)
    $iHeader_Width = _GUICtrlListView_GetColumnWidth($hListView, $i)
    ; Now size column to fit data
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE)
    $iData_Width = _GUICtrlListView_GetColumnWidth($hListView, $i)
    ; If header is wider, reset width
    If $iHeader_Width > $iData_Width Then
        _GUICtrlListView_SetColumnWidth($hListView, $i, $iHeader_Width)
        $iLV_Width += $iHeader_Width
    Else
        $iLV_Width += $iData_Width
    EndIf
Next
; Check if it will fir on screen
If $iLV_Width > @DesktopWidth - 10 Then $iLV_Width = @DesktopWidth - 10

; Resize ListView and GUI to fit data
ControlMove($hGUI, "", $hListView, 10, 10, $iLV_Width + 10, $iGUI_Height - 20) ; Add 10 for internal ListView borders
WinMove($hGUI, "", Default, Default, $iLV_Width + 30) ; Add 30 for internal ListView and external GUI borders

GUISetState()

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1

    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch

    If $fDblClk = True Then
        $fDblClk = False

        MsgBox(0, "Edit", "You double-clicked Item " & _GUICtrlListView_GetHotItem($hListView) + 1 & " SubItem " & $iSubItem & @CRLF & @CRLF & _
                "All you need is the code to edit it here!" & @CRLF & "Over to you!")
    EndIf

WEnd

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hListView
            Switch $iCode
                Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iSubItem = DllStructGetData($tInfo, "SubItem")
                    $fDblClk = True
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

And you have used up your quota of questions for the past 2 days. Go and do something else for a while, like I did! :idea:

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

If i good translate Your answer i think You are angry...

Really thx for Your help, i hope so in years i will be that good too like You... if You understand my <<< my, u know english

Now i'll try do something alone... thx again :idea:

Link to comment
Share on other sites

  • Moderators

ZwinnyRolnik,

i think You are angry

Look at the smileys - I am not angry. :idea:

But you must learn how to use AutoIt on your own - have you looked at the excellent tutorials that you will find here and here? You will find other tutorials in the Wiki (the link is at the top of the page).

These tutorials, plus reading the Help file (at least the first few sections - Using AutoIt, Tutorials and the first couple of References) will help you enormously. :)

We will be here when you run into problems, but do try and do things by yourself first.

Good luck! :(

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Ok i need Your help ofc Melba23... i hope u know it =]

For now it's my script, i am amator so i think it's good script ^^ look...

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiListView.au3>
#include <GUIScrollbars_Ex.au3>
Global $fDblClk = False, $iItem, $iSubItem, $iGUI_Height = 500

Global $wartosc[12][100]

; 1 column
For $i = 1 To 99
    $wartosc[0][$i] = $i
Next


; 2 column
$wartosc[0][0] = ""
$wartosc[1][0] = "A"
$wartosc[1][1] = "Koszty"
$wartosc[1][2] = "Bezposrednie"
$wartosc[1][3] = "Zadanie nr 1 Zarzadzanie Projektem"
$wartosc[1][4] = "Przygotowanie materialów promocyjnych (projekt, druk) - plakaty informacyjne"
$wartosc[1][5] = "Przygotowanie materialów promocyjnych (projekt,druk) - foldery informacyjne"
$wartosc[1][6] = "Wykonanie strony internetowej projektu"
$wartosc[1][7] = "Zakup materiałów promocyjnych - ramy na plakaty"
$wartosc[1][8] = "Wynagrodzenie administratora strony www projektu (os. samozatrudniona)e"
$wartosc[1][9] = "Wynagrodzenie specjalistów ds. rekrutacji (osoby samozatrudnione); 3 dni/rekrutację x 32 rekrutacje"
$wartosc[1][10] = "Koszty podróży specjalistów ds. rekrutacji; 32 rekrutacje"
$wartosc[1][11] = "Noclegi specjalistów ds. rekrutacji; 3noclegów/rekrutację x 32 rekrutacje"
$wartosc[1][12] = "Wykonanaie nakelejek na segregatory"
$wartosc[1][13] = "Zakup materiałów promocyjnych - roll-up'y"
$wartosc[1][14] = "Wyżywienie specjalistów ds. rekrutacji; 3 dni/rekrutację x 32 rekrutacje"
$wartosc[1][15] = "Wynagrodzenie kierownika projektu (osoba samozatrudniona)"
$wartosc[1][16] = "Wynagrodzenie specjalisty ds. formalnych (umowa zlecenie)"
$wartosc[1][17] = "Wynagrodzenie specjalisty ds. organizacji (os.samozatrudniona)"
$wartosc[1][18] = "Koszty podróży specjalisty ds. organizacyjnych; 1 wizyta/województwo x 16 województw"
$wartosc[1][19] = "Noclegi specjalisty ds. organizacyjnych; 1 nocleg/wizytę x 16 wizyt"
$wartosc[1][20] = "Wyżywienie specjalisty ds. organizacyjnych; 1 dzień/wizytę x 16 wizyt"
$wartosc[1][21] = "Koszty 2 rachunków bankowych (dofinansowania i wkłądu prywatnego)"
$wartosc[1][22] = "Audyt projektu"
$wartosc[1][23] = "Zadanie nr 2 Realizacja szkoleń - Menedżerowie sieci"
$wartosc[1][24] = "Zakup usług szkoleniowych - Centrala; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][25] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][26] = "Noclegi opiekunów szkoleń; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][27] = "Wyżywienie opiekunów szkoleń; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][28] = "Przewóz uczestników i opiekuna szkoleń; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][29] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][30] = "Wyżywienie uczestników szkoleń; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa x 10 osób/grupę"
$wartosc[1][31] = "Noclegi uczestników szkoleń; 1 nocleg/zjazd x 3 zjazdy/grupę x 1 grupa x 10 osób/grupę"
$wartosc[1][32] = "Zadanie nr 3 Realizacja szkoleń - Trenerzy wewnętrzni"
$wartosc[1][33] = "Zakup usług szkoleniowych - warsztaty trenerskie; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][34] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa"
$wartosc[1][35] = "Noclegi opiekunów szkoleń; 2 noclegi/zjazd x 3 zjazdy"
$wartosc[1][36] = "Wyżywienie opiekunów szkoleń; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][37] = "Przewóz uczestników i opiekuna szkoleń; 1 przewóz/zjazd x 3 zjazdy"
$wartosc[1][38] = "Koszt wynajmu sal szkoleniowych; 2 dni/zjazd x 3 zjazdy"
$wartosc[1][39] = "Wyżywienie uczestników szkoleń; 2 dni/zjazd x 3 zjazdy/grupę x 1 grupa x 6 osób/grupę"
$wartosc[1][40] = "Noclegi uczestników szkoleń; 1 nocleg/zjazd x 3 zjazdy/grupę x 1 grupa x 6 osób/grupę"
$wartosc[1][41] = "Zadanie nr 4 Realizacja szkoleń - Menedżerowie sprzedaży"
$wartosc[1][42] = "Zakup usług szkoleniowych - menedżerowi sprzedaży; 8 dni/grupę x 32 grupy"
$wartosc[1][43] = "Wynagrodzenie uczestników szkolenia - pracowników delegowanych do udziału w szkoleniu; 68,79zł/dzień x 8dni/osobę x 220 osób"
$wartosc[1][44] = "Wynagrodzenie opiekunów szkoleń (osoby samozatrudnione); 8 dni/grupę x 32 grupy"
$wartosc[1][45] = "Koszty podróży opiekunów szkoleń; 1 wizyta/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][46] = "Noclegi opiekunów szkoleń; 1 nocleg/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][47] = "Wyżywienie opiekunów szkoleń; 1 dzień/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][48] = "Koszt wynajmu sal szkoleniowych; 1 dzień/szkolenie x 8 szkoleń/grupę x 32 grupy"
$wartosc[1][49] = "Wyżywienie uczestników szkoleń; 8dni/grupę x 32 grupy x 10 osób/grupę"
$wartosc[1][50] = "Zadanie nr 5  Ewaluacja"
$wartosc[1][51] = "Zakup usług w zakresie ewaluacji (opracowanie koncepcji ewaluacji i narzędzi badawczych)"
$wartosc[1][52] = "Zakup usług w zakresie ewaluacji (realizacja badań terenowych - tajemniczy klient)"
$wartosc[1][53] = "Zakup usług w zakresie ewaluacji (opracowanie i prezentacja wyników ewaluacji)"



; 3 column
$wartosc[2][0] = "B"
$wartosc[2][1] = ""
$wartosc[2][2] = "PP"
$wartosc[2][3] = ""
For $i = 4 To 99
    $wartosc[2][$i] = "1"
Next
$wartosc[2][23] = ""
$wartosc[2][32] = ""
$wartosc[2][41] = ""


; 4 column
$wartosc[3][0] = "C"
$wartosc[3][1] = ""
$wartosc[3][2] = "UZ"
For $i = 3 To 99
    $wartosc[3][$i] = ""
Next


; 5 column
$wartosc[4][0] = "D"
$wartosc[4][1] = ""
$wartosc[4][2] = "L/P"
$wartosc[4][3] = ""
For $i = 4 To 99
    $wartosc[4][$i] = "L"
Next
$wartosc[4][23] = ""
$wartosc[4][32] = ""
$wartosc[4][41] = ""



; 6 column
$wartosc[5][0] = "E"
$wartosc[5][1] = ""
$wartosc[5][2] = "C/F"
For $i = 3 To 99
    $wartosc[5][$i] = ""
Next



; 7 column
$wartosc[6][0] = "F"
$wartosc[6][1] = ""
$wartosc[6][2] = "j.m"
$wartosc[6][3] = ""
$wartosc[6][4] = "sztuka"
$wartosc[6][5] = "sztuka"
$wartosc[6][6] = "usługa"
$wartosc[6][7] = "sztuka"
$wartosc[6][8] = "miesiąc"
$wartosc[6][9] = "dzień"
$wartosc[6][10] = "rekrutacja"
$wartosc[6][11] = "nocleg"
$wartosc[6][12] = "komplet"
$wartosc[6][13] = "sztuka"
$wartosc[6][14] = "dzień"
$wartosc[6][15] = "miesiąc"
$wartosc[6][16] = "miesiąc"
$wartosc[6][17] = "miesiąc"
$wartosc[6][18] = "wyjazd"
$wartosc[6][19] = "nocleg"
$wartosc[6][20] = "dzień"
$wartosc[6][21] = "miesiąc"
$wartosc[6][22] = "usługa"
$wartosc[6][23] = ""
$wartosc[6][24] = "dzień"
$wartosc[6][25] = "dzień"
$wartosc[6][26] = "nocleg"
$wartosc[6][27] = "dzień"
$wartosc[6][28] = "przewóz"
$wartosc[6][29] = "dzień"
$wartosc[6][30] = "osobodzień"
$wartosc[6][31] = "osobonocleg"
$wartosc[6][32] = ""
$wartosc[6][33] = "dzień"
$wartosc[6][34] = "dzień"
$wartosc[6][35] = "nocleg"
$wartosc[6][36] = "dzień"
$wartosc[6][37] = "przewóz"
$wartosc[6][38] = "dzień"
$wartosc[6][39] = "osobodzień"
$wartosc[6][40] = "osobodzień"
$wartosc[6][41] = ""
$wartosc[6][42] = "dzień"
$wartosc[6][43] = "osobodzień"
$wartosc[6][44] = "dzień"
$wartosc[6][45] = "wizyta"
$wartosc[6][46] = "nocleg"
$wartosc[6][47] = "dzień"
$wartosc[6][48] = "osobodzień"
$wartosc[6][49] = "osobodzień"
$wartosc[6][50] = "usługa"
$wartosc[6][51] = "usługa"
$wartosc[6][52] = "usługa"
$wartosc[6][53] = "usługa"


; 8 column
$wartosc[4][0] = "D"
$wartosc[4][1] = ""
$wartosc[4][2] = "L/P"
$wartosc[4][3] = ""
For $i = 4 To 99
    $wartosc[4][$i] = "L"
Next
$wartosc[4][23] = ""
$wartosc[4][32] = ""
$wartosc[4][41] = ""











start()
Func start()


Global $hGUI = GUICreate("Test", 900, 700)
GUISetBkColor(0xCECECE)
GuiSetIcon(@SystemDir & "\explorer.exe", 0)
; Create ListView
Global $hListView = _GUICtrlListView_Create($hGUI, "", 10, 10, 880, $iGUI_Height)
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_FULLROWSELECT,$LVS_EX_GRIDLINES))
; Add the 12 columns
For $i = 0 To 11
    ConsoleWrite(_GUICtrlListView_AddColumn($hListView, $wartosc[$i][0], "",2) & @CRLF)
    _GUICtrlListView_SetColumnWidth($hListView, $i, 100)
Next
_GUICtrlListView_SetTextBkColor($hlistview,0xCCFFCC)

For $i = 1 To 99
    _GUICtrlListView_AddItem($hListView, $wartosc[0][$i])

    For $j = 1 To 11
    _GUICtrlListView_AddSubItem($hListView, $i - 1, $wartosc[$j][$i], $j)

    Next
Next


; Determine ListView width
$iLV_Width = 17
For $i = 0 To 11
    ; Size column to fit header
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE_USEHEADER)
    $iHeader_Width = _GUICtrlListView_GetColumnWidth($hListView, $i)
    ; Now size column to fit data
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE)
    $iData_Width = _GUICtrlListView_GetColumnWidth($hListView, $i)
    ; If header is wider, reset width
    If $iHeader_Width > $iData_Width Then
        _GUICtrlListView_SetColumnWidth($hListView, $i, $iHeader_Width)
        $iLV_Width += $iHeader_Width
    Else
        $iLV_Width += $iData_Width
    EndIf
Next
; Check if it will fir on screen
If $iLV_Width > @DesktopWidth - 10 Then $iLV_Width = @DesktopWidth - 10

; Resize ListView and GUI to fit data

Global $nowa = GUICtrlCreateButton("Insert New Item", 150, 655, 100, 40)
Global $del = GUICtrlCreateButton("Delete Item", 300, 655, 100, 40)
Global $save = GUICtrlCreateButton("save", 450, 655, 100, 40)
Global $load = GUICtrlCreateButton("load", 600, 655, 100, 40)
GUISetState()

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
EndFunc
While 1

    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Global $hmm2 = MsgBox(35,"Save?","Save changes?","",$hlistview)
            If $hmm2 <> 2 Then 
            If $hmm2 = 6 Then 
                $date = @YEAR & "-" & @MON & "-" & @MDAY
                $godzina = @HOUR & "-" & @MIN & "-" & @SEC
                $czas = $date&"  "&$godzina&".ini"
                MsgBox(0,"sd",$czas)
                $lokacja = FileSaveDialog( "Zapisz plik...", @ScriptDir, "Pliki tekstowe (*.ini)|Skrypty (*.aut;*.au3)", 2+16, $czas, $hlistview)
                
                If $lokacja <> 1 Then
                
                
                For $c = 0 To 10    
                    $colu = _guictrllistview_getcolumn($hlistview, $c)
                    IniWrite($lokacja, "section0", $c, $colu[5])
            
                For $k = 0 To 99
                    IniWrite($lokacja, "section"&$c+1, $k, _GUICtrlListView_GetItemText($hlistview, $k, $c))
                Next
                Next
            
                EndIf
        
            Else
                Exit
            EndIf
            EndIf
        Case $save
        
        $date = @YEAR & "-" & @MON & "-" & @MDAY
        $godzina = @HOUR & "-" & @MIN & "-" & @SEC
        $czas = $date&"  "&$godzina&".ini"
        
        $lokacja = FileSaveDialog( "Zapisz plik...", @ScriptDir, "Pliki tekstowe (*.ini)|Skrypty (*.aut;*.au3)", 2+16, $czas, $hlistview)
        If $lokacja <> 1 Then
        For $c = 0 To 10    
            $colu = _guictrllistview_getcolumn($hlistview, $c)
            IniWrite($lokacja, "section0", $c, $colu[5])
            
            For $k = 0 To 99
            IniWrite($lokacja, "section"&$c+1, $k, _GUICtrlListView_GetItemText($hlistview, $k, $c))
            Next
        Next
        EndIf

        
        Case $load
        
        $lokacja2 = FileOpenDialog("Wczytaj plik...", @ScriptDir, "Pliki tekstowe (*.ini)|Skrypty (*.aut;*.au3)", 1 + 2 + 8, "", $hlistview)
        
        If $lokacja2 <> "" Then
            Global $hmm4 = MsgBox(33,"Otworzyć plik...?",$lokacja2,"",$hlistview)
            
            If $hmm4 = 1 Then
                For $z = 0 To 11
            
                    $wartosc[$z][0] = IniRead($lokacja2, "section0", $z, "")
            
                For $d = 1 To 99
            
                    $wartosc[$z][$d] = IniRead($lokacja2, "section"&$z+1, $d-1, "")
                Next        
                Next
                GUIDelete()
                    start()
            EndIf
        EndIf
    
        Case $nowa
            
            Global $HotItem = _GUICtrlListView_GetSelectedIndices($hlistview)
            $HotItem = $HotItem +1
            Global $lol
            $lol = $hotitem 
            $lol = $lol + 1 
            
            Global $hGUI3 = GUICreate("New Item", 640, 250, 320, 125, "", "",$hlistview)
            GUISetBkColor(0xCECECE)
            Global $label = GUICtrlCreateLabel("Item "&$hotitem, 10, 52, 35, 20)
            Global $exit2 = GUICtrlCreateButton("Exit", 250, 150, 60, 40)
            Global $new = GUICtrlCreateButton("Insert New", 50, 150, 60, 40)
            Global $inp[100]
            
            
            For $x = 1 To 3
            GUICtrlCreateLabel("column: "&$wartosc[$x][0], $x * 100-21, 35, 100, 15)
            Next
            
            For $z = 1 To 30
            $inp[$z] = GUICtrlCreateInput("", $z * 100-50, 50, 100, 20)
            
            For $z1 = 31 To 60
            $inp[$z1] = GUICtrlCreateInput("", $z * 100-50, 115, 100, 20)
            Next
            
            For $x1 = 1 To 3
            GUICtrlCreateLabel("column: "&$wartosc[$x1][0], $z * 100-21, 90, 100, 15)
            Next
            
            Next
        
    _GUIScrollbars_Generate($hGUI3, 3100)
            GUISetState()
            
            While 1

                Switch GUIGetMsg()
                Case $exit2
                    GUIDelete()
                    ExitLoop
                    
                Case $new

                _GUICtrlListView_InsertItem($hlistview, $lol, $HotItem-1)
                For $j = 1 To 40
                _GUICtrlListView_AddSubItem($hListView, $HotItem-1, GUICtrlRead($inp[$j]), $j)
                Next
                
                For $i = 1 To 100
                    _GUICtrlListView_SetItemText($hlistview, $i-1, $i)
                Next
            
                GUIDelete()
                ExitLoop
                EndSwitch
                
            Wend    
            
            $iLV_Width = 17
For $i = 0 To 11
    ; Size column to fit header
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE_USEHEADER)
    $iHeader_Width = _GUICtrlListView_GetColumnWidth($hListView, $i)
    ; Now size column to fit data
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE)
    $iData_Width = _GUICtrlListView_GetColumnWidth($hListView, $i)
    ; If header is wider, reset width
    If $iHeader_Width > $iData_Width Then
        _GUICtrlListView_SetColumnWidth($hListView, $i, $iHeader_Width)
        $iLV_Width += $iHeader_Width
    Else
        $iLV_Width += $iData_Width
    EndIf
Next
; Check if it will fir on screen
If $iLV_Width > @DesktopWidth - 10 Then $iLV_Width = @DesktopWidth - 10

; Resize ListView and GUI to fit data
        
            
            
            
            
        Case $del
            Global $HotItem2 = _GUICtrlListView_GetSelectedIndices($hlistview)
            Global $hmm = MsgBox(1,"???","delete item: "&$HotItem2+1)
            
            If $hmm = 1 Then 
            _GUICtrlListView_DeleteItem($hlistview, $hotitem2)
            
            
                
            Global $lol
            $lol = $hotitem2 
            $lol = $lol 
            
                For $i = 0 To 100
                    _GUICtrlListView_SetItemText($hlistview, $lol+$i, $lol + $i + 1)
                Next
            EndIf

    EndSwitch

    If $fDblClk = True Then
        $fDblClk = False
            
            Global $cos = ""&_GUICtrlListView_GetHotItem($hListView)
            Global $nic = ""&$iSubItem
            Global $asd = _GUICtrlListView_GetItemText($hlistview, $cos, $nic)
            
            Global $hGUI2 = GUICreate("Changes", 320, 150)
            GUISetBkColor(0xCECECE)
            Global $input = GUICtrlCreateInput($asd, 10, 120, 200, 20)
            Global $exit = GUICtrlCreateButton("Exit", 245, 45, 60, 40)
            Global $new = GUICtrlCreateButton("Change", 170, 45, 60, 40)
            
            
            GUISetState()
            While 1
                Switch GUIGetMsg()
                Case $exit
                    GUIDelete()
                    ExitLoop
                    
                Case $new
                    Global $input1 = GUICtrlRead($input)
                    $cos = $cos + 1
                    MsgBox(0,"asd", $cos& "  " &$nic)
                    MsgBox(0,"asd", ""&$input1)
                    $cos = $cos - 1
                    _GUICtrlListView_SetItemText($hListView, $cos, ""&$input1, $nic)
                    GUIDelete()
                    ExitLoop
                EndSwitch
            WEnd
            
$iLV_Width = 17
For $i = 0 To 11
    ; Size column to fit header
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE_USEHEADER)
    $iHeader_Width = _GUICtrlListView_GetColumnWidth($hListView, $i)
    ; Now size column to fit data
    _GUICtrlListView_SetColumnWidth($hListView, $i, $LVSCW_AUTOSIZE)
    $iData_Width = _GUICtrlListView_GetColumnWidth($hListView, $i)
    ; If header is wider, reset width
    If $iHeader_Width > $iData_Width Then
        _GUICtrlListView_SetColumnWidth($hListView, $i, $iHeader_Width)
        $iLV_Width += $iHeader_Width
    Else
        $iLV_Width += $iData_Width
    EndIf
Next
; Check if it will fir on screen
If $iLV_Width > @DesktopWidth - 10 Then $iLV_Width = @DesktopWidth - 10

            
            
            
            
    EndIf

WEnd

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Global $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hListView
            Switch $iCode
                Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iSubItem = DllStructGetData($tInfo, "SubItem")
                    $fDblClk = True
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

1- What i must write if i want only 1 item or only 1 subitem which have color = green... not all, only one item and him subitems, no other.

2- How i can make "text is centered only for A,B,C,D" not subitems and items :idea:

3- It's possible to change size of text in item or subitem? or Column like "A", "B"...? :) OR COLOR?

4- It's important...

I think that program can be great example for everyone so if You can pls help me... thxthxthx again

Edited by ZwinnyRolnik
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...