Delphi 프로그래머로서 프로그래밍 수준을 더욱 향상시키려면 컨트롤 작성 방법을 마스터해야 합니다. 이 기사에서는 간단한 예제를 통해 초보자를 위한 컨트롤 작성의 몇 가지 기본 방법과 패턴을 소개합니다.
이 예제 컨트롤은 TLeiLabel이라고 하며 TLabel을 기반으로 두 가지 실용적인 기능을 추가합니다. 하나는 텍스트를 3차원 모양으로 만드는 것이고, 다른 하나는 텍스트에 하이퍼링크 속성을 갖도록 만드는 것입니다. 이러한 기능을 단계별로 구현해 보겠습니다.
1. 텍스트를 입체적인 모양으로 만듭니다.
먼저 T3DEffect 유형과 Style3D 속성을 다음과 같이 정의합니다.
T3DEffect=(보통, 높임, 낮춤, 그림자);
PROperty Style3D:T3DEffect 읽기 FStyle3D 쓰기 SetStyle3D 기본값 보통;
그런 다음 "FStyle3D:T3DEffect;"라는 변수를 정의하고 SetStyle3D() 메서드를 다음과 같이 설정합니다. 이는 메서드 작성을 위한 일반적인 형식이기도 합니다.
절차 TLeiLabel.SetStyle3D(값: T3DEffect);
시작하다
FStyle3D <> 값이면
시작하다
FStyle3D := 값;
무효화; //컨트롤이 다시 그려질 것임을 나타냅니다.
끝;
끝;
또한 그림자가 있는 텍스트의 경우 그림자의 오프셋인 ShadeXOffSet 및 ShadeYOffSet를 정의해야 합니다.
속성 ShadowXOffSet: 정수 읽기 FXOffSet 쓰기 SetFXOffSet 기본값 5;
속성 ShadowYOffSet: 정수 읽기 FYOffSet 쓰기 SetFYOffSet 기본값 -5;
쓰기 방법 SetFXOffSet() 및 SetFYOffSet()는 위의 SetStyle3D()와 유사합니다.
컨트롤을 다시 그리려면 일반적으로 Paint 메서드를 오버로드해야 합니다. 여기서는 DoDrawText 메서드만 오버로드하면 됩니다.
DoDrawText 선언은 Protected에 배치됩니다.
절차 DoDrawText(var Rect: TRect; 플래그: Longint);
여기서 DoDrawText()는 네 가지 유형(보통, 볼록, 오목 및 그림자)에 따라 다양한 텍스트를 그립니다.
2. 텍스트에 하이퍼링크 속성을 부여하세요
연결할 URL 또는 이메일 주소를 나타내는 속성 URL을 정의합니다.
속성 URL: 문자열 읽기 FURL 쓰기 SetURL;
다음과 같이 SetURL 메서드를 작성합니다.
절차 TLeiLabel.SetURL(값: 문자열);
시작하다
if FURL <> 값 then FURL := Value ;
만약 FURL <> '이면
커서 := crHandPoint;
끝;
이 레이블을 클릭하면 브라우저나 메일 보내기 및 받기 도구를 열어야 하며, 이를 위해서는 Click 메서드를 오버로드해야 합니다.
절차 재정의;
절차 TLeiLabel.Click;