Jump to content
Sign in to follow this  
coolcurrent

how to align text in listbox

Recommended Posts

coolcurrent

i need to align text in a listbox like the image in this post, does anyone know of any way to achieve this?

post-72903-0-56313900-1353086077_thumb.p

Share this post


Link to post
Share on other sites
water

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 (2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
AZJIO

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
  • Like 1

Share this post


Link to post
Share on other sites
coolcurrent

AZJIO thanks,

this is what i got, but i wanted the last text to be aligned right to the end of the listbox, which code part do i tweak. The StringFormat Function? This is what i got

post-72903-0-69354300-1353137279_thumb.p

Share this post


Link to post
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
Sign in to follow this  

×