디시인사이드 갤러리

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

갤러리 본문 영역

api 질문이에욤

읭읭읭읭갤로그로 이동합니다. 2010.10.21 18:20:45
조회 105 추천 0 댓글 17

#include <windows.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
LPSTR lpszClass="Radio";
struct dot{
 POINT p;
 int color;
 int size1;
}; dot P[100];
int curcol=0;

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
    ,LPSTR lpszCmdParam,int nCmdShow)
{
 HWND hWnd;
 MSG Message;
 WNDCLASS WndClass;
 g_hInst=hInstance;
 
 WndClass.cbClsExtra=0;
 WndClass.cbWndExtra=0;
 WndClass.hbrBackground=(HBRUSH)(COLOR_BTNFACE+1);
 WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
 WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
 WndClass.hInstance=hInstance;
 WndClass.lpfnWndProc=(WNDPROC)WndProc;
 WndClass.lpszClassName=lpszClass;
 WndClass.lpszMenuName=NULL;
 WndClass.style=CS_HREDRAW | CS_VREDRAW;
 RegisterClass(&WndClass);

 hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
  NULL,(HMENU)NULL,hInstance,NULL);
 ShowWindow(hWnd,nCmdShow);
 
 while(GetMessage(&Message,0,0,0)) {
  TranslateMessage(&Message);
  DispatchMessage(&Message);
 }
 return Message.wParam;
}

#define ID_R1 101
#define ID_R2 102
#define ID_R3 103
#define ID_R4 104
#define ID_R5 105
#define ID_R6 106
HWND r1,r2,r3,r4,r5,r6;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
 HDC hdc;
 PAINTSTRUCT ps;
 HBRUSH hBrush, oldBrush;
 int x,y,i;
 static int counta=0;
 switch(iMessage) {
 case WM_CREATE:
  CreateWindow("button","Graph",WS_CHILD | WS_VISIBLE |
   BS_GROUPBOX,5,5,120,110,hWnd,(HMENU)0,g_hInst,NULL);
  CreateWindow("button","Color",WS_CHILD | WS_VISIBLE |
   BS_GROUPBOX,145,5,120,110,hWnd,(HMENU)1,g_hInst,NULL);
  r1=CreateWindow("button","size 10px",WS_CHILD | WS_VISIBLE |
   BS_AUTORADIOBUTTON | WS_GROUP,
   10,20,100,30,hWnd,(HMENU)ID_R1,g_hInst,NULL);
  r2=CreateWindow("button","size 20px",WS_CHILD | WS_VISIBLE |
   BS_AUTORADIOBUTTON,
   10,50,100,30,hWnd,(HMENU)ID_R2,g_hInst,NULL);
  r3=CreateWindow("button","size 30px",WS_CHILD | WS_VISIBLE |
   BS_AUTORADIOBUTTON,
   10,80,100,30,hWnd,(HMENU)ID_R3,g_hInst,NULL);
  r4=CreateWindow("button","Red",WS_CHILD | WS_VISIBLE |
   BS_AUTORADIOBUTTON | WS_GROUP,
   150,20,100,30,hWnd,(HMENU)ID_R4,g_hInst,NULL);
  r5=CreateWindow("button","Blue",WS_CHILD | WS_VISIBLE |
   BS_AUTORADIOBUTTON,
   150,50,100,30,hWnd,(HMENU)ID_R5,g_hInst,NULL);
  r6=CreateWindow("button","Green",WS_CHILD | WS_VISIBLE |
   BS_AUTORADIOBUTTON,
   150,80,100,30,hWnd,(HMENU)ID_R6,g_hInst,NULL);
  CheckRadioButton(hWnd, ID_R1, ID_R3, ID_R1);
  CheckRadioButton(hWnd, ID_R4, ID_R6, ID_R4);
  
  break;
 case WM_LBUTTONDOWN:
 hdc= GetDC(hWnd);
  x = LOWORD (lParam) ;
  y = HIWORD (lParam) ;
  
  P[counta].p.x = x;          ///클릭한거 x좌표받기
  P[counta].p.y = y;    ///클릭한거 y좌표받기

  P[counta].color = curcol;  //현재색상
  counta++;
 
  InvalidateRect(hWnd,NULL,TRUE);   //WM_PAINT에서 그림그리기
  
  return 0 ;
 case WM_COMMAND:
  if (HIWORD(wParam) == BN_CLICKED) {
   switch (LOWORD(wParam)) {
   case ID_R1:
    P[counta].size1=5;   //라디오 버튼 1번선택시 사이즈 5
    break;
   case ID_R2:
    P[counta].size1=15;//라디오 버튼 2번선택시 사이즈 15

    break;
   case ID_R3:
    P[counta].size1=25; //라디오 버튼 3번선택시 사이즈 25

    break;
   case ID_R4: //라디오 버튼 4번선택시 색상 0

    curcol=0;
    break;
   case ID_R5: //라디오 버튼 4번선택시 색상 1
    curcol = 1;
   
    break;
   case ID_R6: //라디오 버튼 4번선택시 색상 2
    curcol=2;
    break;
   }
  }
  return 0;

 case WM_PAINT:
  hdc=BeginPaint(hWnd,&ps);
 
  for(i=0;i<counta;i++){
 
  switch (P[counta].color) {
   case 0:
   hBrush=CreateSolidBrush(RGB(255,0,0));    //컬러가 0일때 브러시 빨간색
   oldBrush=(HBRUSH)SelectObject(hdc, hBrush);
   break;
   case 1:
   hBrush=CreateSolidBrush(RGB(0,0,255)); //컬러가 1일때 브러시 파란색
   oldBrush=(HBRUSH)SelectObject(hdc, hBrush);
   break;
   case 2:
   hBrush=CreateSolidBrush(RGB(0,255,0)); //컬러가 2일때 브러시 초록색
   oldBrush=(HBRUSH)SelectObject(hdc, hBrush);
   break;}
  
 
  
  Ellipse(hdc,P[i].p.x-P[i].size1,P[i].p.y-P[i].size1, P[i].p.x+P[i].size1, P[i].p.y+P[i].size1); //점그리기
  }
  break;
  
  EndPaint(hWnd,&ps);
  return 0;
 case WM_DESTROY:
  PostQuitMessage(0);
  return 0;
 }
 return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

