버튼 클릭 텍스트 전환 예시

지난 수업에서 버튼 두 개를 추가했습니다. 한 개는 클릭하면 버튼 텍스트가 바뀌고 다른 한 개는 클릭하면 현재 창을 닫습니다. 이번 절에서는 첫 번째 버튼에 조금 더 복잡한 로직을 추가하겠습니다. 버튼을 클릭할 때마다 텍스트가 번갈아 바뀌도록 만들며 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 클릭 이벤트 항목을 찾고 우측 입력란을 클릭한 뒤 끝에 있는 ... 줄임표 버튼을 누르면 코드 편집기의 해당 함수로 자동 이동합니다

기존 코드를 모두 지우고 아래 전체 코드를 붙여넣은 뒤 프로젝트 저장 → 컴파일 → 실행하면 버튼 클릭 시 텍스트가 계속 번갈아 바뀝니다

  1. Tag 속성:모든 폼 컨트롤에 기본 탑재된 정수형 속성으로 사용자 정의 숫자 플래그를 저장할 수 있으며 여기서는 0, 1 두 가지 상태만 사용합니다
  2. 첫 클릭:Tag=0 → 텍스트가 Press again로 변경되고 Tag는 1로 할당
  3. 두 번째 클릭:Tag=1 → 텍스트가 Press로 돌아오고 Tag는 0으로 초기화
  4. 반복 클릭할 때마다 텍스트가 토글되며 스위치 효과를 구현합니다

위 코드는 버튼의 Tag 속성에 상태를 저장하는 방식으로 텍스트 전환 효과를 구현했습니다.

실행 예시 화면

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다