디시인사이드 갤러리

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

갤러리 본문 영역

api 관련 질문입니다.. 엉성하지만 봐주세요 ㅠ

ㅅㅈㅆ(183.101) 2010.09.12 21:14:36
조회 128 추천 0 댓글 16


api정복책이 안와서 주말에 바로 winapi에서 공부해서 짜봤는데
타이머에서 cnt 조건에 따라 WM_APINT로 센드 메시지 해주는 부분에서
뭔가 잘못된거같은데 잘안보이네요 ㅠㅠㅠ
평소에 눈팅만하다가 이렇게 소스관련질문 올려보니
얼굴이 화끈거리는군요 ㅠㅠ


#include <windows.h>
#include <time.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
LPSTR lpszClass="화면보호기";            //윈도클래스 이름정의

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
    ,LPSTR lpszCmdParam,int nCmdShow)
{
/* 1.윈도우의 기반 클래스 \'WndClass\' 정의 */
 HWND hWnd;
 MSG Message;
 WNDCLASS WndClass;
 g_hInst=hInstance;
 
 WndClass.cbClsExtra=0;
 WndClass.cbWndExtra=0;
 WndClass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);     //배경색상 브러시 지정
 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);             //윈도우 등록과정

/* 2.메모리상에 윈도우를 만듬 */
 hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,     //윈도우 생성 클래스네임, 윈도네임, 윈도형태 순
    100,100,400,200,              //x,y,nWidth,nHeight 순
    NULL,(HMENU)NULL,hInstance,NULL);          //부모윈도,메뉴핸들,프로그램핸들,CREATESTRUCT 번지 <-지금알건 아니다 버리자

/* 3.윈도우를 화면에 표시 */
 ShowWindow(hWnd,nCmdShow);

