Zaznaczanie RadioButtona bez wywołania procedury

Zaznaczanie RadioButtona bez wywołania procedury
  • Rejestracja: dni
  • Ostatnio: dni
0

Mam pytanie, czy da się programowo zaznaczyć RadioButton, bez wykonania przypisanej do niego procedury?? Pisząc tak:

Kopiuj
RadioButton.checked:=true;

wywołuje procedure RadioButtonClick;

crowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 295
0

w najprostszy (nie najbardziej elegancki sposob) ustaw sobie zmienna globalna logiczna np

Kopiuj
  AfterCheck: boolean; 

na starcie masz false , piszesz

Kopiuj
radiobutton1.checked := true; 
aftercheck := false;

a w ciele procedury

Kopiuj
if afterchecked then
begin

end
  • Rejestracja: dni
  • Ostatnio: dni
0

Wiem, że tak mozna. Ale jak nie ma innego sposobu, to muszę tak zrobić.

Opi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1034
0
xax napisał(a)

Mam pytanie, czy da się programowo zaznaczyć RadioButton, bez wykonania przypisanej do niego procedury?? Pisząc tak:

Kopiuj
RadioButton.checked:=true;

wywołuje procedure RadioButtonClick;

Może nie do końca o to Ci chodziło, ale mam takie rozwiązanie:
W RadioButtonClick nie wpisujesz nic, dopiero dla oddzielnego przycisku np.: "Zastosuj" wywołujesz w nim sprawdzenie, czy RadioButton.Checked = True.
Więc nie musisz stosować zmiennych globalnych i możesz dowolną ilość razy przełączać zaznaczenie na RadioButton, do czasu "Zastosowania" wprowadzonych zmian.

crowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 295
0

specjalnie zastosowalem konstrukcje ze zmienna ustawiona na false - ustawiasz na true tylko wted kiedy jednoczesnie chcesz wywolac procedura dla zdarzenia onclick.
Mozna by sie zastanowic nad komponentem dynamicznym do ktorego mozesz przypisac

Kopiuj
MyButton.OnClick := procedure1

lub podmienic ja pozniej na

Kopiuj
MyButton.OnClick := procedure2

gdzie jedna z procedur to ta faktyczna a druga jest pusta

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.