Jump to content

Recommended Posts

Posted (edited)

I created a multidimenstional listbox (by adding $LBS_MULTICOLUMN when creating it).

I know that by using _GUICtrlListBox_AddString() you can add strings to listbox, but you are not able to select in which column you want the string to be added, and it automatically adds new items to the first.

How can I add items to the second column?

Edited by aleksa
  • Moderators
Posted

aleksa,

You are misunderstanding what the $LBS_MULTICOLUMN style does when applied. It does not create additional columns for each row (as is the case for a ListView) but forces a ListBox to create new columns when the vertical extent of the ListBox is exceeded rather than allowing a vertical scroll. Here is a small example to show you how it works: ;)

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

$hGUI = GUICreate("Test", 500, 500)

$hList = _GUICtrlListBox_Create($hGUI, "", 10, 10, 200, 200, BitOr($WS_HSCROLL, $WS_BORDER, $LBS_MULTICOLUMN))

GUISetState()

For $i = 1 To 30
    _GUICtrlListBox_AddString($hList, $i)
    Sleep(250)
Next

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

As I mentioned above, if you want separate columns on each row then you need to use a ListView control. All clear? :)

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:

  Reveal hidden contents

 

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
  • Recently Browsing   0 members

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