/**********************************************************************/
/* 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);
}
}
'개발언어 > c++' 카테고리의 다른 글
DLL에 존재 하는 Class 외부에서 참조하기 (0) | 2016.06.13 |
---|---|
static_lib과 dll을 동시에 지원하는 library를 만들때 주의 할점 (0) | 2016.06.13 |
예외처리(Exception) (0) | 2016.06.13 |
메모리 누수 관련 추적하여 LOG로 남기기 (0) | 2016.06.13 |
MFC 메모리 릭 체크시 유용한 방법 2개 (0) | 2016.06.13 |