Czy jest możliwość sprawdzenia w którą sekcję HeaderControla kliknął użytkownik? Ważne
Oczywiście że jest...
odpowiada za to zmienna Index
Ale tak to chyba nie będzie wyglądać, błędy wywala po kliknięciu na HeaderControl:
case headercontrol1.Sections[i].Index of
0: costam;
1:costam;
end;
pomoże ktoś?
No masz zdarzenie OnSectionClick więc go oprogramuj, tam masz parametr Section: THeaderSection
A jak nie wiesz co to zdarzenie, i parametr to przeczytaj kurs Delphi.
b
dokładnie tak zrobiłem, czytałem o tym w kursach, necie i nigdzie nie znalazłem odpowiedzi ;/ pod procedurę onsectionclick wpisałem ten kod co wyżej i nie chce się wykonywać. jeśli robię to na if'ach to wykonuje wszystkie if'y po kolei. mogę liczyć na pomoc? siedzę już nad tym kilka dni z tym indeksem za cholere nie wychodzi ;/
Dobra bardzo dziękuje życzliwym osobom za pomoc... Poradziłem sobie z tym i podam tam na przyszłość jak by komuś było potrzebne, żeby się prosić nie musiał...
if headercontrol1.Sections[section.Index].Index = 0 then
showmessage('kliknięto sekcje o indexie 0');
A nie wystarczy
showmessage('kliknięto sekcje o indexie ' + IntToStr(section.Index));
?
ja podałem tylko dla przykładu... jeśli będziesz chciał wykonać coś po kliknięciu daną sekcję to raczej tak nie zrobisz... ewentualnie tak jak podałem wcześniej w case .. of
Dlaczego raczej tak nie zrobie ? Słuchaj, ja nawet nie wiem do czego ten komponent służy, ale IMHO jak składa się z jakichś sekcji, i ma zdarzenie OnSectionClick które ma parametr Section, to na mój chłopski rozum, w tym parametrze siedzi właśnie ta kliknięta sekcja. Więc po co po jej indeksie odwolywać się do niej samej wplątując w to główną kolekcje sekcji.
po to wplątywać żeby na przykład wyczyścić memo klikając w sekcje o indeksie 0 a wczytując plik tekstowy do memo klikając na sekcje o indeksie 1. jak ktoś kliknie w daną sekcję to raczej wie w którą kliknął i nie musi się o tym dowiadywać poprzez showmessage...
Chyba się nigdy nie zrozumiemy ...