📄 hyk.cpp
字号:
//--------------------------------------------------------------------------
//<hyk.cpp> 创建Windows窗口并转交消息控制权
#include<windows.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include"horse.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,
LPSTR lpszCmdLine,int nCmdShow) //Win主函数
{
WNDCLASS wndclass;
char lpszClassName[]="位图";
char lpszTitle[]="HORSE-COVER_BY-hyk"; //窗口说明
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance; //初始化一个空白Windows窗口
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
if(!RegisterClass(&wndclass)) //判断创建窗口成功与否
{
MessageBeep(0);
return FALSE;
}
hwnd = CreateWindow(lpszClassName,lpszTitle,
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,NULL,
NULL,hInstance,NULL); //返回窗口句柄
char bitmap[][13]={"bitmap0.bmp","bitmap1.bmp","bitmap2.bmp",
"bitmap3.bmp","bitmap4.bmp","bitmap5.bmp","bitmap6.bmp",
"bitmap7.bmp","bitmap8.bmp","bitmap9.bmp","bitmap10.bmp",
"bitmap11.bmp","bitmap12.bmp","bitmap13.bmp","bitmap14.bmp",
"bitmap15.bmp"}; //位图文件定义
for(int n=0;n<=15;n++)
{ //将位图装入内存
hBm[n]=(HBITMAP)(LoadImage(NULL,bitmap[n],IMAGE_BITMAP,0,
0,LR_LOADFROMFILE));
GetObject(hBm[n],sizeof(BITMAP),(LPVOID)&bm[n]);
}
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
hdc=BeginPaint(hwnd,&ps);
Horse_cover horse;
return horse.horse_killng(); //调用应用程序
EndPaint(hwnd,&ps);
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{ //窗口消息接收处理函数
int n;
switch(message)
{
case WM_CREATE: //创建Windows窗口
hdc=(HDC)(GetDC(hwnd));
hdcmem=CreateCompatibleDC(hdc);
ReleaseDC(hwnd,hdc);
break;
case WM_PAINT: //Windows窗口刷新处理
break;
case WM_LBUTTONUP: //单击左键处理
break;
case WM_RBUTTONDOWN: //单击右键处理
STEP=STEP==true?false:true; //单步与自动切换
break;
case WM_DESTROY: //销毁窗口
for(n=0;n<=15;n++)
DeleteObject(hBm[n]);
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam); //默认消息处理
};
return 0;
}
//--------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -