디시인사이드 갤러리

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

갤러리 본문 영역

api 질문이에욤

읭읭읭읭갤로그로 이동합니다. 2010.10.21 18:20:45
조회 111 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이번주 설문은 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
345983 근데 프로그래머는 adminin(121.164) 13.02.15 48 0
345982 알고리즘 문제 푸는데.. 파일입출력부에서 자꾸 오류뜸 ㅠㅠ 우째야됨 고기먹자(183.100) 13.02.15 39 0
345981 자바랑 자바 스크립트 ?? [6] 자ㅑ바(121.164) 13.02.15 118 0
345980 어휴 리눅스 이렇게 불편하니까 아무도 안쓰지 [5] 빕뱟뱟갤로그로 이동합니다. 13.02.15 160 0
345979 c언어 다음 말이야 [2] ㄹㄹ(121.164) 13.02.15 59 0
345978 윈도우 프로그래밍 공부 하고싶은데 [4] 윈도우(121.164) 13.02.15 79 0
345977 닷넷 오류 이거 머임? [7] 힝아(1.212) 13.02.15 73 0
345976 머지 갑자기 친구새키가 전화해서 일자리 소개시켜주네 [1] Kyle(138.25) 13.02.15 84 0
345975 리눅스 공부를 하고 싶은데 뭔가 선행해서 봐야하는게 있나여? [5] ff(175.212) 13.02.15 104 0
345973 닷넷 하는 형들 개념 좀 잡아주셈여 힝아(1.212) 13.02.15 45 0
345972 IT국제자격증/전공대비/프로그래밍운영체제네트워크상담 C언어 단기교 김민섭팀장(211.217) 13.02.15 48 0
345971 자바개발자로 취직 진짜 안할거임? [11] S-GUN갤로그로 이동합니다. 13.02.15 205 1
345970 오랜만에 구구단코딩 했는데 에러가 나오는데요? [8] 상상(175.123) 13.02.15 188 0
345969 ms사이트 회원가입어찌함? d65g(175.215) 13.02.15 30 0
345967 네이버메인메뉴에잇는화면들 테이블태그로 이루어졋나여? [1] d65g(175.215) 13.02.15 66 0
345966 C++ 에서 strcpy 도와주세요 [14] 이거아는사람(202.30) 13.02.15 91 0
345965 바람의나라 핵만들려면 [2] ㅇㅇ(220.125) 13.02.15 182 0
345962 이클립스랑 오라클설치해서 sql-developer 사용중인데, [1] 개구리래머갤로그로 이동합니다. 13.02.15 91 0
345961 c) scanf궁금한거 [4] 이힝(211.246) 13.02.15 109 0
345958 더블클릭같이 더블 키입력 체크하는 좋은 방법이 없을까?? [4] 웨펀마스터11갤로그로 이동합니다. 13.02.15 150 0
345957 이산수학 공부하고 싶은데 책.. [5] 이힝(175.215) 13.02.15 219 0
345956 IT계열 해외 취업이 어떤가요? [7] 늅늅(112.172) 13.02.15 327 0
345953 인터넷 보안은 보안전문업체한테 맏기는게 좋을듯 ㅇㅇ [2] 티버애니갤로그로 이동합니다. 13.02.14 196 0
345952 게임회사 이력서 정리된거랑 소스파일도내야되? [4] 으마마악(211.237) 13.02.14 187 0
345951 회사에서 하는 프로그래밍만 하다보면 왠지 질리고 재미없지 않아요?? [12] 개쉛기갤로그로 이동합니다. 13.02.14 308 0
345950 프로그래밍으로 19살에 월600 버는거 가능 [11] ㅁㄴㅇㄹㄴㅇ(1.227) 13.02.14 380 0
345949 문자열은 값이야 주소야? [13] 상상(175.123) 13.02.14 226 0
345948 DB 튜닝법 자세히 나와있는 책있음 ? [3] 천국거지갤로그로 이동합니다. 13.02.14 99 0
345945 디자인 패턴 개쩐당 [5] 우앙(14.36) 13.02.14 220 0
345942 형님들 인공지능 이론에 대해서 이해가 안되서 질문좀요 [4] ssapo갤로그로 이동합니다. 13.02.14 151 0
345939 C++ 함수 이름 대문자로 만듬? [5] 시시(14.36) 13.02.14 129 0
345938 와이드 노트북으로 도저히 코딩 못하겠다 [7] 굿컴(14.36) 13.02.14 189 0
345937 vi 편집기? [4] ㅁㄴㅇㄹ(119.56) 13.02.14 124 0
345936 플래시 소켓 서버 만들고 싶은데 [2] 래디가가(61.140) 13.02.14 75 0
345935 맵에디터 처음만드려고 해보는개 머쓰는게좋음? [2] 모르겠어(175.223) 13.02.14 87 0
345933 3d 윈도우 가젯 만드는 방법이 궁금함 [4] d(168.126) 13.02.14 100 0
345932 gvim 자동 들여쓰기기능 없음? [4] 나리링갤로그로 이동합니다. 13.02.14 88 0
345931 대학원은 과연 그만한 가치가 있는가/ [5] 니 코 가 뭐갤로그로 이동합니다. 13.02.14 310 0
345930 자바로 mysql문 날리고싶은데어찌해야함니까 [1] ㅂㄷ죠ㅛㄱ(175.215) 13.02.14 86 0
345929 형들 온라인게임같은거는 [3] ㅡㅡㅋ(113.216) 13.02.14 120 0
345928 리눅스는 어려우시다 ㅠㅠ [2] 나리링갤로그로 이동합니다. 13.02.14 118 0
345927 거 소켓프로그래밍 배울라카면 c언어알고배워야하는거여? [9] 346ㅛㄱ(175.215) 13.02.14 149 0
345926 코드 에러때문에 구글링 하다보면 제일 짜증나는 것들 MUFF갤로그로 이동합니다. 13.02.14 63 0
345925 난 아직도 c++ 이해가 안가 [5] 이모군(175.114) 13.02.14 210 0
345924 님들 이거암? ㅎㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ [2] 티버애니갤로그로 이동합니다. 13.02.14 279 0
345922 구글 유투브 etc 검색도 활용못하면 티모티모(211.112) 13.02.14 82 0
345921 게시판을 오늘까지 만들어야 하는데 [6] 개구리래머갤로그로 이동합니다. 13.02.14 174 0
345920 쓰레기 코드를 싸질러놓는다는게 무슨의미임? 쓰레기코드의 기준이뭐임 [9] vaert(175.215) 13.02.14 213 0
345919 졸업작품 주제를 정해야하는데 아무거나 좀 던져주셈 [8] ㅁㄴㄻㄴㅇ(223.32) 13.02.14 239 0
345918 너희들은 인터넷 다막혀버리면 어느 정도 실력 다운되냐 ? ㅇㅇ ? [2] ☎2.52™갤로그로 이동합니다. 13.02.14 146 0
뉴스 [조선의 사랑꾼] ‘개그맨 부부 25호’ 김지민·김준호, 드디어 결혼식 공개! 김지민, ‘일일 혼주’ 김대희와 입장…퇴장은 ‘개그콘서트 OST’  디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2