关闭

Windows SDK应用

标签: C++windowssdk
36人阅读 评论(0) 收藏 举报
分类:
#include <windows.h>
#include <stdio.h>
LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
//设计窗口类
WNDCLASS wndcls;
wndcls.cbClsExtra = 0;//附加内存 一般设置为0
wndcls.cbWndExtra = 0;//附加内存 一般设置为0
wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);//背景画刷
wndcls.hCursor = LoadCursor(NULL, IDC_CROSS);//鼠标移动进后的光标图标
wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);//窗口左上角图标
wndcls.hInstance = hInstance;//实例句柄
wndcls.lpfnWndProc = WinSunProc;//指向窗口过程函数
wndcls.lpszClassName = "sunxin2006";//窗口类的名字 在创建窗口过程中 第一个参数即为此
wndcls.lpszMenuName = NULL;//菜单资源的地址 再次先设置为空
wndcls.style = CS_HREDRAW | CS_VREDRAW;//窗口的样式,常用有CS_HREDRAW 水平重绘 CS_VREDRAM 垂直重绘 CS_NOCLOSE 窗口无关闭按钮
RegisterClass(&wndcls);//注册窗口类
//创建窗口
HWND hwnd;
hwnd = CreateWindow("sunxin2006", "http://www.baidu.com", WS_OVERLAPPEDWINDOW, 0, 0, 600, 400, NULL, NULL, hInstance, NULL);
//第一个参数为设计窗口时的lpszClassName,第二个为在标题栏中显示的文字,第三个为窗口类型 如是否有标题 是否有菜单等
//显示及刷新窗口
ShowWindow(hwnd, SW_SHOWNORMAL);//第二个参数表示显示窗口的状态 如最大化 最小化 隐藏等等
UpdateWindow(hwnd);//更新窗口
//定义消息结构体 开始消息循环
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//窗口过程函数
LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam){
switch (uMsg)
{
case WM_CHAR:
char szChar[20];
sprintf_s(szChar, "char code is %d", wParam);
MessageBox(hwnd, szChar, "char", 0);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd, "mouse clicked", "message", 0);
HDC hdc;
hdc = GetDC(hwnd);
TextOut(hdc, 0, 50, "程序员之家", strlen("程序员之家"));
ReleaseDC(hwnd, hdc);
break;
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC = BeginPaint(hwnd, &ps);
TextOut(hDC, 0, 0, "http://www.baidu.com", strlen("http://www.baidu.com"));
EndPaint(hwnd, &ps);
break;
case WM_CLOSE:
if (IDYES == MessageBox(hwnd, "是否真的结束?", "message", MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:79次
    • 积分:12
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档
    阅读排行
    评论排行