Jump to content

Recommended Posts

Posted

I'm trying to add a Listview on a TAB control. The listview should have 3 columns.

Sorry for not having any code, but I don't know how to proceed.

Yours sincerely

Kenneth.

  • Moderators
Posted

@Valnurat you can at least post what you have for the TAB control you've created. If you're not even that far, you need to check out the help file example on GUICtrlCreateTab before you worry about putting a listview on that tab.

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Posted

This is good opurtinity to encourage reading AutoIt Wiki Page:
https://www.autoitscript.com/wiki/ListView

The last link on that Wiki Page is about ListView in Tabs.

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

I looked at the link and for now I have a Listview added on a TAB Control with no header.

#Region TAB
    $sLVI = "||"
    GUICtrlCreateTab(110, 20, 132, 475, $TCS_BOTTOM)
    GUICtrlCreateTabItem("1")
    Global $hLV = GUICtrlCreateListView($sLVI, 110, 20, 100, 448, $LVS_NOCOLUMNHEADER)
    _GUICtrlListView_SetExtendedListViewStyle($hLV, $LVS_EX_GRIDLINES) ;BitOR($LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER))
    GUICtrlCreateTabItem("2")
    GUICtrlCreateTabItem("3")
    GUICtrlCreateTabItem("") ; end tabitem definition
    #EndRegion TAB

I do have small questions.

Listview:

I have 3 columns.

How can I only have vertical line?

How can I have vertical scrollbar from the start?

How do I control the width of the columns?

TAB:

How can I control the width of the TABs?

Yours sincerely

Kenneth.

Posted

How can I only have vertical line?
Only vertical grid lines is not supported. Maybe you can add a little bit more space between the columns. If you are very ambitious you can probably create a vertical grid line with some custom draw code. Search for ListView and $NM_CUSTOMDRAW.

How can I have vertical scrollbar from the start?
A vertical scrollbar is only shown in a listview if it's needed. The scrollbar is a very integrated part of the listview. This means that you cannot control it yourself. You can get information about the scrollbar with _GUIScrollBars_GetScrollBarInfoEx but you cannot force it to be shown with _GUIScrollBars_ShowScrollBar.

How do I control the width of the columns?
Add some spaces to $sLVI or use _GUICtrlListView_SetColumnWidth.

How can I control the width of the TABs?
You can set the minimum width of tab items with _GUICtrlTab_SetMinTabWidth. In a tab control with the $TCS_FIXEDWIDTH style (all tabs are the same width) you can set the tab width with _GUICtrlTab_SetItemSize. To set the width of individual tab items you need an owner drawn tab control.

Posted

If the vertical lines are so important, I think you'll get the best result with some custom draw code. If you create a specific question on the subject, there is certainly one that will take up the challenge and code it for you.

If you do not have too many rows you might just use some labels instead of a listview. 30 labels corresponds to 10 rows. You can easily make a vertical line between the columns. You can use a button to switch page and show the next 10 rows. If you have more than 50 to 100 rows, I think it is too cumbersome.

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
×
×
  • Create New...