본문으로 바로가기

Win32 Static Library( 정적 라이브러리 )

category 개발언어/c++ 2016. 6. 13. 14:06

 /**********************************************************************/

/* Win32 Static Library( 정적 라이브러리 )

/**********************************************************************/

1. 프로젝트를 생성한다.

Win32 Static Library 선택

2. Graphic .h파일 생성

#include <windows.h>

void Draw Rect( HWND hWnd, RECT rt );

void Draw Ellipse( HWND hWnd, RECT rt );

3. Graphic .c pp파일 생성

#include "Graphic.h"

void Draw Rect( HWND hWnd, RECT rt )

{

HDC hdc;

hdc = GetDC( hWnd );

Rectangle( hdc, rt.left, rt.top, rt.right, rt.bottom );

ReleaseDC( hWnd, hdc );

}

void Draw Ellipse( HWND hWnd, RECT rt )

{

HDC hdc;

hdc = GetDC( hWnd );

Ellipse( hdc, rt.left, rt.top, rt.right, rt.bottom );

ReleaseDC( hWnd, hdc );

}

4. 컴파일 하면 lib파일이 생성된다.

5. 프로젝트를 새로 생성한다.

Win32 Application

6. 새로생성한 프로젝트의 폴더로 l i b파일과 Graphic .h파일 복사

7. 새로 생성한 프로젝트에 l i b링크 추가

8. 새로 생성한 프로젝트에 Graphic .h파일 추가

9. 새로 생성한 프로젝트의 소스에 Graphic .h파일 include

#include "Graphic.h"

10. 새로 생성한 프로젝트의 WndProc에서

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM w Param, LPARAM lParam)

{

RECT rt;

POINTS pt;

sw itch (message)

{

.....

case WM _LBUTTONDOWN:

pt = MAKEPOINTS(lParam);

rt.left = pt.x;

rt.top = pt.y;

rt.right = pt.x + 20;

rt.bottom = pt.y + 20;

Draw Rect( hWnd, rt );

break;

case WM _RBUTTONDOWN:

pt = MAKEPOINTS(lParam);

rt.left = pt.x;

rt.top = pt.y;

rt.right = pt.x + 20;

rt.bottom = pt.y + 20;

Draw Ellipse( hWnd, rt );

break;

default:

return DefWindow Proc(hWnd, message, w Param, lParam);

}

}