웹 에디터를 만들어 볼 작정으로 DHTML 을 임포팅한 후에 글꼴이라던가, 폰트사이즈라던가 수정을 하려면 콤보박스가 필요했다.
그러면 필요한게 콤보박스도 올라가야 하고, DHTML도 올라가야 하는 무언가가 있어야 한다.
나는 TFrame 를 사용하여 그 위에 컨트롤을 배치하도록 했다.
환경은 Window7, Delphi 2007 이다.
먼저 Component - New VCL Component 를 눌러서 TFrame를 찾아보자.
그렇다. 아무리 찾아도 없다 -_-;; 왜 없는지는 잘 모르겠으며 찾아보지도 않았음.. (욕하지마세요 ㅠㅠ)
(앗, 한 번 꽁수를 쓰고 나니 목록에 TFrame 가 보이긴 한데 정장 dfm 이 생성되지 않았음)
이제 꽁수를 쓸 차례이다.
우선 File - New - Package 를 선택해서 패키지를 만든다.
그 다음 Component - New VCL Component 를 눌러서 아무것이나 상속을 받는다. (나는 Unit name 로 정렬해서 Forms중에 선택함)
그리고 아래의 그림처럼 패키지에 unit 파일을 추가한다.
그런 다음 File - New - Others - Frame 를 추가한다.
생성된 유닛은 아래와 같다.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TFrame1 = class(TFrame)
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.
자.. 이제 꽁수를 발휘할 시간이다.
처음 생성된 unit 에서 훔쳐올 것이 있다.
그것은 procedure Register; 이다.
이것을 프레임 unit에 복사하자. 아래와 같다.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TFrame1 = class(TFrame)
private
{ Private declarations }
public
{ Public declarations }
end;
procedure Register;
implementation
{$R *.dfm}
procedure Register;
begin
RegisterComponents('MARS', [TCustomFrame1]);
end;
end.
자. 이제는 맨 처음 생성된 유닛을 프로젝트에서 제외시킨다.
그리고 나서 클래스명을 입맛에 맛게끔 수정하고, RegisterComponents에서 클래스명도 같이 바꿔준다.
또 생성된 프레임의 이름을 바꿔준다. 나는 MarsHtmlEdit로 하였다.
자, 이제 컴파일을 해보자. 잘 돌아간다.
이제 패키지를 인스톨하고 컴포넌트를 등록하고, 저장하고 새로운 프로젝트를 생성하자.
이제 컴포넌트를 폼 위로 올려보자.
아주 잘 나온다.
'Programming > Delphi' 카테고리의 다른 글
델파이에서 아웃룩 사용하기 (준비단계) (0) | 2010.12.14 |
---|---|
폼이 생성되고 해제될 때 이벤트 순서 (0) | 2010.10.12 |
ActiveX Form 만들기 (0) | 2010.10.04 |
윈도우 비스타 & 7 실행시 관리자 권한 획득하기 (0) | 2010.10.04 |
폼 스킨 관련 홈페이지 (0) | 2010.09.18 |