디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

윈도우 API쪽 코드 작성중 막혀서 도움 좀 요청합니다

API헬프!(218.235) 2011.10.15 21:26:50
조회 81 추천 0 댓글 7

API로 단순한 도형(직선, 사각형, 원)을 그려놓은다음 이 그려둔 객체들의 각각의 정보를 저장해두도록 하고싶습니다.


저장해 두고 나중에 WM_PAINT 함수 발생시 지워지지 않고 고스란히 객체정보를 출력받고 싶은데, 어떻해야 함?

특히 이 각각 그려진 도형이 서로 개별적으로 저장되어, 마우스 클릭으로 이 도형들을 따로따로 선택하고 도형의 색이나 도형 테두리 색을 변경할 수 있었으면 좋겠는데...(변경 가능한 코드는 이미 짜 뒀슴다.) 

문제는 이 생성한 도형들의 정보를 어떤 식으로 따로 저장해둬야 할 지 모르겠음요. 

보기에는 이쪽 소스랑 
case WM_MOUSEMOVE:
                hdc = GetDC(hwnd);
                if (Drag)
                {
                        SetROP2(hdc, R2_XORPEN);
                        oldPen = (HPEN)SelectObject(hdc, hPen);
                        oldBrush = (HBRUSH)SelectObject(hdc, hBrush);
                        endX = LOWORD(lParam);
                        endY = HIWORD(lParam);
                        switch(object_mode)
                        {
                        case LINE:
                                MoveToEx(hdc, startX, startY, NULL);
                                LineTo(hdc, oldX, oldY);        
                                MoveToEx(hdc, startX, startY, NULL);
                                LineTo(hdc, endX, endY);        
                                break;
                        case ELLIPSE:
                                Ellipse(hdc, startX, startY, oldX, oldY);
                                Ellipse(hdc, startX, startY, endX, endY);
                                break;
                        case RECTANGLE:
                                Rectangle(hdc, startX, startY, oldX, oldY);
                                Rectangle(hdc, startX, startY, endX, endY);
                                break;
                        }
                        oldX = endX; oldY = endY;
                        SelectObject(hdc, oldPen);
                        SelectObject(hdc, oldBrush);
                }
                ReleaseDC(hwnd, hdc);
                break;

        case WM_LBUTTONUP : 
                 Drag = FALSE; 
                 break;


이쪽에는 도형을 그리고나서 이 정보를 다른 메모리에다 저장해두고,


case WM_PAINT:
                hdc = BeginPaint(hwnd, &ps);
                EndPaint(hwnd, &ps);
                InvalidateRgn(hwnd, NULL, TRUE);
                break;
        
이쪽엔 메모리에 저장되어 있던 객체정보를 불러내고, WM_PAINT가 다시 그 객체정보를 받아 그림을 그려내고, 이 그려진 객체를 마우스로 클릭시 선택이 되도록 코드를 짜야할 것 같은데.

요는 "그려진 도형의 정보를 저장할 수 있는 방법은 어떻게 함미까?" 입니다. 
좀 설명이 횡설수설해서 면목이 없는데, 일단 도형을 그려낸 뒤에 그 도형의 정보를 저장할 수 있으면 나머진 어떻게 될 것 같아서...