/* 4.사용자 메시지 처리 */
 while(GetMessage(&Message,0,0,0)) {           //\'GetMessage\' : 읽은 메시지가 \'WM_QUIT\' 일경우 \'False\',아닐경우 \'True\' 리턴
  TranslateMessage(&Message);            //키보드 입력 메시지를 가공
  DispatchMessage(&Message);            //메시지를 \'WndProc\'(메시지처리함수)로 전달
 }
 return Message.wParam;
}
/* 윈도우 메시지가 발생할때 호출되어 처리하는 \'Call Back\'함수 \'WndProc\' */
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) //메시지를받을 윈도핸들,메시지 종류,메시지의 부가정인 정보*2
{
 HDC hdc;
 PAINTSTRUCT ps;
 HPEN MyPen;
 static int cnt =1;
 static int n = rand()%90+10;
 static int change = 400;
 
 RECT rt={0,0,1000,400};

 switch(iMessage){
 case WM_CREATE:
  SetTimer(hWnd,1,500,NULL);
  AdjustWindowRect(&rt,WS_OVERLAPPEDWINDOW,FALSE);
  MoveWindow(hWnd,100,100,rt.right-rt.left,rt.bottom-rt.top,FALSE);
 return 0;
 

 case WM_TIMER:
  switch(wParam)
  case 1:
  {
   if(cnt==0){
    SendMessage(hWnd,WM_PAINT,4,0);
   }
   else if(cnt==1){
    SendMessage(hWnd,WM_PAINT,3,0);
   }
   else
    SendMessage(hWnd,WM_PAINT,2,0);
   

   break;
  }
 return 0;
 
 case WM_PAINT:
  switch(wParam){
   case 4:{                //cnt==0 :출력이 끝났을시
    hdc=BeginPaint(hWnd, &ps);
    MoveToEx(hdc,1000,0,NULL);
    InvalidateRect(hWnd,&rt,TRUE);
    srand((unsigned)time(NULL));
    change = 400;
    cnt = 1;
    break;
   }
   case 3:{                //n==1 :처음출력시
    srand((unsigned)time(NULL));
    n = rand()%90+10;

    hdc=BeginPaint(hWnd, &ps);
    MyPen=CreatePen(PS_SOLID, 1, RGB(255,0,0));
    SelectObject(hdc, MyPen);

    MoveToEx(hdc,1000,00,NULL);

    LineTo(hdc,1000-cnt*(1000/n),change);

    EndPaint(hWnd, &ps);
    DeleteObject(MyPen);

    change = change^400;
    cnt++;
    break;
   }
   case 2:{                //else :일반출력도중
    hdc=BeginPaint(hWnd, &ps);
    MyPen=CreatePen(PS_SOLID, 1, RGB(255,0,0));
    SelectObject(hdc, MyPen);

    LineTo(hdc,1000-cnt*(1000/n),change);

    EndPaint(hWnd, &ps);
    DeleteObject(MyPen);

    change = change^400;
    cnt++;
    if(cnt==n){               //cnt=0 은 출력끝의 신호이다
     cnt=0;
    }
    break;
   }
  }
  return 0;
  

 case WM_CHAR:                //키입력시 끝
  KillTimer(hWnd,1);
  PostQuitMessage(0);
  return 0;


 case WM_DESTROY:              //윈도창 파기시
  KillTimer(hWnd,1);
  PostQuitMessage(0);
  
  return 0;
 
 }
 return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

 

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

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

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 비난 여론에도 뻔뻔하게 잘 살 것 같은 스타는? 운영자 24/06/03 - -
218548 ATCIS병 1차합격함ㅋ [26] 회전매니아갤로그로 이동합니다. 10.11.17 846 0
218547 시마과장이 이런 내용인 줄은 몰랐다 -_- [1] (175.196) 10.11.17 110 0
218545 형들 C# ㅠㅠ 폼값전달받기 [2] 123(175.116) 10.11.17 149 0
218543 야 꼬장왕하고 홍어 너네 둘이 배틀한번 떠봐라 밤맛밤(211.202) 10.11.17 40 0
218542 c 라이브러리 함수 질문!!!! [2] 강만갤로그로 이동합니다. 10.11.17 70 0
218541 아 낼 수능보는놈들 날 따뜻해서 좋겠다 [4] 엄마오분만여갤로그로 이동합니다. 10.11.17 96 0
218538 오늘 음악중심 소녀시대 방송사고 ㅋㅋㅋ [15] 엄마오분만여갤로그로 이동합니다. 10.11.17 228 0
218537 내생각엔 성공한 프로그래머가 되기위한 가장 첫번째 덕목은 홍어(58.180) 10.11.17 88 0
218535 과장님 이야기 [3] 유리한갤로그로 이동합니다. 10.11.17 116 0
218534 나도 과장님 이야기 [1] (175.196) 10.11.17 109 0
218532 뚫 드립 치지 마라 [2] prismatic갤로그로 이동합니다. 10.11.17 85 0
218531 Tiles 쓸줄아시는 분~ 손목(112.154) 10.11.17 38 0
218529 혹시 아이폰 예제 잘 되어있는 사이트 없을까여 [1] 써니덕후갤로그로 이동합니다. 10.11.17 196 0
218528 안드로이드 개발자 구합니다. [1] monoless갤로그로 이동합니다. 10.11.17 89 0
218527 아 한시간을 더 생각했는데도 못하겠네; [7] 자바(175.121) 10.11.17 106 0
218526 아휴 빡쳐 [3] monoless갤로그로 이동합니다. 10.11.17 78 0
218525 집안에서 걸어다니는데 바람소리가 들려 [5] cyluss갤로그로 이동합니다. 10.11.17 74 0
218524 이런 프로그램 만들려면 C가 좋아 자바가 좋아? [11] 최군(123.142) 10.11.17 153 0
218523 야 나도 프로그래밍 언어하나 만들어 보고 싶다. [3] 꼬장왕(210.16) 10.11.17 85 0
218522 onepare횽// 이거 된거지? 순서만 바꾸고 해봤는데.. [1] 헌터(180.227) 10.11.17 49 0
218521 웹사이트 구축하는거랑 네트워킹은 다른거여? [1] ㅋㅋㅋ(220.73) 10.11.17 57 0
218519 니들이 자바를 두려워하는이유 [4] 홍어(58.180) 10.11.17 110 0
218518 횽들 인트라넷 같은 사이트 제작할려면 어느정도 실력이 되야해? [8] 최군(123.142) 10.11.17 97 0
218515 이거 버블정렬인데.. 좀 봐주 [4] 헌터(180.227) 10.11.17 88 0
218514 아아아아아앙아아아아아아아아아아아 [2] 다람쥐v갤로그로 이동합니다. 10.11.17 77 0
218512 (프갤에 올리는 과장님 이야기) [4] 해일리갤로그로 이동합니다. 10.11.17 101 0
218508 자바 망했으면 좋겠다. [13] 꼬장왕(210.16) 10.11.17 139 0
218507 (프갤에 올리는 팀장님 이야기) [7] 해일리갤로그로 이동합니다. 10.11.17 116 0
218506 컴터용 의자 종결자 [3] 분당살람갤로그로 이동합니다. 10.11.17 156 0
218503 일주일만에 다시 PC를 사용하기 시작했는데 [4] 분당살람갤로그로 이동합니다. 10.11.17 93 0
218502 아이폰으로 맥가이버 보기 포기...-_- [3] 분당살람갤로그로 이동합니다. 10.11.17 118 0
218500 트위터 같은 SNS 사이트 만들려면 뭐 공부해야되?! [26] 트위터만든다(219.107) 10.11.17 226 0
218498 아아ㅡ. [3] 유리한갤로그로 이동합니다. 10.11.17 76 0
218496 가상 함수에 대한 질문인데요. [6] 컴돌이(58.77) 10.11.17 110 0
218495 프로그래밍언어 순위 [16] ㅇ.ㅇ(183.101) 10.11.17 255 0
218494 자격증 개 수 채우기 [1] 이모군(1.225) 10.11.17 94 0
218493 이 세상에 여법사가 있을 리가 없어 [12] 아주아슬갤로그로 이동합니다. 10.11.17 214 0
218491 상속에 대한 질문이... [10] 컴돌이(58.77) 10.11.17 91 0
218489 >> 는 - 보다 우선순위가 낮습니다. [8] prismatic갤로그로 이동합니다. 10.11.17 105 0
218485 넷미팅 ㅅㅂㄻ [1] 캐꼬꼬딹(203.226) 10.11.17 237 0
218484 아아 나의 넥원은 [1] cyluss갤로그로 이동합니다. 10.11.17 42 0
218482 갑자기 내가 마법사냐고 하는 뻘글이 있길래 보니까 [13] 해일리갤로그로 이동합니다. 10.11.17 127 0
218481 이거 어떻게 해결하나요 ㅠㅠ [6] nostra갤로그로 이동합니다. 10.11.17 60 0
218480 움,,,객체생성 완료,., [1] ㅉㅉㅉ나치즘(211.224) 10.11.17 52 0
218478 prismatic 언니의 정렬 문제를 O(3n)으로 풀기 [2] 세브(211.117) 10.11.17 86 0
218477 신형 핸드폰 스트랩 [1] 밤맛밤(211.202) 10.11.17 44 0
218475 무서운동영상 [4] rntjr갤로그로 이동합니다. 10.11.17 118 0
218474 리눅스에서 ftp 가 특정 디렉터리에는 죽어도 파일이 안올라가네.. [5] 그루(123.142) 10.11.17 126 0
218472 인터넷 페이지가 그냥 완료하고 하얗게 나와요 [1] dsdfsa(118.43) 10.11.17 123 0
218471 자바스크립트 객체 생성 [3] ㅉㅉㅉ나치즘(211.224) 10.11.17 78 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2