SDK编程简单实例

这篇博客展示了SDK编程的基本用法,通过一个简单的Windows窗口程序实例,解释了如何处理各种消息,如鼠标点击、窗口画图和字符输入。示例中包含了创建窗口、注册窗口类、消息循环和处理函数等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <windows.h>

#include <stdio.h>

LRESULT CALLBACK DzjProc(

HWND hwnd,      // handle to window

UINT uMsg,      // message identifier

WPARAM wParam,  // first message parameter

LPARAM lParam   // second message parameter

)

{

HDC hdc;

    PAINTSTRUCT ps;

switch (uMsg)

{

case WM_LBUTTONDOWN:

MessageBox(hwnd,"lbuttondown","junge",MB_OK);

HDC hdc;

hdc=GetDC(hwnd);

TextOut(hdc,0,50,"My home",strlen("My home"));

ReleaseDC(hwnd,hdc);

break;

case WM_CLOSE:

if(IDYES==MessageBox(hwnd,"Whether to exit the program","Tips",MB_YESNO))

{

DestroyWindow(hwnd);

}

break;

case WM_PAINT:

hdc=BeginPaint(hwnd,&ps);

TextOut(hdc,0,0,"My university",strlen("My university"));

EndPaint(hwnd,&ps);

break;

case WM_CHAR:

char szChar[20];

sprintf(szChar,"char is %d",wParam);

MessageBox(hwnd,szChar,"dzj",0);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

        return DefWindowProc(hwnd,uMsg,wParam,lParam);

}

return 0;

}

int WINAPI WinMain(

   HINSTANCE hInstance,      // handle to current instance

   HINSTANCE hPrevInstance,  // handle to previous instance

   LPSTR lpCmdLine,          // command line

   int nCmdShow              // show state

   )

{

WNDCLASS wc;

char ClassName[]="No.1";

wc.style=CS_VREDRAW | CS_HREDRAW;

wc.lpfnWndProc=DzjProc;

wc.cbClsExtra=0;

wc.cbWndExtra=0;

wc.hInstance=hInstance;

wc.hIcon=LoadIcon(NULL,IDI_WINLOGO);

wc.hCursor=LoadCursor(NULL,IDC_SIZENESW);

wc.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);

wc.lpszMenuName=NULL;

wc.lpszClassName=ClassName;

RegisterClass(&wc);

HWND hwnd;

hwnd=CreateWindow(

"No.1","MyWindows",WS_OVERLAPPEDWINDOW& ~WS_MINIMIZEBOX,

CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL

);

ShowWindow(hwnd,SW_SHOWNA);

UpdateWindow(hwnd);

MSG msg;

while (GetMessage(&msg,NULL,NULL,NULL))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值