TODAY : / TOTAL :

분류 전체보기

120627_API :: TextRot , FONT, BITMAP

TextRot SetBkMode(hdc,TRANSPARENT); // 음영처리 함수(기본:불투명) // TRANSPARENT = 투명. FONT hFont=CreateFont(50, // 폰트 크기 0, // 장평 0, // 문자열 각도 (3시방향 기준 0도, 360도 사용) 0, // 문자 각도 (한 글자의 각도 지정 0, // 두께 (0~1000) 0, // 기울임 0, // 밑줄 0, // 관통선 HANGEUL_CHARSET, // Charset 지정 0, // 출력 정확도 0, // 클리핑 정확도 0, // 논리적폰트와 물리적 폰트의 근접 지정 VARIABLE_PITCH | FF_ROMAN, // 폰트의 피치와 그룹 설정. TEXT("궁서")); // 글꼴이름을 나타내는 문자열 지정. Bitmap..

120626_API :: TranslateObject

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; int i; HBRUSH MyBrush,OldBrush; HPEN MyPen, OldPen; switch (iMessage) { case WM_PAINT: hdc=BeginPaint(hWnd, &ps); for (i=0;i

120626_API :: Old Object

void TestResource(BOOL bUnSel,BOOL bDelete,int num) { HDC hdc; HPEN hPen,OldPen; int i; TCHAR str[256]; hdc=GetDC(hWndMain); for (i=0;i ** DC에는 항상 오브젝트가 장착 되어 있는 상태여야 함. case '2': TestResource(FALSE,TRUE,10000); // 기본 오브젝트를 다시 장착시켜주지 않고, 바로 삭제한 경우. break; // => DC에 펜이 장착된 채로 삭제됨. - 다른 작업을 진행 할시 문제가 발생. case '3': TestResource(FALSE,FALSE,10000); // 기본 오브젝트를 다시 장착시켜주지도 않고, 삭제도 하지 않은 경우. break; //=..

120626_API :: GDI

STOCK OBJECT //스톡 브러시 예제 LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; HBRUSH MyBrush,OldBrush; switch (iMessage) { case WM_PAINT: hdc=BeginPaint(hWnd,&ps); MyBrush=(HBRUSH)GetStockObject(GRAY_BRUSH); // 기본적으로 제공되는 스톡오브젝트(브러쉬,펜,폰트) 제공. // 그중에서 브러쉬만 지정해서 가져오므로 HBRUSH 로 캐스팅. OldBrush=(HBRUSH)SelectObject(hdc,MyBrush); // DC 에 도구를 장착 하는 함수...

120621_API :: MOUSE

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; // 좌표를 지속적으로 저장해 두기 위해 static static int x; //-> static short x; static int y; //-> static short y; static BOOL bNowDraw = FALSE; // 마우스 클릭중에만 그리기 작업이 진행되므로 작업여부를 확인 switch (iMessage) { case WM_LBUTTONDOWN: SetCapture(hWnd); // 그리기 작업이 시작되는 시점부터 마우스 이벤트를 받도록해서 윈도우 밖으로 빠져나가도, 마우스의 메시지를 모두 받을수 있음. = 작업영역을 벗어나도..

120620_API :: 도형 그리기(Graphic Draw) , 키 입력(KeyDown)

Draw Graphic LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; static bool Check = false; int xPos; int yPos; static int xPos1; static int yPos1; int xPos2; int yPos2; switch (iMessage) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_LBUTTONDOWN : // lParam 에 x,y 좌표 정보가 저장되고 rParam 에는 조합키정보가 들어감. MSDN 참고. /**************** 클릭한 두점을 이..

120620_API :: DC(Device Context) - TextOut , DrawText

TextOut hdc=GetDC(hWnd); SetTextAlign(hdc,TA_CENTER); // TA_CENTER :: 가운데 정렬. TextOut(hdc,250,100,TEXT("PRINT TA_CENTER "),17); // 문자열 좌표는 문자열 중간을 기준으로 함. TextOut(hdc,250,120,TEXT("PRINT TA_CENTER "),17); ReleaseDC(hWnd, hdc); // 가져왔던 DC 반환. ** 핸들은 사용하고 바로 반납을 해야 함. DrawText HDC hdc; PAINTSTRUCT ps; RECT rt={100,100,400,300}; // { Left Pos , Top Pos, Right Pos, Bottm Pos } TCHAR *str=TEXT("님은 갔습..

120619_API :: API 기본형식 (Default Form)

#include // 프로시저 [콜백] 함수 선언 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE g_hInst; LPCTSTR lpszClass=TEXT("First"); // == const char* ptr = "First"; => const char* ptr = TEXT("first"); // 운영체제가 ANSI 형식이면 상관없지만, 유니코드면 오류 발생. 반드시 TEXT 안에 글자를 넣을것. //메인 [콜백] 함수

120619_API :: 변수명명법 / 유니코드

:: 변수 명명법 :: cb~ 바이트 수 (Count of Byte) dw~ 부호 없는 long형 정수 (Double Word) h~ 핸들(Handle) sz~ - lp~ 포인터 (long pointer ) WORD 2byte Word DWORD 4byte Word :: 유니코드 :: C타입 유니코드 (호환)타입 char TCHAR char* LPSTR const char* LPCTSTR :: 유니코드 지원함수 :: C타입 유니코드 (호환) 타입 strlen lstrlen strcpy lstcpy strcat lstrcat strcmp lstrcmp sprintf wsprintf(printf : 화면 / sprintf: 메모리 == 출력 대상의 차이) * 프로젝트 속성 - 문자 집합 - "유니코드 설정"..

120618_API :: 기초 이론

SDK (Software Development Kit) : 소프트웨어 개발 도구 API (Application Programming Interface) : 프로그래밍을 위해 제공되는 C타입의 함수들의 집합. MFC (Microsoft Foundation Class) : 다양한 API를 여러 개의 C++ 클래스로 작성한 클래스의 집합.-클래스 라이브러리 API 장점 - 로우레벨(Low Level) 의 프로그래밍 가능 - 우수한 성능 - 윈도우 동작원리 이해 단점 - 배우기가 어렵고 시간이 많이 소요. - 컴포넌트 프로그래밍 곤란. (컴포넌트 프로그래밍 :: 클래스화 시킨 프로그래밍) MFC 장점 - API 함수 사용가능. - RAD 툴과 같은 비주얼 기능 제공 - 컴포넌트 프로그래밍에 적합 단점 - 배우기..

포트로얄 data 파일 추출 프로그램. :: Port Royale 3 fuk Extractor

[출처 : 포트로얄3 포럼 ] 포트로얄 3 (Port Royale 3 ) 안에 모든 게임정보를 담고있는 data.fuk 파일에 대한 압축해제 파일입니다. Dragon Unpacker 로 읽어들인 dds 및 기타 이미지 파일 뿐만 아니라 게임에 포합되는 모든 파일을 볼수 있습니다. xml 파일도 확인되서 단축키 및 인터페이스 수정도 가능하네요. 일단 winhex로 추출해낸 스트링파일이 ui/enus 폴더 global.res 파일 안에 있는것 같네요. 폰트는 swf 형식으로 되어있네요. 번역작업을 하려면 res 파일을 건들여야 할것같은데, 이 부분은 제 실력 밖이네요 ;;;;;;;; :: 사용 방법 :: 1. PortRoyale3_Extract.rar 파일을 다운받으신다음 포트로얄3가 설치된 폴더에 압축해제..

게임 이미지 / 텍스쳐 / 비디오 / 오디오 추출 프로그램 Dragon Unpacker 5

게임 내에 특정 파일로 압축된 파일을 열어서 프로그램에 들어가는 다양한 미디어 파일들을 볼수 있는 프로그램입니다. 포트로얄3 포럼에서 파일열린다고 받아서 해봤는데 미디어파일밖에 안열리더군요.. 포트로얄3 를 제외한 다른 유명한 모든 게임들에 포함되는 미디어파일 디컴파일해서 볼수 있습니다. [출처 : http://dragon-unpacker.software.informer.com/5.3/ ] ※ 아이콘이 보글보글이라고해서 보글보글 게임은 아니라는 점... 명심하자. [ 다른 게임 여러 게임들의 언팩도 지원한다. ] [ 포트로얄 3 data.fuk 파일 언팩한 사진. NPC 사진 및 지도, 나무 및 건물 텍스쳐 데이터가 들어가있다. ] [ 그리고 보. 물. 지. 도 까지!!!!! ] :: 설치파일 다운로드 ::

SEARCH

태그로 찾아보기