역시 배열이나 클래스를 정의해서 그쪽에 따로 저장해둬야 하나? 그렇게 되면 도형을 여러개 만들 시에 도형 정보를 각각 저장해 둘 메모리공간을 계속 만들거나, 따로 도형 정보를 받는 곳을 지정해둬야 할 것 같아서 되게 머리가 아픔. Aㅏ...

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
281179 급한것이 있어서.. 부탁좀드릴게요 부탁쟁이(203.255) 11.10.16 42 0
281178 구글 코드 서치 문 닫기로 [1] 우엠다(24.246) 11.10.16 78 0
281177 님들은 어떻게 하다가 프로그래머 되기로 한거임? [2] 1(125.135) 11.10.16 63 0
281175 근데 프갤횽들 중에 삼성컴 쓰는 사람들 있어? [9] 1(125.135) 11.10.16 80 0
281174 역시 프갤러는 로또에 관심이 없나부다 [4] ^0^갤로그로 이동합니다. 11.10.16 57 0
281173 글이 삭제됐어요 ㅠㅠ 다시올리께요 윈도우즈 API 질문이요 [9] 살려주세요(121.88) 11.10.16 96 0
281172 근데 프갤에 과제올리고 먹튀한 사람 심리는 머야? [10] ^0^갤로그로 이동합니다. 11.10.16 106 0
281171 API 질문글 먹튀당함ㅠㅠ 자주오지도않는데 먹튀만 당함 [5] SuCo갤로그로 이동합니다. 11.10.16 92 0
281170 나 신검 4급 받아서 공익판정 받았는데 병특 꽂아줄 형들 없어여? [2] ^0^갤로그로 이동합니다. 11.10.16 78 0
281168 하긴.. 술마시니깐 좋더라. [3] 일광면(119.198) 11.10.16 68 0
281167 병특 하다 망하면 [3] SODMaster(222.237) 11.10.16 88 0
281166 소켓 프로그래밍에서 send 할때 int형 포인터배열을 보낼수있남여 [5] SuCo갤로그로 이동합니다. 11.10.16 98 0
281165 내년 보충역 병역특례 TO노리는 게이들은 내후년으로 미뤄라 [3] ^0^갤로그로 이동합니다. 11.10.16 79 0
281163 프갤러들은 인터넷 속도가 얼마나 됨? [4] 전간디갤로그로 이동합니다. 11.10.16 51 0
281162 웹개발의 경력자의 기준은 뭠미? [1] SODMaster(222.237) 11.10.16 73 0
281160 요즘 웹개발자들도 사람 없어요? [5] ^0^갤로그로 이동합니다. 11.10.16 115 0
281159 발로텔리같은 삶을 살고싶닿ㅎ [1] 즐쿰갤로그로 이동합니다. 11.10.15 44 0
281157 황장엽이 주사파 만든 거 맞아여? ^0^갤로그로 이동합니다. 11.10.15 29 0
281156 왜 사람들은 술을 주체 못할정도로 마시나 [8] 전간디갤로그로 이동합니다. 11.10.15 104 0
281155 나는 왜 공부를 안했을까 ㅠㅠ... [4] SODMaster(222.237) 11.10.15 86 0
281154 근데 왜 서연고임 [5] 전간디갤로그로 이동합니다. 11.10.15 103 0
281153 옥타코어가 나와서 짜증나는 사람은... [7] warota(221.150) 11.10.15 108 0
281152 IBM 때릴꺼야?(119.67) 11.10.15 41 0
281151 리눅스 에서 time 명령에 대해서 [1] 마타버터갤로그로 이동합니다. 11.10.15 41 0
281149 아나 시간복잡도땜에 짱남 [8] ㅁㄴㅇㄹ(14.42) 11.10.15 89 0
281148 이번 iOS5 다 좋은데 전간디갤로그로 이동합니다. 11.10.15 47 0
281147 쿄스케횽 정말 감사함 [1] 얼룩돼지갤로그로 이동합니다. 11.10.15 58 0
281146 JustDrag 뭐 어쩌고 저쩌고 하던데... 어디로 갔지.. SODMaster(222.237) 11.10.15 42 0
281145 비빜휴 시켯다 [7] 로하로하알로하갤로그로 이동합니다. 11.10.15 63 0
281144 학교 발표떄문에 그러는데 ppt 수정하는것좀 도와주실분ㅠㅠ [5] 김발표(220.82) 11.10.15 64 0
281143 세상은 넓고, 할 일은 많다 [1] 쁘띠거니(218.48) 11.10.15 74 0
281141 형들 감기조심하세옇 늅늅 [2] 즐쿰갤로그로 이동합니다. 11.10.15 40 0
281138 모노레스형님 뭐좀 물어볼게요ㅕ [6] ㅇㅇ(121.137) 11.10.15 68 0
281137 옛날엔 프리랜서 일감이 없어서 수입이 불안정하다고 안했는데... 지금은 [11] 꼬꼬월드갤로그로 이동합니다. 11.10.15 172 0
281136 휴대폰 알람 못맞추는 사람 있나? [4] 1(125.135) 11.10.15 56 0
281135 윈7쓰는데 visual 6.0하고 비슷한거없어? [4] 윈7시빡(219.251) 11.10.15 56 0
281134 자꾸막히네... [6] 얼룩돼지갤로그로 이동합니다. 11.10.15 86 0
281133 게임같은 개소리 하지 말고 ERP나 웹프로그래밍하자 게이들아! [16] 꼬꼬월드갤로그로 이동합니다. 11.10.15 254 0
281126 얼굴돼지야 뭘 만드려고 하는건지 알려줘바... [11] 쿄스케갤로그로 이동합니다. 11.10.15 61 0
281124 게임회사 들어가는게 그렇게 힘듦???? [2] ㅇㅇ(121.137) 11.10.15 136 0
281123 Java로 weight 설정 이렇게 하면 되네요 [3] Stan(110.174) 11.10.15 89 0
281122 전산학과 학부생으로 이번 취업 공채 준비하면서 느낀건.. [2] 1234(110.11) 11.10.15 173 0
281121 플래시만세 [5] AS3.0갤로그로 이동합니다. 11.10.15 79 0
윈도우 API쪽 코드 작성중 막혀서 도움 좀 요청합니다 [7] API헬프!(218.235) 11.10.15 81 0
281118 우리 할머니가 과거에 이랬다면 명절이 설래였을거야.jpg [2] Stan(110.174) 11.10.15 71 0
281116 ViewGroup사용할때 자식뷰속성 width하고 height밖에 컨트롤 [6] 얼룩돼지갤로그로 이동합니다. 11.10.15 59 0
281114 아스횽 잘못햇어;; 일광면(119.198) 11.10.15 41 0
281108 왜 애플이 애플인지 알겠다 ㅠㅠㅠㅠㅠㅠㅠㅠ 돌아이바갤로그로 이동합니다. 11.10.15 46 0
281107 JustDrag 횽 소환 [10] monoless갤로그로 이동합니다. 11.10.15 102 0
281105 컴공은 벼락 치기 힘듬 [2] 마타버터갤로그로 이동합니다. 11.10.15 124 0
뉴스 [집 나가면 개호강] ‘스카이개슬 1타(?)’ 강소라VS조한선, 불꽃 신경전! 눈 가리고 ‘아웅’ 승부…세기의 대결!  디시트렌드 07.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2