WinAPI질문을 해도 될까요 ^^
글쓴이: ixevexi / 작성시간: 월, 2005/12/26 - 9:10오후
데브피아에 물어봤는데
답변이 빨리 안올라와서 도움을 청합니다.
----------------------------------------------------------------------
api공부를 시작한지 얼마 되지 않았는데 생각되로 잘 안되서 질문드립니다.
case WM_PAINT: hdc = BeginPaint(hWnd, &ps); MemDC = CreateCompatibleDC(hdc); // TODO: Add any drawing code here... Rectangle(MemDC,50,50,250,500); TextOut(MemDC,270,50,_T("Next :"),6); Rectangle(MemDC,270,80,370,180); BitBlt(hdc,0,0,400,620, MemDC, 0,0,SRCCOPY); //TextOut(hdc,270,340,_T("Score :"),7); //TextOut(hdc,270,480,_T("Lv :"),4); DeleteDC(MemDC); EndPaint(hWnd, &ps); break;
이런식으로 쓰면 BitBlt함수에 의해 제가 그린 Rectangle이 나와야 하는것 아닙니까?
그런데 Rectangle이 나오는게 아니라 흰바탕이 나옵니다 ㅠ.ㅜ
메인 윈도우는 CreateWindow함수의 인자에 WS_THICKFRAME을 빼고 400* 600 크기로 만들어 고정시켰습니다
어디가 잘못된걸까요?
Forums:
Re: WinAPI질문을 해도 될까요 ^^
넓게 보자면 다 프로그래밍이고, 항상 리눅스 관련 개발 질문만
올라오는 건 아니지만, 여기서는 윈도에 직접적으로 관련된
질문은 데브피아나 코드그루 같은 곳에 하시기를 권하는 것
같습니다.
아무튼 지금 하신 질문같은 경우는 윈도 프로그래밍 관련
책을 한번도 안보신 상태에서 하신 것 같네요. 책 한권 사셔서
보시기 바랍니다.
결과가 그렇게 나온 이유는 메모리 DC 에 오프 스크린
비트맵이 선택되어 있지 않기 때문입니다.
그 이상 관련 부분은 책을 찾든 MSDN 을 찾든 하시는 게
공부하시는 과정에 많은 도움이 되실거라 생각해서 이만
줄입니다.
Orion Project : http://orionids.org
CreateBitmap() 하신후 SelectObject() 해주세요.
CreateBitmap() 하신후 SelectObject() 해주세요..
아직 갈길이 멉니다만...
( SelectObject() 한 후에는 다시 돌려주는 센스를.... )
CreateCompatibleBitmap 함수를 이용해서 DC와 호환되는
CreateCompatibleBitmap 함수를 이용해서 DC와 호환되는 비트맵을 만드신후 그 비트맵을 SelectObject로 세팅 하시고 그리고 나서 그리기 관련 함수를 이용해서 그리신후 bitblt하시면 됩니다.
SelectObject를 할때 리턴값으로 주어지는 bitmap을 저장해놨다가 DeleteObject로 비트맵을 지우시기 전에 저장해놓은 비트맵으로 돌려놓으신 후 삭제를 하시면 됩니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
답변에 감사드립니다 ^^되네요이걸 물어본 이유는윈도우 AP
답변에 감사드립니다 ^^
되네요
이걸 물어본 이유는
윈도우 API정복(가남사)책을 보다가
8장이 끝나고 9장 초입에 테트리스를 만드는 방법을 소개하였는데
그 부분을 읽기전에 제가 먼저 테트리스를 만들어 보려고 하는 과정에서
깜박임을 해결할려고 bitmap을 사용해 볼까 했었는데 ^^
bitmap사용하는게 간단하지 않은 문제였네요..
C++, 그리고 C++....
죽어도 C++
댓글 달기