본문 바로가기
DELPHI/기본 교육 자료

🧠 Windows 구조 개념.zip – 델파이7 예제 포함

by Kim.Sung 2025. 5. 15.
728x90

이 글 하나로 초보자도 꼭 이해해야 할 Windows 프로그래밍 핵심 개념을 정리합니다.  
👇 아래 개념들을 델파이7 코드와 함께 아주 쉽게 설명합니다!


🔹 1. 윈도우 핸들 (Handle)

📌 정의: 윈도우 창, 버튼, 라벨 등 모든 UI 요소에 부여된 고유 ID 번호입니다.  
시스템이 "어떤 창인지" 식별할 때 이 값을 사용합니다.

🧪 예제:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('이 폼의 핸들: ' + IntToStr(Form1.Handle));
end;

────────────────────────────

🔹 2. 디바이스 컨텍스트 (DC, Device Context)

📌 정의: 윈도우 화면에 글자, 그림 등을 그릴 때 사용하는 도화지 역할의 객체입니다.

🧪 예제:
procedure TForm1.FormPaint(Sender: TObject);
var
  DC: HDC;
begin
  DC := GetDC(Form1.Handle);
  TextOut(DC, 50, 50, 'Hello, World!', Length('Hello, World!'));
  ReleaseDC(Form1.Handle, DC);
end;

────────────────────────────

🔹 3. 이벤트 (Event)

📌 정의: 사용자의 행동(클릭, 입력 등)에 대해 윈도우가 알려주는 "일어남"입니다.

🧪 예제:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('버튼이 눌렸습니다!');
end;

────────────────────────────

🔹 4. 콜백 함수 (Callback)

📌 정의: 어떤 이벤트가 발생했을 때 OS가 자동으로 호출해주는 함수입니다.  
델파이에서 메시지 핸들링 함수들이 대표적 콜백입니다.

🧪 예제:
procedure TForm1.WMClose(var Msg: TWMClose);
begin
  ShowMessage('창이 닫히려고 합니다!');
  inherited;
end;

────────────────────────────

🔹 5. 쓰레드 (Thread)

📌 정의: 하나의 프로그램 안에서 동시에 실행되는 독립적인 작업 단위입니다.

🧪 예제:
type
  TMyThread = class(TThread)
  protected
    procedure Execute; override;
  end;

procedure TMyThread.Execute;
begin
  Sleep(3000);
  Synchronize(procedure begin
    ShowMessage('백그라운드 작업 완료!');
  end);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  TMyThread.Create(False);
end;

────────────────────────────

🔹 6. 프로세스 (Process)

📌 정의: 실행 중인 하나의 프로그램 전체를 말합니다.  
→ 메모리, CPU, 핸들 등 독립적 자원을 가집니다.

🧪 예제:
procedure TForm1.Button2Click(Sender: TObject);
begin
  WinExec('notepad.exe', SW_SHOW);
end;

────────────────────────────

📊 요약표

📝 델파이7에서는 이런 개념들이 실무 로직에 그대로 연결됩니다.  
핸들 → 메시지 → 이벤트 → 콜백 → 쓰레드 순으로 이해하면  
윈도우와 소통하는 감각이 생깁니다.

델파이7, 윈도우프로그래밍, 윈도우핸들, 디바이스컨텍스트, 델파이초보, 콜백함수, 이벤트처리, 쓰레드이해, 프로세스개념, 델파이예제, PC개발기초, 윈도우개발입문