siva1612,
If I remove the _GUIScrollBars_ShowScrollBar line I get all the labels displayed - I tested up to 200. You can remove the horizontal scrollbar by setting the _GUIScrollbars_Generate horizontal parameter to 0:
#include <GUIConstantsEx.au3>
#include <GUIScrollbars_Ex.au3>
#include <StaticConstants.au3>
Opt("GUIOnEventMode", 1)
$MainScreen = GUICreate("Expense Tracker", 600, 520, -1, -1, -1)
GUISetOnEvent($GUI_EVENT_CLOSE, "ExitAll")
GUISetBkColor(0xE0E0E0)
GUISetState()
$CategoriesListScr = GUICreate("", 250, 480, 0, 40, $WS_POPUP, $WS_EX_MDICHILD, $MainScreen)
GUISetFont(14, 500, 0, "Calibri")
GUISetBkColor(0xFFFFFF)
GUICtrlSetResizing($CategoriesListScr, $GUI_DOCKALL)
GUISetState()
$LastLine = -30
For $LabelCnt = 0 To 200; Working fine
$LastLine += 40
GUICtrlCreateLabel("Test String" & $LabelCnt, 47, $LastLine, 250, 40, $SS_CENTERIMAGE)
Next
_GUIScrollbars_Generate($CategoriesListScr, 0, $LastLine + 40)
;_GUIScrollBars_ShowScrollBar($CategoriesListScr, $SB_HORZ, False)
While 1
Sleep(10) ; You need a Sleep to stop the CPU from frying <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
WEnd
Func ExitAll()
Exit
EndFunc ;==>ExitAll
Note my comment about the idle loop Sleep.
M23