Abend!
Die ^ sagen dem Compiler, das es sich bei der Variable um einem dynamischen Zeiger auf ein Object o.ä. handelt (besser kann ichs um diese Zeit net ausdrücken ^^)
Der Fehler liegt daren, das Du ListBox1.ItemIndex als Index verwendest Und ich mich zu wetten traue, das nicht in der ListBox markiert ist
Abgesehen, das es keinen Sinn macht, es in dem ButtonClick Ereignis Zu zeichnen, das wäre besser im OnDrawItem der ListBox aufgehoben, da hast Du dann auch den Index, welcher gerade zu Zeichnen ist und die Variable Rect, damit Du auch weist wohin es gezeichnet werden soll
Sieh mal in die
OH zum Thema
OnDrawItem, Da findest Du auch ein Beispiel dazu