디시인사이드 갤러리

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

갤러리 본문 영역

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

API헬프!(218.235) 2011.10.15 21:26:50
조회 84 추천 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/08/04 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
공지 프로그래밍 갤러리 이용 안내 [92] 운영자 20.09.28 46022 65
2877780 씨발 히키새끼야 너 믿고 프로그래밍 공부했다가 시간 날렸다 프갤러(222.108) 09:53 2 0
2877779 정체성을 깨달았습니다. 프갤러(220.84) 09:48 3 0
2877777 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ [1] ♥님아그다리를건너지마오쩌둥♥갤로그로 이동합니다. 09:09 17 0
2877776 나님 문제파악능력 ㄱㅆㅅㅌㅊ !! [2] ♥님아그다리를건너지마오쩌둥♥갤로그로 이동합니다. 09:03 21 0
2877775 유니티 인디게임 대부분 유저 데이터 암호화해놓냐 [7] 프갤러(118.223) 08:58 45 0
2877774 딱신(211.234) 08:58 10 0
2877773 오늘을 살자 내일도 살리자 넥도리나(220.74) 08:47 11 0
2877771 좌파 지인이랑은 여행도 같이 가지마라 기록 남음 ♥님아그다리를건너지마오쩌둥♥갤로그로 이동합니다. 08:34 11 0
2877770 흠.. 그렇게 된건가.. [3] ♥님아그다리를건너지마오쩌둥♥갤로그로 이동합니다. 08:12 33 0
2877769 개좆되는 게임성만 있으면 [1] 뉴진파갤로그로 이동합니다. 07:45 31 0
2877767 씨발 다시는 히키같은 새끼가 나오면 안 됨 프갤러(222.108) 07:19 22 0
2877765 누가 나님 냥덩이 만진거야? [3] ♥님아그다리를건너지마오쩌둥♥갤로그로 이동합니다. 06:21 41 0
2877763 히키 씨발년 진짜 증오스럽다 개새 [2] 프갤러(222.108) 06:12 36 1
2877762 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥님아그다리를건너지마오쩌둥♥갤로그로 이동합니다. 06:10 20 0
2877760 이거 갖고싶움 ㅇㅅㅇ [2] 어린이노무현갤로그로 이동합니다. 04:15 43 0
2877759 진짜 프로그래머들 이래요? [1] ㅇㅇ갤로그로 이동합니다. 03:59 72 1
2877756 음기 충전 발명도둑잡기(118.216) 02:52 20 0
2877754 머학에서 수업 30시간 이상 못듣는거 충격적이지않음? [1] 공기역학갤로그로 이동합니다. 02:26 44 0
2877753 메모리랑 io를 원하는 타이밍에 통제못하는게 화남 [1] 공기역학갤로그로 이동합니다. 02:21 42 0
2877750 이렇게 까지 해서 벌어야 하나? ㅇㅇ(175.223) 01:57 24 0
2877749 Rust 특 [2] 프갤러(121.150) 01:45 42 0
2877747 슬슬 오늘도 한권의 책을 다 읽었으니 자야긋다 [2] ㅆㅇㅆ(124.216) 01:29 39 0
2877745 async에 대해서 조금 쉽게 설명을 해주자면 대강 이럼. [1] ㅆㅇㅆ(124.216) 01:25 50 0
2877744 <난징 사진관> 발명도둑잡기(118.216) 01:17 18 0
2877743 근데 C# 개발자가 async를 안 쓸수가 있나? ㅆㅇㅆ(124.216) 01:17 42 0
2877742 나는 인생에 지향하는 바가 명확하다면 좀 넉넉치않아도 행복하다 생각함 ㅆㅇㅆ(124.216) 01:07 41 0
2877741 가끔은 유학을 사람들이 아예 안 읽어서 참 아쉽단 생각을 해. ㅆㅇㅆ(124.216) 00:59 41 0
2877740 개발자 된지 2년 넘었는데 async가 뭔지 모름 [12] 프갤러(1.245) 00:56 95 0
2877739 안철수씨 말 덜 더듬더라 [2] 헬마스터갤로그로 이동합니다. 00:54 45 0
2877738 중요한건 인생의 경험을 어떻게 자산화 하느냐가 낭비냐 아니냐가 되는거지. [1] ㅆㅇㅆ(124.216) 00:50 38 0
2877737 인생은 남이 보면 지옥이더라도 자기가 만족하면됨. [6] ㅆㅇㅆ(124.216) 00:43 52 0
2877736 인생이 지옥으로 떨어지는 건 한순간이다 [8] 아스카영원히사랑해갤로그로 이동합니다. 00:37 106 1
2877733 하노이의탑 재귀호출 문제 풀다가 자살하고싶어짐 [1] ㅇㅇ(223.39) 08.03 70 0
2877730 인디아나존스 게임 베네치아 배경음악 발명도둑잡기(118.216) 08.03 19 0
2877729 인디아나존스 발명도둑잡기(118.216) 08.03 19 0
2877728 113.오구차단 넥도리아(220.74) 08.03 29 0
2877727 인디아나존스 3 최후의 성전 게임 오프닝 발명도둑잡기(118.216) 08.03 20 0
2877726 넥도리아 쟤도 차단해야겠네 프갤러(113.59) 08.03 55 0
2877725 내일 아침 국장 볼만하겠노 [1] 아스카영원히사랑해갤로그로 이동합니다. 08.03 100 1
2877723 지피티5나오면 국비는 ㅈ댐? [1] ㅇㅇ(211.235) 08.03 81 0
2877722 성립하여선 아니될 일이 성립했습니다. 프갤러(220.84) 08.03 27 0
2877721 챗지피티랑 제미나이랑 성능차이 존나 심한듯 [2] 프갤러(220.70) 08.03 57 0
2877720 사람들 생성형 ai 잘다루는 백엔드 개발자 존나 좋아하는 듯 프갤러(118.36) 08.03 50 0
2877719 오늘 해킹 공부한 것 루도그담당(58.239) 08.03 39 0
2877717 건설적, 생산적, 발전적 방도는 아무래도 어렵죠? 프갤러(220.84) 08.03 22 0
2877716 성격 급한 애들이 문제얌. [3] 넥도리아(220.74) 08.03 54 0
2877715 오토바이가 조금 빨리 가겠다고해서, 피해주다가 앞 못봐서 펜스기둥에 넥도리아(220.74) 08.03 22 0
2877714 백제 황산벌 전투 계백의 이름이 미스터리 책사풍후갤로그로 이동합니다. 08.03 27 0
2877712 ysing-Beautiful Sunrise 발명도둑잡기(118.216) 08.03 14 0
뉴스 친구 남편과 바람 피운 아내…속옷 냄새 맡는 의처증 남편 디시트렌드 08.01
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2