지난 수업에서 버튼 두 개를 추가했습니다. 한 개는 클릭하면 버튼 텍스트가 바뀌고 다른 한 개는 클릭하면 현재 창을 닫습니다. 이번 절에서는 첫 번째 버튼에 조금 더 복잡한 로직을 추가하겠습니다. 버튼을 클릭할 때마다 텍스트가 번갈아 바뀌도록 만들며 Pascal 문법을 익히는 것이 주 목표입니다.
이전에 작업한 프로젝트를 엽니다
pas 파일 안의 클릭 이벤트 함수를 직접 수정하거나 아래 방식으로 첫 번째 버튼의 이벤트 함수로 이동할 수 있습니다.

위 이벤트 함수 코드를 아래 내용으로 교체하세요
procedure TForm1.Button1Click(Sender: TObject);
{ 버튼 Tag 속성으로 상태를 기록해 텍스트 토글 구현 }
begin
// Tag 값으로 상태 판단: 0 = 기본 상태, 1 = 토글된 상태
if Button1.Tag = 0 then
begin
Button1.Caption := 'Press again'; // 버튼 표시 텍스트 변경
Button1.Tag := 1; // 상태 플래그를 1로 설정
end
else
begin
Button1.Caption := 'Press'; // 원본 텍스트 복구
Button1.Tag := 0; // 플래그를 0으로 초기화
end;
end;Code language: JavaScript (javascript)
버튼 이벤트로 이동하는 단계
저장된 Lazarus 프로젝트를 열고 Form1 디자인 화면으로 전환한 뒤 화면의 Press 버튼(Button1)을 클릭합니다
컨트롤을 선택한 상태에서 우측의「객체 검사기(Object Inspector)」에서 Events(이벤트) 탭으로 전환합니다
OnClick 클릭 이벤트 항목을 찾고 우측 입력란을 클릭한 뒤 끝에 있는 ... 줄임표 버튼을 누르면 코드 편집기의 해당 함수로 자동 이동합니다
기존 코드를 모두 지우고 아래 전체 코드를 붙여넣은 뒤 프로젝트 저장 → 컴파일 → 실행하면 버튼 클릭 시 텍스트가 계속 번갈아 바뀝니다
- Tag 속성:모든 폼 컨트롤에 기본 탑재된 정수형 속성으로 사용자 정의 숫자 플래그를 저장할 수 있으며 여기서는 0, 1 두 가지 상태만 사용합니다
- 첫 클릭:Tag=0 → 텍스트가
Press again로 변경되고 Tag는 1로 할당 - 두 번째 클릭:Tag=1 → 텍스트가
Press로 돌아오고 Tag는 0으로 초기화 - 반복 클릭할 때마다 텍스트가 토글되며 스위치 효과를 구현합니다
위 코드는 버튼의 Tag 속성에 상태를 저장하는 방식으로 텍스트 전환 효과를 구현했습니다.
실행 예시 화면
Previous: 버튼 클릭 이벤트 시연 효과
Next: 라자루스 IDE 편집 창 안내