API 질문좀 드릴게요...
앨프레드
제가
타일 종류, 가로갯수, 세로갯수를 정한후
출력해주는 과제를 만들고 있는데요...
뭐가 문제인지
출력이 전혀 되질 않습니다 .. ㅠㅠ
#include Windows.h#include resource.hLRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);HINSTANCE g_hInst;LPCTSTR lpszClass=TEXT(First);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)GetStockObject(WHITE_BRUSH); WndClass.hCursor=LoadCursor(NULL,IDC_ARROW); WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION); WndClass.hInstance=hInstance; WndClass.lpfnWndProc=WndProc; WndClass.lpszClassName=lpszClass; WndClass.lpszMenuName=NULL; WndClass.style=CS_HREDRAW|CS_VREDRAW; RegisterClass(&WndClass);
hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW, 530,450,1000,515, NULL,(HMENU)NULL,hInstance,NULL); ShowWindow(hWnd,nCmdShow);
while(GetMessage(&Message,NULL,0,0)){ TranslateMessage(&Message); DispatchMessage(&Message); } return (int)Message.wParam;}
#define ID_LISTBOX 100#define ID_COMBOBOX 104#define ID_COMBOBOX2 105#define ID_SELECTBOX 106
TCHAR *ListItem[] = {TEXT(벽돌),TEXT(나무),TEXT(유리)};TCHAR *ComboBoxItem[] = {TEXT(1개),TEXT(2개),TEXT(3개)};HWND hList, hCombo1, hCombo2;TCHAR str[128];
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam){ static int Lnum,Cnum,Cnum2; HDC hdc,Memdc; HBITMAP Rock,Wood,Glass,OldSelet; PAINTSTRUCT ps;
switch(iMessage){ case WM_CREATE: HINSTANCE g_hInst; //리스트 hList = CreateWindow(TEXT(listbox),NULL,WS_CHILD|WS_VISIBLE|WS_BORDER|LBS_NOTIFY,10,30,100,80,hWnd,(HMENU)ID_LISTBOX,g_hInst,NULL); // 콤보박스 hCombo1 = CreateWindow(TEXT(combobox),NULL,WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST,130,30,85,100,hWnd,(HMENU)ID_COMBOBOX,g_hInst,NULL); hCombo2 = CreateWindow(TEXT(combobox),NULL,WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST,250,30,80,100,hWnd,(HMENU)ID_COMBOBOX2,g_hInst,NULL); // 선택 버튼 CreateWindow(TEXT(button),TEXT(선택),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,128,70,85,25,hWnd,(HMENU)ID_SELECTBOX,g_hInst,NULL); // 옵션 출력 for(int i=0; i3; i++){ SendMessage(hList,LB_ADDSTRING,0,(LPARAM)ListItem[i]); SendMessage(hCombo1,CB_ADDSTRING,0,(LPARAM)ComboBoxItem[i]); SendMessage(hCombo2,CB_ADDSTRING,0,(LPARAM)ComboBoxItem[i]); } // 비트맵로드 Rock = LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP2)); Wood = LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP1)); Glass = LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP3)); return 0;
case WM_COMMAND: switch(LOWORD(wParam)){ case ID_SELECTBOX: Lnum = SendMessage(hList,LB_GETCURSEL,0,0); Cnum = SendMessage(hCombo1,CB_GETCURSEL,0,0); Cnum2 = SendMessage(hCombo2,CB_GETCURSEL,0,0); InvalidateRect(hWnd,NULL,TRUE); break; } return 0; case WM_PAINT: hdc = BeginPaint(hWnd,&ps); Memdc = CreateCompatibleDC(hdc); switch(Lnum){ case 0: OldSelet = (HBITMAP)SelectObject(Memdc,Rock); for(int j=0; j=Cnum2+1; j++){ // 세로 for(int i=0; i=Cnum+1; i++){ // 가로 BitBlt(hdc,400+(i*100),120+(j*100),90,67,Memdc,0,0,SRCCOPY); } } SelectObject(Memdc,OldSelet); break; case 1: OldSelet = (HBITMAP)SelectObject(Memdc,Wood); for(int j=0; jCnum2+1; j++){ for(int i=0; iCnum+1; i++){ BitBlt(hdc,10+(i*100),120+(j*100),100,99,Memdc,0,0,SRCCOPY); } } SelectObject(Memdc,OldSelet); break; case 2: OldSelet = (HBITMAP)SelectObject(Memdc,Glass); for(int j=0; jCnum2+1; j++){ for(int i=0; iCnum+1; i++){ BitBlt(hdc,10+(i*100),120+(j*100),75,75,Memdc,0,0,SRCCOPY); } } SelectObject(Memdc,OldSelet); break; } DeleteObject(Rock); DeleteObject(Wood); DeleteObject(Glass); DeleteDC(Memdc); EndPaint(hWnd,&ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return (DefWindowProc(hWnd,iMessage,wParam,lParam));}이게 코드인데요
case WM_PAINT:이 부분에서그려주는걸 하려고 하는데
전혀 출력이 되지않습니다 도와주세요 ㅠㅠ
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2696094 | exe 파일 | 제철 | 2025-05-26 |
2696043 | 제이쿼리 .scroll() 관련 질문드립니다 | 이거이름임 | 2025-05-26 |
2695984 | 마크업상으로 하단에 있으나 우선적으로 이미지파일을 다운로드받는 방법 (1) | 들꿈 | 2025-05-25 |
2695934 | tr 속성값 (9) | 새 | 2025-05-25 |
2695905 | ASP로 개발됐을 때 css가 달라져요 ㅠㅠ (4) | 슬아라 | 2025-05-24 |
2695878 | form을 이용한 다른 페이지로 넘기는 방법을 알려주세요 (1) | 핫파랑 | 2025-05-24 |
2695844 | 저기 암호화 및 복호화 프로그램.. 만들어볼려는대 (2) | 한빛 | 2025-05-24 |
2695814 | [질문] PDA에서 애플릿이 가능한가요? (1) | 봄시내 | 2025-05-24 |
2695785 | 웹 설정 도와줄분 | 화이트캣 | 2025-05-23 |
2695730 | 갑자기 기억이 안나는데 accesskey 속성.. | 빛나라 | 2025-05-23 |
2695702 | [질문] Java 버전 차이에 의한 오류?!! (2) | 검사 | 2025-05-23 |
2695672 | 자바 임베디드 쪽으로 배우고 싶은데요..질문이요.. (1) | 뽀그리 | 2025-05-22 |
2695647 | 헉! 이클립스(v3.1)에서 발생되는 널포인트 익셉션? ;;; (3) | 아빠몬 | 2025-05-22 |
2695586 | IFRAME 캐싱 질문 | 봄나비 | 2025-05-22 |
2695498 | [질문]실행가능한 jar파일.. 정말 이해가 안가네요... ㅡㅜ;; | 터1프한렩 | 2025-05-21 |
2695468 | 자바랑 이클립스에서요.. | 스킬 | 2025-05-21 |
2695375 | Mysql 연동하는 자바 질문있습니다. | 아리솔 | 2025-05-20 |
2695319 | 파워포인트 파일을 저장할 수 있을까요? | 시윤 | 2025-05-19 |
2695289 | [질문]Tween 값의 정도를 알고 싶습니다. | 타마 | 2025-05-19 |
2695238 | c 와 c++의 시작 (10) | ChocoHoilc | 2025-05-18 |