C++ API 간단한 질문
은솜
#include windows.h
#include mmsystem.h
#include resource.h
int Bax = 0;
int Bay = 0;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
LPCTSTR frm_title = TEXT(스타);
HINSTANCE hInst;
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam,int nCmdShow)
{
HWND hWnd;
MSG Msg_frm;
WNDCLASS WndClass;
hInst = hInstance;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
WndClass.lpfnWndProc = WndProc;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hInstance = hInstance;
WndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
WndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
WndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
WndClass.lpszMenuName = NULL;
WndClass.lpszClassName = frm_title;
RegisterClass(&WndClass);
hWnd=CreateWindow(
frm_title,
스타,
WS_OVERLAPPED,
0,
0,
800,
600,
NULL,
(HMENU)NULL,
hInstance,
NULL);
ShowWindow(hWnd,nCmdShow);
while (GetMessage(&Msg_frm,NULL,0,0)){
TranslateMessage(&Msg_frm);
DispatchMessage(&Msg_frm);
}
return (int)Msg_frm.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMsg, WPARAM wParam, LPARAM IParam)
{
HDC DC1, Background_DC;
PAINTSTRUCT PS1;
static HBITMAP Background_bitmap;
HBITMAP Background_code;
switch (iMsg){
case WM_CREATE:
ShowCursor(FALSE);
Background_bitmap = LoadBitmap(hInst,MAKEINTRESOURCE(Background));
PlaySound(.\\Sound\\Start.wav,NULL,SND_ASYNC);
return 0;
case WM_PAINT:
DC1 = BeginPaint(hWnd,&PS1);
Background_DC = CreateCompatibleDC(DC1);
Background_code = (HBITMAP)SelectObject(Background_DC,Background_bitmap);
BitBlt(DC1, Bax, Bay, 1000, 1000, Background_DC, 0, 0, SRCCOPY);
SelectObject(Background_DC, Background_code);
DeleteDC(Background_DC);
EndPaint(hWnd,&PS1);
return 0;
case WM_KEYDOWN:
switch (wParam){
case VK_SPACE:
PlaySound(NULL,NULL,0);
Bax = 1200;
Bay = 1200;
DeleteObject(Background_bitmap);
break;
case VK_ESCAPE:
DestroyWindow(hWnd);
break;
}
return 0;
case WM_DESTROY:
ShowCursor(TRUE);
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMsg,wParam,IParam));
}
--------------------------질문------------------------
키보드에서 스페이스바 키를 누르면 음악소리가 멈추고 그림이 안보이게 하려고 하는데요.
전 음악을 끄는건 가능했는데....
스페이스바 키를 누르는 동시에 그림좌표값을 이동시켜 밧는데 안대더라구요...
키다운명령어 말고 타이머로도 해밧는데 잘 안대요...
변수도 만들어서 조금 이것저것 해밧는데 그림이 이동이 안되요..
전 스페이스바 키를 누르면 음악이 멈추고 그림을 창에서 안보이게 하고싶어요.
프로그램 소스하고 파일도 올릴게요.