direct3D——我的窗口
来源:互联网 发布:旅游数据统计中心 编辑:程序博客网 时间:2024/05/20 02:21
#include <windows.h> // 应用程序头文件
wchar_t *g_pClassName = L"HelloWorld"; // 窗口类名
wchar_t *g_pWindowName = L"我的窗口"; // 窗口标题名
// 窗口消息处理函数声明
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//--------------------------------------------------------------------------------------
// Name: WinMain();
// Desc: Windows应用程序入口函数
//--------------------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
// 初始化窗口类
WNDCLASS wndclass;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 窗口背景
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); // 光标形状
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 窗口小图标
wndclass.hInstance = hInstance;
wndclass.lpfnWndProc = WndProc;
wndclass.lpszClassName = g_pClassName;
wndclass.lpszMenuName = NULL;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
// 注册窗口类
if (!RegisterClass(&wndclass))
return 0;
// 创建窗口
HWND hWnd = CreateWindow(
g_pClassName, // 窗口类名
g_pWindowName, // 窗口标题
WS_OVERLAPPEDWINDOW, // 窗口样式
CW_USEDEFAULT, // 窗口最初的x位置
CW_USEDEFAULT, // 窗口最初的y位置
CW_USEDEFAULT, // 窗口的宽度
CW_USEDEFAULT, // 窗口的高度
NULL, // 父窗口句柄
NULL, // 窗口菜单句柄
hInstance, // 应用程序实例句柄
NULL); // 创建窗口的参数
ShowWindow(hwnd, nShowCmd); // 显示窗口
UpdateWindow(hWnd); // 更新窗口
// 消息循环
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) // 取得消息
{
TranslateMessage(&msg); // 转换消息
DispatchMessage(&msg); // 投递消息
}
UnregisterClass(g_pClassName, wndclass.hInstance);
return 0;
}
//--------------------------------------------------------------------------------------
// Name: WndProc()
// Desc: 窗口消息处理函数
//--------------------------------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_LBUTTONDOWN: // 鼠标左键按下消息
MessageBox(NULL, L"欢迎走进Direct3D!", L"问候", 0);
break;
case WM_DESTROY: // 窗口销毁消息
PostQuitMessage(0); // 退出程序
break;
}
// 默认的消息处理
return DefWindowProc( hWnd, message, wParam, lParam );
wchar_t *g_pClassName = L"HelloWorld"; // 窗口类名
wchar_t *g_pWindowName = L"我的窗口"; // 窗口标题名
// 窗口消息处理函数声明
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//--------------------------------------------------------------------------------------
// Name: WinMain();
// Desc: Windows应用程序入口函数
//--------------------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
// 初始化窗口类
WNDCLASS wndclass;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 窗口背景
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); // 光标形状
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 窗口小图标
wndclass.hInstance = hInstance;
wndclass.lpfnWndProc = WndProc;
wndclass.lpszClassName = g_pClassName;
wndclass.lpszMenuName = NULL;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
// 注册窗口类
if (!RegisterClass(&wndclass))
return 0;
// 创建窗口
HWND hWnd = CreateWindow(
g_pClassName, // 窗口类名
g_pWindowName, // 窗口标题
WS_OVERLAPPEDWINDOW, // 窗口样式
CW_USEDEFAULT, // 窗口最初的x位置
CW_USEDEFAULT, // 窗口最初的y位置
CW_USEDEFAULT, // 窗口的宽度
CW_USEDEFAULT, // 窗口的高度
NULL, // 父窗口句柄
NULL, // 窗口菜单句柄
hInstance, // 应用程序实例句柄
NULL); // 创建窗口的参数
ShowWindow(hwnd, nShowCmd); // 显示窗口
UpdateWindow(hWnd); // 更新窗口
// 消息循环
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) // 取得消息
{
TranslateMessage(&msg); // 转换消息
DispatchMessage(&msg); // 投递消息
}
UnregisterClass(g_pClassName, wndclass.hInstance);
return 0;
}
//--------------------------------------------------------------------------------------
// Name: WndProc()
// Desc: 窗口消息处理函数
//--------------------------------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_LBUTTONDOWN: // 鼠标左键按下消息
MessageBox(NULL, L"欢迎走进Direct3D!", L"问候", 0);
break;
case WM_DESTROY: // 窗口销毁消息
PostQuitMessage(0); // 退出程序
break;
}
// 默认的消息处理
return DefWindowProc( hWnd, message, wParam, lParam );
}
0 0
- direct3D——我的窗口
- 我的第一个Direct3D程序——第一个三角形
- 摸爬滚打DirectX11_day03——Direct3D的初始化
- 初始化Direct3D窗口
- Direct3D-窗口初始化
- Direct3D-窗口初始化
- direct3D——硬件结构
- 第二个Direct3D程序——旋转的正方体
- 我的Direct3D之路1:旅途的开始
- 我的VC窗口
- Direct3D成长日记(01):创建和显示Direct3D窗口
- 图形世界分裂的两派——理清Direct3D和OpenGL的脉络
- 【Direct3D游戏开发】——重温Direct3D游戏开发详解 1、2、4章
- 摸爬滚打DirectX11_day03——Direct3D(DX9)中二维文本的绘制
- 第12章 腾飞前的助跑——Direct3D 绘制基础
- 第13章 迈向三维世界——Direct3D 的四大变换
- 第一章:Direct3D的初始化
- 基本的Direct3D程序结构
- 利用Spring AOP 更新memcached 缓存策略的实现
- 黑马程序员_IO_01
- 【作者简介】互联网之观望者
- Java8-本地缓存
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- direct3D——我的窗口
- 【Web】DOM树的根结点是document
- C++11系列-lambda函数
- 操作系统概念-内存管理
- MongoDB开发学习经典入门
- 自己实现简单RPC功能
- jquery
- C++11系列-区间迭代
- 笔记4