- 浏览: 2002031 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (651)
- ACE (35)
- BAT (9)
- C/C++ (116)
- fast-cgi (14)
- COM (27)
- python (59)
- CGI (4)
- C# (2)
- VC (84)
- DataBase (29)
- Linux (96)
- P2P (6)
- PHP (15)
- Web (6)
- Memcached (7)
- IME输入法 (11)
- 设计模式 (2)
- 搜索引擎 (1)
- 个人情感 (4)
- 笔试/面试 (3)
- 一亩三分地 (33)
- 历史 (2)
- 地理 (1)
- 人物 (3)
- 经济 (0)
- 不仅仅是笑哦 (43)
- 小故事大道理 (2)
- http://www.bjdsmyysjk120.com/ (0)
- http://www.bjdsmyy120.com/ (0)
- 它山之石可以攻玉 (15)
- 大学生你关注些什么 (28)
- 数据恢复 (1)
最新评论
-
luokaichuang:
这个规范里还是没有让我明白当浏览器上传文件时,STDIN的消息 ...
FastCGI规范 -
effort_fan:
好文章!学习了,谢谢分享!
com技术简介 -
vcell:
有错误os.walk(strPath)返回的已经是全部的文件和 ...
通过python获取目录的大小 -
feifeigd:
feifeigd 写道注意:文章中的CPP示例第二行 #inc ...
ATL入门:利用ATL编写简单的COM组件 -
feifeigd:
注意:文章中的CPP示例第二行 #include " ...
ATL入门:利用ATL编写简单的COM组件
#include <windows.h> #include <windowsx.h> #include <ddraw.h> #include <atlstr.h> LPDIRECTDRAW lpDD = NULL;//direct draw object LPDIRECTDRAWSURFACE lpDDSPrimary = NULL;//direct draw main page char* lpszMsg1 = "Hello, andylin! I love my baby so much!"; char* lpszMsg2 = "press esc exit"; LRESULT CALLBACK WinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); BOOL InitWindow(HINSTANCE hInst, int nCmdShow); BOOL InitDDraw(); void FreeDDraw(); void PrintMsg(HWND hWnd = NULL, LPCTSTR lpszInfo = NULL, LPCTSTR lpszTitle = NULL, int nStyle = MB_OK) { CString strInfo = lpszInfo; CString strTitle = lpszTitle; if (NULL == lpszInfo) { strInfo = "test info"; } if (NULL == lpszTitle) { strTitle = "my direct test"; } MessageBox(hWnd, strInfo, strTitle, nStyle); } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg = {0}; if (!InitWindow(hInstance, nCmdShow)) { PrintMsg(NULL, "InitWindow Failed!"); return -1; } HWND hWnd = GetActiveWindow(); //init direct draw if (!InitDDraw()) { PrintMsg(hWnd, "init DirectDraw failed!"); DestroyWindow(hWnd); return -1; } while (::GetMessage(&msg, NULL, 0, 0)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); } return (int)msg.wParam; } BOOL InitWindow( HINSTANCE hInstance, int nCmdShow ) { HWND hWnd = NULL; WNDCLASS ws = {0}; char szClassName[] = _T("test dx"); //int window class ws.cbClsExtra = 0; ws.cbWndExtra = 0; ws.hbrBackground = (HBRUSH)::GetStockObject(BLACK_BRUSH); ws.hCursor = ::LoadCursor(NULL, IDC_ARROW); ws.hIcon = ::LoadIcon(NULL, IDI_APPLICATION); ws.hInstance = hInstance; ws.lpfnWndProc = WinProc; ws.lpszClassName = szClassName; ws.lpszMenuName = NULL; ws.style = CS_HREDRAW | CS_VREDRAW; //register window class ::RegisterClass(&ws); hWnd = ::CreateWindowEx(0, szClassName, _T("test for diectx"), WS_OVERLAPPED, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, 0); if (!hWnd) { return FALSE; } //show and update ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } LRESULT CALLBACK WinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_KEYDOWN: { switch (wParam) { case VK_ESCAPE: ::PostMessage(hwnd, WM_CLOSE, 0, 0); break; } } break; case WM_DESTROY: { FreeDDraw(); PostQuitMessage(0); } break; default: break; } return DefWindowProc(hwnd, uMsg, wParam, lParam); } BOOL InitDDraw() { DDSURFACEDESC ddsd = {0}; //page descripe HDC hdc = NULL; if (DD_OK != ::DirectDrawCreate(NULL, &lpDD, NULL)) { return FALSE; } //取得独占和全屏模式 if (DD_OK != lpDD->SetCooperativeLevel(GetActiveWindow(), DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN)) { return FALSE; } //set show mode if (DD_OK != lpDD->SetDisplayMode(640, 480, 8)) { return FALSE; } //set main page ddsd.dwSize = sizeof(ddsd); ddsd.dwFlags = DDSD_CAPS; ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; //create main page object if (DD_OK != lpDD->CreateSurface(&ddsd, &lpDDSPrimary, NULL)) { return FALSE; } //print text if (DD_OK != lpDDSPrimary->GetDC(&hdc)) { return FALSE; } SetBkColor(hdc, RGB(0, 0, 255)); SetTextColor(hdc, RGB(255, 255, 0)); TextOut(hdc, 0, 20, lpszMsg1, lstrlen(lpszMsg1)); TextOut(hdc, 0, 40, lpszMsg2, lstrlen(lpszMsg2)); lpDDSPrimary->ReleaseDC(hdc); return TRUE; } void FreeDDraw() { if (NULL != lpDDSPrimary) { lpDDSPrimary->Release(); lpDDSPrimary = NULL; } if (NULL != lpDD) { lpDD->Release(); lpDD = NULL; } }
发表评论
-
__declspec(novtable) 的用法
2010-11-27 14:37 1536__declspec(novtable) 的用法 __d ... -
解决URLDownloadToFile缓存问题的两种方法
2010-09-09 15:18 2826解决URLDownloadToFile缓存问题的两种方法 ... -
修改richedit背景
2010-07-19 22:52 1606RichEditCtrl::SetBackgroundCo ... -
使用ADO封装类的数据库程序开发实例(下)
2010-07-12 15:30 1436使用ADO封装类的数据库 ... -
使用ADO封装类的数据库程序开发实例(上)
2010-07-12 15:28 1179使用ADO封装类的数据库 ... -
VC防止窗口和控件闪烁的方法
2010-07-09 21:16 19751、将Invalidate()替换为Invalidate ... -
防止窗口闪烁地办法
2010-07-09 21:13 1472防止窗口闪烁地办法 也许我们都碰到过这种情况,当你 ... -
使用ADO _ConnectionPtr
2010-07-06 16:04 5228// GetUser.cpp : Defines the ... -
VC用ADO访问数据库全攻略
2010-07-06 15:29 1770VC用ADO访问数据库全 ... -
深入GetMessage和PeekMessage (引自-MSDN技术组)
2010-06-10 16:59 3681深入GetMessage和PeekMessage (引自 ... -
界面编程总结(1)
2010-06-02 13:32 3970原文地址:http://blog.csdn.net/byx ... -
获取信息的有关Windows API
2010-05-27 10:01 3094获取信息的有关Windows API 1.窗口信息 ... -
VC中如何实现窗口的隐藏
2010-05-13 10:08 7803VC中如何实现窗口的隐藏 用MFC做的Dialog ... -
SetConsoleCtrlHandler 处理控制台消息
2010-05-07 17:32 17999SetConsoleCtrlHandler 处理控制台消 ... -
解决决错误: error C2850: 'PCH header file'
2010-04-27 19:45 1893解决决错误: error C2850: 'PCH hea ... -
VC++ GDI+编程的字体和文本绘制
2010-04-13 13:12 7914字体是文字显示和打印的外观形式,它包括了文字的字样、风格和尺寸 ... -
VC利用GDI+显示透明的PNG图片
2010-04-12 16:59 114791.在你将要使用GDI+的工程中,完成初始化 ... -
GDI+编程基础(一)GDI+ Vs GDI
2010-04-12 15:59 2303下载源代码一、GDI GDI是位于应用程序与不同硬件之间 ... -
VC画图
2010-04-12 15:50 1494BOOL DrawPic(HDC hdc, TCHAR* ... -
对话框的数据交换--MFC深入浅出
2010-04-12 10:43 2408对话框数据交换指以下两种动作,或者是把内存数据写入对应的控 ...
相关推荐
2. DirectX-Headers-main是DirectX12帮助类文件源码 3. HelloTriangle.pdf 是HelloTriangle工程 流程结构图 HelloTriangle工程: CD3D12Triangle类对DirectX12创建三角形做了封装。 HelloTexture工程: CD3D12...
DirectX 9.0 C++ 教程 字体 迟到的helloworld。
D3D12HelloWorld D3D12Bundles D3D12DepthBoundsTest D3D12DynamicIndexing D3D12ExecuteIndirect D3D12Fullscreen D3D12HDR D3D12HeterogeneousMultiadapter D3D12LinkedGpus D3D12Multithreading D3D12...
Direct3D研究院之创建第一个DirectX3D项目(一) NGUI研究院之开始学习制作第一个例子(一) Objective-C研究院之基础语法(一) Ruby On Rails研究院之初识Rails(一) Three20研究院之构建开发环境与Hello...
你好三角Directx11_ht-D3D11你好三角形OpenGL_ht-OpenGL Hello三角形Vulkan_ht-Vulkan你好三角形WebGL_ht-WebGL Hello三角形3D引擎Marvel_d3d11-Directx 11 3D引擎Marvel_opengl-OpenGL 3D引擎Marvel_webgl-WebGL 3D...
教程 1 - Hello World! 教程 2 - 类型 教程 3 - 字符串操作 教程 4 - 函数 教程 5 - if 和循环 教程 6 - 容器 教程 7 - 类 教程 8 - 指针 教程 9 - 内存管理 第 2 章 - 在 DX11 中绘制三角形 教程 1 - 创建桌面...
OpenGL_ht-OpenGL Hello三角形 Vulkan_ht-Vulkan你好三角形 3D引擎 Marvel_d3d11-Directx 11 3D引擎 Marvel_opengl-OpenGL 3D引擎 建筑 视窗 要求 具有以下工作流程的 : Python开发 使用C ++进行桌面开发 使用C ++...
这是Vulkan“ Hello World”三角形的概念证明,该三角形的二进制代码可在不同Linux发行版之间移植,甚至具有非标准动态链接器的二进制版本也可移植。 “它是如何工作的”文章是待办事项。 建造 经过Zig 0.7.0 + 479...
Hello WPF WPF培训教程全文共30页,当前为第1页。 Windows Form A new event model Can create control Still based on GDI+ Wrapper of Win32 WPF培训教程全文共30页,当前为第2页。 WPF WPF use DirectX to draw ...
使用DirectX的游戏,通常不接受使用SendInput()的击键 Windows的受保护区域,如Windows登录屏幕或UAC调暗屏幕 任何应用程序 因为驱动程序模拟击键和鼠标单击,所以目标窗口必须处于活动状态(即,在发送击键和鼠标...
1 .4 .3 Hello, World !...................... 34 1 .5 本章小结........................... 35 第2章 多媒体编程基础......................... 36 2 .1 多媒体文件.......................... 36 2 .1 .1 多媒体...
(PDF)入门,简介,Hello Triangle教程和可扩展性示例 (PDF) (PDF) 平台支援 平台 CI D3D12 D3D11 武尔坎 的OpenGL OpenGLES 3 金属 视窗 :check_mark: :check_mark: :check_mark: :check_mark: ...
Create ( text : " Hello " )) { win . Show (); return new EventLoop (). Run ( win ); }} 努吉特: 安装包WinApi 完全支持CoreCLR。 使用ref returns类的C#7功能来实现性能而又不会丢失语义值。文章
26. dxdiag---------检查DirectX信息 27. regedt32-------注册表编辑器 28. Msconfig.exe---系统配置实用程序 29. rsop.msc-------组策略结果集 30. mem.exe--------显示内存使用情况 31. regedit.exe----...
vc++动态链接库编程之DLL典型实例源代码下载 VC++仿Dreamweaver取色器源代码 VC++挂机锁屏系统源程序 VC++建立桌面或开始菜单快捷方式 VC++界面库编程 SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本...
vc++动态链接库编程之DLL典型实例源代码下载 VC++仿Dreamweaver取色器源代码 VC++挂机锁屏系统源程序 VC++建立桌面或开始菜单快捷方式 VC++界面库编程 SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本...
vc++动态链接库编程之DLL典型实例源代码下载 VC++仿Dreamweaver取色器源代码 VC++挂机锁屏系统源程序 VC++建立桌面或开始菜单快捷方式 VC++界面库编程 SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本...
vc++动态链接库编程之DLL典型实例源代码下载 VC++仿Dreamweaver取色器源代码 VC++挂机锁屏系统源程序 VC++建立桌面或开始菜单快捷方式 VC++界面库编程 SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本...
vc++动态链接库编程之DLL典型实例源代码下载 VC++仿Dreamweaver取色器源代码 VC++挂机锁屏系统源程序 VC++建立桌面或开始菜单快捷方式 VC++界面库编程 SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本...
DirectX 实例 DES加密算法源代码 如题。 Detected memory leaks 检查内存泄漏源码 DigiStatic_src 自绘CStatic实现数字效果。 DirectShow开发指南pdf附属代码 如题。 DirectShow开发指南源码 如题。 directUI_...