📄 sdktest11.cpp
字号:
//SDKTest11.cpp
#include <windows.h>
#include <iostream>
#include "Cal.h"
#include "Grh.h"
Cal cal(5);
LRESULT __stdcall myproc( HWND hwnd, //窗口句柄
UINT uMsg, //消息
WPARAM wParam, //消息参数1
LPARAM lParam //消息参数2
)
{
switch(uMsg)
{
case WM_LBUTTONDOWN:
{
int x = lParam & 0x0000ffff;
int y = lParam >> 16;
cal.setTarget(x, y);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
#ifdef _DEBUG
int main(int argc, char* argv[])
#else
int __stdcall WinMain( HINSTANCE hInstance, // 当前实例句柄
HINSTANCE hPrevInstance, //前一个实例句柄(作废)
char* lpCmdLine, //命令行
int nCmdShow
)
#endif // _DEBUG
{
#ifdef _DEBUG
HINSTANCE hInstance = GetModuleHandle(0);
#endif //_DEBUG
WNDCLASS wc = {0};
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wc.hCursor = LoadCursor(0, IDC_CROSS);
wc.hIcon = LoadIcon(0, IDI_ERROR);
wc.hInstance = hInstance;
wc.lpfnWndProc = myproc; //mend;
wc.lpszClassName = "SDKTest22";
wc.lpszMenuName = 0;
wc.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wc);
HWND hwnd = CreateWindow(wc.lpszClassName, wc.lpszClassName,
WS_OVERLAPPEDWINDOW, 0, 0, 640, 480,
0, 0, hInstance, 0);
if(!hwnd)
{
MessageBox(0, "Err", "Err", MB_OK);
return 1;
}
ShowWindow(hwnd, SW_SHOWNORMAL);
UpdateWindow(hwnd);
Grh grh(hwnd, "npc02.bmp", "city.bmp", 300);
DWORD hcalid = 0;
HANDLE hcal = CreateThread(0, 0, Cal::run, &cal, 0, &hcalid);
DWORD hgrhid = 0;
HANDLE hgrh = CreateThread(0, 0, Grh::run, &grh, 0, &hgrhid);
MSG msg;
RPos pos;
for(;;)
{
RPosQueue posq;
if(cal.getPos(posq))
{
grh.addPos(posq);
posq.clear();
}
else
{
Sleep(33);
}
if(PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
{
if(msg.message == WM_QUIT)
{
break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
//myproc(msg.hwnd, msg.message, msg.wParam, msg.lParam);
}
return msg.wParam;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -