본문 바로가기
Delphi/문법

델파이 Application

by MonoSoft 2023. 9. 21.
728x90
반응형

델파이 Application

728x90

 

 

TApplication 

 

TApplication type 으로, 프로그램 그 자신으로 생각할 수 있다.

 

Delphi 어플리케이션의 주요 실행 및 관리를 담당합니다.

Delphi는 GUI (그래픽 사용자 인터페이스) 기반 애플리케이션을 개발하기 위한

강력한 통합 개발 환경(IDE)이며, TApplication은

이 환경에서 GUI 애플리케이션을 작성할 때 핵심 역할을 한다.

 

Dpr(프로젝트 파일) 과 개발환경 내 Project -> options -> Application에서

Title, Help File, Icon 등을 지정해 줄 수 있다.

 

[일반사항] - 전체중 일부로 특정한 것만을 기록했다.

 

Property

- ExeName : String ; - 경로를 포함한 실행파일 명을 얻는다.

- Handle : HWND ; - 실행파일의 Handle 를 얻는다.

- HelpFile : String ; - Help 파일을 지정한다.

- Hint : String ; - Hint를 지정한다.

- MainForm : TForm ; - 실행파일에서 MainForm으로 지정된 Form.

- Title : String ; - Title 를 지정한다.

 

 

Methods

- CreateForm : Form을 Create 한다. 대표적으로 프로젝트 파일에서 볼 수 있다.

- MessageBox : Windows API MessageBox 를 캡슐화했다. MessageBox를 보여준다.

- ProcessMessages : 메시지 큐에 있는 메시지들을 실행시킨다.

- Terminate : 프로그램을 정상종료한다. (Windows API PostQuitMessage 호출)

 

Event

- OnMessage : Application의 메시지를 처리하는 이벤트

 

 

참고

1) TApplication 은 unit 'forms' 에 정의되어있다.

따라서 forms를 사용하지 않는다면, API를 직접 호출하는 것이 파일 크기를 작게 할 수 있다.

(예 : Form이 없는 프로그램에서 사용)

 

2) ExeName 는 'ParamStr(0);' 과 동일한 결과를 얻는다.

 

3) Form Create 는 이로써 3가지가 되었다.

 

Form1 := TForm1.Create(Self);

Form2 := TForm2.Create(Application);

 

Application.CreateForm(TForm3, Form3);

 

4) MessageBox 대신 Windows API MessageBox 를 직접 호출할 수 있다

 

5) OnMessage 에서의 메시지 처리를 이용하여, Handle이 있는 Control의

기본적으로 제공되지않는 Event를 처리할 수도 있다

 

 

(예 : DBgrid 의 OnMouseMove Event)

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  Application.OnMessage := AppMessage;

end;

 

procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);

begin

  if (Msg.message = WM_MOUSEMOVE) and

     (Msg.hwnd = DBGrid1.Handle) then

  begin

    Memo1.Lines.Add(IntToStr(LOWORD(Msg.lParam))); // Memo1 에 커서의 수평위치를 추가한다.

    Handled := True;

  end;

end;

728x90
반응형

'Delphi > 문법' 카테고리의 다른 글

델파이 동적 2차원 배열  (0) 2023.09.25
델파이 Parameter  (0) 2023.09.22
델파이 Self  (0) 2023.09.20
델파이 Owner 와 Parent  (0) 2023.09.13
델파이 포인터 (Pointer) 11편  (0) 2023.08.24

댓글