점찍기 문제인데
라디오버튼 그룹이 2개가있음
하나는 사이즈 고르는거 하나는 컬러설정
////////
LBUTTONDOWN 까지는 잘먹히는거같음
근데 이게 라디오버튼을 한번 클릭할때만 점이찍어짐
색깔을 바꾸는 라디오버튼은 아예 안먹힘
어디가 잘못된걸까요.. 저는 뚤어져라 쳐다봐도 잘모르겟네욤

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 힘들게 성공한 만큼 절대 논란 안 만들 것 같은 스타는? 운영자 24/06/10 - -
226449 홍어형 [4] ㅇ-ㅇ(183.101) 10.12.22 69 0
226447 형들 방학때 공부할거 조언좀 해줘 [6] 옌싱갤로그로 이동합니다. 10.12.22 216 0
226446 크리스마스 [1] 아주아슬갤로그로 이동합니다. 10.12.22 93 0
226445 아....내가 제대로 된 길을 가고있는가... [5] 돌아온yoi(124.153) 10.12.22 145 0
226444 임베디드 개발자는 [4] 저격곰팡이갤로그로 이동합니다. 10.12.22 211 0
226442 HTML이 뭐 그리 쉽나요?? [2] 컴돌이(58.77) 10.12.22 133 0
226440 20분 단위로 배가 아팠다가 안아팠다가 한다 [7] 꿀레갤로그로 이동합니다. 10.12.22 126 0
226439 웹 프로그래밍 할건데 [10] 원싸갤로그로 이동합니다. 10.12.22 194 0
226437 자바 애니메이션 질문 [1] -_-(112.221) 10.12.22 132 0
226436 형들 어깨 아플땐 어떻게 해? [6] 김좆밥갤로그로 이동합니다. 10.12.22 143 0
226435 윈도우 api에서 스크롤바에 대한 질문. [2] 컴돌이(58.77) 10.12.22 90 0
226434 정보보안이 유망한 이유 [3] 홍어(58.180) 10.12.22 231 0
226433 C에서 배열 매개변수로 넘길때 질문! [1] c개초보(180.230) 10.12.22 122 0
226431 자바로 증강현실 구현할수잇나요?? [2] ㅇ;ㅇ(183.101) 10.12.22 153 0
226429 별사탕 OS 드립치던 쉑이는 지금쯤 몰할까? [2] 홍어(58.180) 10.12.22 114 0
226428 네이트 같은데서 앱스 만들려면 어떤거로 만들어야되?? [1] (115.41) 10.12.22 108 0
226427 증가, 감소 연산자 에대해서 질문점요. [6] 시몬갤로그로 이동합니다. 10.12.22 107 0
226424 xml과 php에 대해서 공부할수 있는책 추천부탁 [8] ㄴㅁㅇㅅ(211.58) 10.12.22 145 0
226421 신이 남자에게 여자를 준건 실수였다. [5] 홍어(58.180) 10.12.22 195 0
226420 ★자바국비교육★ 자바오라클 인력패키지 취업교육안내 [3] 중앙인(211.183) 10.12.22 151 0
226419 내가 좋아하는 고삐리 [2] 해일리갤로그로 이동합니다. 10.12.22 217 0
226417 안녕하세요 이번에 컴공과에 입학하는 신입생인데요 [10] 아주아슬갤로그로 이동합니다. 10.12.22 240 0
226416 사고친 막내 여직원 [9] 꿀레갤로그로 이동합니다. 10.12.22 361 0
226415 뉴비인데...방법을 찾다가 찾다가 못찾아서 여기까지 왔네요 ㅠ [10] Function갤로그로 이동합니다. 10.12.22 125 0
226414 보안 떡밥 [4] 넉넉한터갤로그로 이동합니다. 10.12.22 122 0
226413 프로젝트 먹튀 결과 보고. [29] 일광면(211.205) 10.12.22 547 9
226412 해일리 볍진아. [8] 홍어(58.180) 10.12.22 126 0
226411 ㅜㅜ 마니 아파 [3] elwlwlwk갤로그로 이동합니다. 10.12.22 85 0
226410 대기업 가려면 프로그래밍 실력 하~나도 필요 없음 [3] ㅁㄴㄻㄹ갤로그로 이동합니다. 10.12.22 214 0
226409 Emacs 고수분들의 도움을 얻지 못하고 [2] 우분투짱(174.21) 10.12.22 127 0
226408 야 이 씨발새끼들아 [4] 개쉛기갤로그로 이동합니다. 10.12.22 153 0
226406 동생 보고서 쓰는중인데 [3] elwlwlwk갤로그로 이동합니다. 10.12.22 75 0
226405 long int 범위 넘는 소수 계산방법 좀 ㅠ_ㅠ [3] 소수(118.45) 10.12.22 304 0
226403 사람은 가급적이면 존경하지 않는게 좋을거 같어. [16] yundream(211.111) 10.12.22 198 0
226402 구글 번역 jo갓네.. 홍어(58.180) 10.12.22 72 0
226401 아 괴롭다.. [4] 천회장(211.45) 10.12.22 75 0
226400 이정도는 돼야 elwlwlwk갤로그로 이동합니다. 10.12.22 83 0
226399 해일리횽 생일 축하해 [13] 은행강도갤로그로 이동합니다. 10.12.22 113 0
226398 웹은 비대한 플랫폼이다.. 홍어(58.180) 10.12.22 62 0
226397 다음에 앞으로 나란히 라는 웹툰이 있는데 [2] URA!갤로그로 이동합니다. 10.12.22 92 0
226396 블록 다이어그램 무료 툴 없나 [10] prismatic갤로그로 이동합니다. 10.12.22 2399 0
226395 [질문] Emacs + VM 조합 [4] 우분투짱(174.21) 10.12.22 138 0
226394 그러고보니까 예전에 제본세드립 결과가 어떻게 됐는지 아는사람? [4] 페이퍼(112.153) 10.12.22 109 0
226393 인셉션 재밌어 [9] 넉넉한터갤로그로 이동합니다. 10.12.22 108 0
226392 공군 양아치 아니냐? [4] 홍어(58.180) 10.12.22 99 0
226391 김택진 왜 뻘짓하냐 ;; 홍어(58.180) 10.12.22 75 0
226390 혹시 슬라이딩 윈도우 구현 하신분 계신가요? [3] 부탁드립니다(124.111) 10.12.22 164 0
226389 밀갤 훃아들아 프갤이라는델 가려면 어디루 가야해? [조공첨부] [5] 프갤러(121.182) 10.12.22 196 0
226388 메이플 베이컨 먹었는데 elwlwlwk갤로그로 이동합니다. 10.12.22 59 0
226387 김택진 좋겠다 [1] 노힛갤로그로 이동합니다. 10.12.22 136 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2