Jump to content

how to align text in listbox


Recommended Posts

Welcome to AutoIt and the forum!

Use a ListView. That makes aligning much easier. Check the GuiListView UDF and function _GUICtrlListView_SetColumn for alignment.

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

listbox

#include <ListBoxConstants.au3>
#NoTrayIcon

GUICreate("List", 360, 175)
$StatusBar = GUICtrlCreateLabel('StatusBar', 5, 175 - 25, 150, 24)
GUICtrlSetFont(-1, 13)
$iCombo = GUICtrlCreateList("", 10, 5, 340, 100, $GUI_SS_DEFAULT_LIST + $LBS_NOINTEGRALHEIGHT)
GUICtrlSetFont(-1, Default, 400, 0, 'Lucida Console')
_ComboBox_SetDrive($iCombo, 'd')
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $iCombo
            GUICtrlSetData($StatusBar, 'Selecting a disk: ' & StringLeft(GUICtrlRead($iCombo), 1))
        Case -3
            ExitLoop
    EndSwitch
WEnd

Func _ComboBox_SetDrive($i_ID_Combo, $SelectDrive = 'C')
    Local $aDrives = DriveGetDrive('all'), $Current, $Type, $i, $list = '', $sString
    For $i = 1 To $aDrives[0]
        $Type = DriveGetType($aDrives[$i] & '')

        If $aDrives[$i] = 'A:' Or  $Type = 'CDROM' Then ContinueLoop
        If $Type = 'Removable' Then $Type = 'Rem'
        $sLabel = DriveGetLabel($aDrives[$i] & '')
        If StringLen($sLabel)>15 Then $sLabel = StringLeft($sLabel, 12) & '...'

        $sString = StringFormat("%-2s %-5s %-15s %-5s %9.03f Gb", StringUpper($aDrives[$i]), $Type, $sLabel, DriveGetFileSystem($aDrives[$i] & ''), DriveSpaceTotal($aDrives[$i] & '') / 1024)
        $list &= '|' & $sString
        If $aDrives[$i] = $SelectDrive & ':' Then $Current = $sString
    Next
    GUICtrlSetData($i_ID_Combo, $list, $Current)
EndFunc

ComboBox

#include <WindowsConstants.au3>
#include <GuiComboBox.au3>
#NoTrayIcon

GUICreate("List", 160, 75)
$StatusBar = GUICtrlCreateLabel('StatusBar', 5, 75 - 25, 150, 24)
GUICtrlSetFont(-1, 13)
$iCombo = GUICtrlCreateCombo('', 10, 5, 50, 23, $CBS_DROPDOWNLIST + $WS_VSCROLL)
_GUICtrlComboBox_SetDroppedWidth($iCombo, 340)
GUICtrlSetFont(-1, Default, 400, 0, 'Lucida Console')
_ComboBox_SetDrive($iCombo, 'd')
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $iCombo
            GUICtrlSetData($StatusBar, 'Selecting a disk: ' & StringLeft(GUICtrlRead($iCombo), 1))
        Case -3
            ExitLoop
    EndSwitch
WEnd

Func _ComboBox_SetDrive($i_ID_Combo, $SelectDrive = 'C')
    Local $aDrives = DriveGetDrive('all'), $Current, $Type, $i, $list = '', $sString
    For $i = 1 To $aDrives[0]
        $Type = DriveGetType($aDrives[$i] & '')

        If $aDrives[$i] = 'A:' Or  $Type = 'CDROM' Then ContinueLoop
        If $Type = 'Removable' Then $Type = 'Rem'
        $sLabel = DriveGetLabel($aDrives[$i] & '')
        If StringLen($sLabel)>15 Then $sLabel = StringLeft($sLabel, 12) & '...'

        $sString = StringFormat("%-2s %-5s %-15s %-5s %9.03f Gb", StringUpper($aDrives[$i]), $Type, $sLabel, DriveGetFileSystem($aDrives[$i] & ''), DriveSpaceTotal($aDrives[$i] & '') / 1024)
        $list &= '|' & $sString
        If $aDrives[$i] = $SelectDrive & ':' Then $Current = $sString
    Next
    GUICtrlSetData($i_ID_Combo, $list, $Current)
EndFunc
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...