[Delphi] Odświeżanie procedur

0

Jak spowodować, aby co kilka sekund, albo na żadanie program odświeżył procerue Listbox.OnListBox1DrawItem?

0

Timer? :)

W zdarzeniu OnTimer wpisujesz po prostu

OnListBoxDrawItem(Sender);

That's all ;]

0

Niestety tego probowałem w różnych komponentach i procedura, tak jak wcześnie nie działało tak i teraz nie działa, dlatego wylądowałem na forum

0

Zapomniałem, pojawia się błąd ( jeśli jest możliwoś tego mprzekształcenia to słucham ) " Incompatible types: 'TWinControl' and 'TObject' "

0

No jasne.. bo to nie ma sensu: czy procedura która jest Handlerem dla tego zdarzenia nazywa się OnListBox1DrawItem ? .. pewnie nie ..

0

Wpisuje coś takiego do clocka

Listbox1.OnDrawItem(Sender);

i ten sam błąd

0
ListBoxDrawItem(Sender);
0
ListBoxDrawItem(Sender);

tak też nie, wyskakuje ten sam błąd i co zrobić?

0

kliknij na to zdarzenie dwa razy w ListBoxie i przepisz wszystko po "procedure", usuń wszystko po i z dwukropkiem do średników albo do końca nawiasu i jeszcze usuń "T" z początku (w tym przepisanym tekście)

to powinno wyjść z procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);

Form1.ListBox1DrawItem(Control; Index; Rect; State);

to wszystko powinno zostać uzupełnione parametrami (index - index odrysowanego itemu, Rect - obszar [Rect(x,y,x,y)] odrysowywanego obszaru, za Control można raczej podstawić nil albo ListBox1, a za State - 0 albo ListBox1.DrawState;

chociaż sądze że chodzi ci tylko o wywołanie ListBox1.Repaint;

0

po prostu dopisz:

ListBox.Invalidate;

na zadanie lub w tajmierze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1