IT 219

API - 모달리스 대화 상자관련 해서

1. 모달형 대화상자 - 메세시큐를 안거치고 바로간다 .. 2. 모달리스 대화상자 - 메세지가 프로세스의 메세지큐를 통해서 들어간다.. - 따라서 .. api에서 메세지 받는부분에서 .. 메세지의 핸들값이 모달리스 대화상자의 핸들값이면 모달리스 대화상자한테 메세지 보내는 루틴을 추가해줘야 한다. ( 일반적으로 안해줘도 상관없는데 .. 모달리스 대화상자 띄워놓고 이것저것 작업할때 문제가 발생할수도 있다)

IT/Windows API 2005.06.24

CreateCompatibleDC, CreateCompatibleBitmap 함수 차이점.

CreateCompatibleDC(HDC hdc) - hdc에 NULL 써줘도 된다. NULL 써주면 내부적으러 스크린 DC 얻어서 사용한다. GetDC(NULL)와 비슷한원리 CreateCompatibleBitmap(HDC hdc, int Widht, int Height) - hdc에 NULL 써주면 안된다!! ex) g_MemDC = CreateCompatibleDC(NULL); // ok g_hBitmap = CreateCompatibleBitmap(hdc, 1024, 768); // 에러 리턴 HDC hdc = GetDC(g_hWnd); g_hBitmap = CreateCompatibleBitmap(hdc, 1024, 768); // ok g_hOldBitmap = (HBITMAP)SelectOb..

IT/Windows API 2005.06.24

hdc, MemDC 관련해서...

MemDC(메모리DC)는 일반 hdc 보다 더 강력한 기능을 가지고 있다.. hBitmap 이 있을때 1. SelectObject(MemDC, hBitmap) - 이렇게 하면 메모리 DC가 비트맵 사이즈만큼 확장되면서 비트맵의 그림이 메모리DC에 그려진다. 2. SelectObject(hdc, hBitmap)- hBitmap를 SelectObejct은 메모리 DC만 가능하다. 옆과 같이 했을경우 아무일도 안일어난다. 그리고 동시에 두개의 메모리DC가 하나의 hBitmap을 SelectObject를 할수는 없다. Msdn내용 - Bitmaps can be selected for memory DCs only, and for only one DC at a time.

IT/Windows API 2005.06.24

선행처리기 지시어

선행처리기 지시어선행처리기에 대해서는 1회때 배운적이 있고선행처리기 지시어중 #include에 대해서 2회때 이미 배우셨습니다.하지만 지시어에는 이것 외에도 몇가지가 더 있습니다.그럼 그것들에 대해서 알아보죠. (1) #define#define라는 지시어는 매크로 기능을 수행하는 지시어 입니다.기본적인 사용법은 다음과 같습니다. #define 매크로명 [값] 이렇게 해 두면 프로그램 내에서 매크로명과 같은 이름을 가진 단어들을모두 값으로 바꿔 줌니다. 그리고 여기서 값은 없어도 되죠.예를 들어 #define DATA 10 이렇게 해 주면 프로그램 내에 DATA라는 단어를 모두 10으로 바꿔 주게 됨니다.즉 프로그램에서 if(a==DATA) { . . }이렇게 쓴 것은 실재로는 if(a==10) { . ...

호출규약

%C8%A3%C3%E2%B1%D4%BE%E0HWP.zip 호출 규약 가.스택 이 절에서는 호출 규약(Calling Convention)에 대해 알아 본다. 호출 규약이란 함수를 호출하는 방식에 대한 일종의 약속인데 인수는 어떻게 전달하며 리턴값은 어떻게 반환하고 인수 전달을 위해 사용한 메모리는 누가 정리할 것인지 등을 규정한다. 당연히 호출하는 쪽과 호출되는 쪽의 약속이 맞아야 하며 어느 한쪽이 약속을 어길 경우 함수도 제대로 동작하지 않을 뿐더러 메모리가 엉망이 되기 때문에 프로그램은 실행을 계속할 수 없다.호출 규약은 컴파일러 내부에서 일어나는 일이기 때문에 이해하기 쉽지 않다. 사실 함수를 만들 수 있고 호출하는 방법을 알고 있고 내부 동작에 관심이 없다면 굳이 호출 규약을 알아야 하는 것은 아니..

카툰랜더링? - 김학규

이글은 김학규(neolith)님께서 http://www.lameproof.com/ 홈페이지에 작성하신 글을 옮겨 놓은 글입니다. 요즘 '카툰렌더' 방식에 대한 관심이 부쩍 높아지고 있습니다. 트루판타지라이브 온라인, 드래곤 퀘스트8, 다크크로니클2 등 외국게임과 천랑열전, 마비노기, 씰 온라인등 국산 게임들에도 카툰렌더링이 활발하게 쓰이고 있습니다. 우선 카툰렌더에 대한 정확한 정의를 해둘 필요가 있습니다. 카툰렌더링은 비사실적인 렌더링 방식(Non-photo realistic rendering = NPR 기법)중의 하나로써, 어떤 게임이 '카툰렌더링을 이용했다' 라고 말하려면 최소한 다음 2 가지 조건중 하나를 갖추어야 합니다 - 불연속적인 쉐이딩 표현 - 실루엣 외곽선의 묘사 다크 크로니클2 나 드래..

오랫동안 프로그래머로 남으려면..

프로그램이란것은 컴퓨터가 알아 먹는 말로 일을 하게끔 하는 것에 불과하다는 생각이 듭니다. 그러기 위해서 알고리즘이나 자료구조나 언어라든지 한는 부수적인 지식들이 필요한 것이구요. 저는 인문계열 출신인데도 요즈음에는 프로그램을 할때 인문계열에서 공부를 한 것이 더 도움을 줄때가 많이 있습니다. 거의가 응용이지만 프로그램 언어를 공부할때도 알고리즘도 인문교양지식이 많은 도움을 줍니다. 대부분 사람들이 하면 할 수록 프로그램이 어렵다고 하는 것은 자신의 기본지식을 응용하는데에 한계점에 다달해서뚜렸한 실마리를 찾지 못해서 그렇다고 생각을 합니다. 저의 경우 인간의 언어에 대해서는 어느 정도 자신이 있는데 이 언어를 가지고 설명을 해 보겠습니다. 저는 스페인어 프랑스어 독일어 그리고 중국어는 보면 대충 이해를 ..