Timer i ListBox

0

Cześć @LL

Dlaczego mi to nie działa poprawnie (kompilacja jest ok):

procedure TForm2.Timer1Timer(Sender: TObject);
begin
if ListBox1.ItemIndex >0 then Zaznaczone(Sender) else Niezaznaczone(Sender);
end;

Teraz opiszę o co mi chodzi :-)

Mam dwie formy. Jedna (Form1) posiada tylko przycisk do wywołania drugiej formy (Form2), która posiada timer, listbox i 3 przyciski. Przy wywoływaniu formy2 ładuję z pliku INI do ListBox-a nagłówki sekcji. Oto fragment:

...
try
INI.ReadSections(Form2.ListBox1.Items); //ładuje sekcje
Form2.ShowModal; //ładuje drugą formę
finally
...

Ładowanie sekcji i formy przebiega ok...ale jak kliknę na jedną z załadowanych sekcji to powinna się wykonać procedura Zaznaczone, która daje Enabled:= True tym 3 przyciskom...gdy nic nie będzie zaznaczone te 3 przyciski powinny znowu być Enabled:= False...
Zaznaczam, ze kompilacja jest bez błędów.
Proszę...pomóżcie. :-) :d

Drugi problem:
Gdy mam ToolButton1 i dałem mu Enabled:= True; to po uruchomieniu programu on jest niedostępny...dlaczego? Inne są dostępne.

0

klawisz ma dwie własnosci ktore trzeba ustawic mianowicie enabled i visible na true aby modz korzystac z klawisza

to w listbocie wykorzystaj zdarzenie onchange, i tam sprawdzaj czy ejst wybrany jakis item jeśli tak to wlączaj klawisze jeśli nie to wyłączaj
chcesz przykład?

0

Z ListBoxem to spoX sobie poradzę...jeśli zadziała oczywiście :-)

A co do tego ToolButtona to i Enabled i Visible są na True...po prostu przycisk jest ale szary, więc po prostu niedostępny. Raz był dostępny jak zmieniłem z ciekawości funkcję AllowAllUp na True, ale potem nie działało... [stuk]

[dopisane]
ListBox nie ma funkcji OnChange...jest OnClick, ale lipa...nie działa.

0

procedure TForm2.Timer1Timer(Sender: TObject);
begin
if ListBox1.ItemIndex > -1 then Zaznaczone(Sender) else Niezaznaczone(Sender);
end;

Ten kod jest bardziej poprawniejszy :D

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