Sign in to follow this  
Followers 0
coolcurrent

how to align text in listbox

4 posts in this topic

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



#2 ·  Posted (edited)

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 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
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
1 person likes this

Share this post


Link to post
Share on other sites

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  
Followers 0