디시인사이드 갤러리

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

갤러리 본문 영역

api 질문이에욤

읭읭읭읭갤로그로 이동합니다. 2010.10.21 18:20:45
조회 104 추천 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 - -
이슈 [디시人터뷰] 웃는 모습이 예쁜 누나, 아나운서 김나정 운영자 24/06/11 - -
225970 구글 바디 브라우저 [3] ㅇㅇ(210.107) 10.12.20 237 0
225969 형들 return ; 가 의미하는게 뭐죠? [7] ㅇㅇ(125.132) 10.12.20 168 0
225966 우왕 넷빈즈 자동으로 코드도 생성해주고 자바 존나좋다 [3] 개쉛기갤로그로 이동합니다. 10.12.20 151 0
225965 달팽이 더 간단하게 해봤삼. [1] 늅늅(202.136) 10.12.20 125 0
225962 16진수 표현좀.... [4] ㄷㅈㅁㄴ(183.109) 10.12.20 139 0
225961 C 언어 질문 있습니다 ㅠ.ㅠ 컴파일은 되는데 실행하면 에러 [4] 드록신(121.88) 10.12.20 105 0
225959 오잉 박찬호 오릭스행?? 시불라미갤로그로 이동합니다. 10.12.20 48 0
225957 달팽이 함 해봤삼. 자바로. 늅늅(202.136) 10.12.20 97 0
225956 자바하는 형들, 넷빈즈랑 이클립스 머가 더 좋음? [2] ㅂㅂ(112.221) 10.12.20 114 0
225955 effective시리즈는 진리입니다 [1] 아잉따잉갤로그로 이동합니다. 10.12.20 105 0
225954 갑자기 꿈 한 부분의 내용이 기억났는데 aszx(211.206) 10.12.20 46 0
225953 이제 대학생되는데 질문좀 [13] sd(203.130) 10.12.20 223 0
225952 이펙티브 자바 괜히 샀다. [5] 머그컵갤로그로 이동합니다. 10.12.20 204 0
225951 친구놈이 자꾸 포격드립치는데 [4] aszx(211.206) 10.12.20 126 0
225950 피파 하는횽들 없음메? [1] 캐꼬꼬닭(112.216) 10.12.20 56 0
225949 사격 게시됨 ㄷㄷㄷ 2:30분 정도 부터래 [2] 시불라미갤로그로 이동합니다. 10.12.20 101 0
225948 C++로 사용한 MFC 질문좀 할께요 ㅠㅠㅠ [4] 늅뉴빙(121.174) 10.12.20 165 0
225947 자바로 타로카드 보는 프로그램.. [2] 에휴휴휴휴(112.186) 10.12.20 94 0
225946 프로젝트 먹튀;; 진행상황 [15] 일광면(119.198) 10.12.20 427 0
225945 미국가서 성공하는법 [3] 꿀레갤로그로 이동합니다. 10.12.20 170 0
225944 정신이 혼미해진다 [3] 개쉛기갤로그로 이동합니다. 10.12.20 103 0
225943 일어난지 2시간째 [5] elwlwlwk갤로그로 이동합니다. 10.12.20 92 0
225942 미쿡가서 성공하려면 어떻게 해야함여? [6] SebasT갤로그로 이동합니다. 10.12.20 115 0
225941 군복들은 다려 놓으셨슴까? [4] SebasT갤로그로 이동합니다. 10.12.20 140 0
225940 부칸 핵사찰단 다시 복귀하라고 어쩌고 뉴스 나왔넹 [3] 시불라미갤로그로 이동합니다. 10.12.20 82 0
225939 시펄 결정한 치타후치타횽 글에 리플 보니까 궁금해서 그러는데 [15] aszx(211.206) 10.12.20 136 0
225938 자바에서 vector 사용중인데요 [4] ㅇㅇ(180.224) 10.12.20 132 0
225936 안드로이드 오류좀 봐주실분? [7] 안드로이드(58.145) 10.12.20 173 0
225933 아흨 VirtualBox에 Debian 깔고 통신좀 하려 했더니 [4] foriequal0갤로그로 이동합니다. 10.12.20 173 0
225931 형님들.. 전졸예정 컴정과학생인데 좀 상담좀요 [2] 뉴비(203.229) 10.12.20 139 0
225929 이 불쌍한 중생에게 가르침을 주십시오 [2] (118.131) 10.12.20 66 0
225928 미국에선 컴싸전공 한다고 하면 진짜 미래의 엘리트 취급받는데 [2] ㅇㅇ(74.60) 10.12.20 321 0
225926 opengl 질문 좀~ [3] 헬푸미(112.146) 10.12.20 141 0
225925 님들아 어디로 도망가면 무사할까염? [2] 스몰마인드(121.182) 10.12.20 91 0
225923 Assist 좀 도와줘 [3] ㅇㅅ(110.15) 10.12.20 57 0
225922 랜덤함수를 사용못하면?? [12] asfdafdsafsd(121.65) 10.12.20 165 0
225921 마소의 노예가 된 이유? [2] 훗쇼갤로그로 이동합니다. 10.12.20 159 0
225920 시펄 그래 결정했어! [19] 치타후치타갤로그로 이동합니다. 10.12.20 274 0
225919 덕후 까지 마라... [4] SebasT갤로그로 이동합니다. 10.12.20 147 0
225918 [이지스원] 군특기병(병역특례) 정보보안교육과정 [5] 이지스원교육부갤로그로 이동합니다. 10.12.20 163 0
225917 대학가면 유초중고딩때부터 컴터하더놈 얼마나있어? [27] 치타후치타갤로그로 이동합니다. 10.12.20 235 0
225916 2주일째 똑같은짓 반복중 [2] SebasT갤로그로 이동합니다. 10.12.20 67 0
225914 왠지 프로그래밍하면 졸라 멋있어보임 [7] 치타후치타갤로그로 이동합니다. 10.12.20 160 0
225913 해일리는 또 봅니다. [6] iljeomobolt갤로그로 이동합니다. 10.12.20 110 0
225912 해일리는 봅니다. [6] iljeomobolt갤로그로 이동합니다. 10.12.20 162 0
225910 string 입력과 예외처리 질문좀 [3] 전설의기타리스트갤로그로 이동합니다. 10.12.20 87 0
225909 북한 개객기들.. [3] 꿀레갤로그로 이동합니다. 10.12.20 103 0
225908 안드로이드 좀 이상해.. [7] sdf(119.193) 10.12.20 114 0
225907 곧 연평도사격훈련할듯... [2] 꿀레갤로그로 이동합니다. 10.12.20 77 0
225906 [이지스원] 해킹보안실무교육, 이지스원교육센터 찾아오시는길 [8] 이지스원교육부갤로그로 이동합니다. 10.12.20 155 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2