文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发VBVB中使用DirectX库的简明教程
精品推荐
特别推荐
·VB表格控件总览与例程分析
·用VB6.0制作画图板
·VB打造超酷个性化菜单(六)
·MSHFlexGrid 控件的应用
·Visual Basic 控件简介
·利用硬盘序列号计算软件注册码
·计算机等级考试二级VB常用算法:排序
·用diskid.dll和disk32.dll获得硬盘序列号
·VB6中使用Winsock穿越各种代理的实现
·在VFP、VB应用程序中激活鼠标功能
热点TOP10
·vb 高手搜集-常见问题总结(1)
·vb高手搜集-常见问题总结(3)
·自己动手做一个数学函数作图器
·利用VB6.0实现五线谱作曲工具
·VB实现程序的隐形
·vb高手搜集-常见问题总结(2)
·vb高手搜集-常见问题总结4(终章)
·Visual Basic通信程序设计
·用VB编写记事本
·窗体控件大小随窗体大小变化而变化

VB中使用DirectX库的简明教程

日期:2008年3月20日 作者: 查看:[大字体 中字体 小字体]



  下面我们将通过建立一个简单的DirectDraw程序并通过充实程序来学习DirectDraw的基本原理和应用。首先来建立一个简单的DirectDraw程序,建立一个新的工程,将Direct7说明库加入到工程中,然后在Form1中加入两个CommandButton和一个ListBox控件,在Form1中加入以下代码:

Option Explicit

Dim objDx As New DirectX7
Dim objDraw As DirectDraw7
Dim objEnumModes As DirectDrawEnumModes

Sub Cleanup() 'Cleanup函数回复屏幕并且清除DirectX对象
Call objDraw.RestoreDisplayMode
Call objDraw.SetCooperativeLevel(Me.hWnd, DDSCL_NORMAL)
Set objDraw = Nothing
Set objDx = Nothing
End
End Sub

Private Sub Command1_Click()
CleanUp
End Sub

Private Sub Form_Load()
Command1.Caption = "结束"
Command2.Caption = "设置显示模式"

On Error GoTo ErrHandler:

Dim ddsd As DDSURFACEDESC2
Dim I As Long, lgCount As Long

Set objDx = New DirectX7
'建立 DirectDraw 对象
Set objDraw = objDx.DirectDrawCreate("")

'将DirectDraw对象支持的显示模式设置到DirectDrawEnumModes对象中
Set objEnumModes = objDraw.GetDisplayModesEnum(DDEDM_DEFAULT, ddsd)

'将数据设置到ListBox中
lgCount = objEnumModes.GetCount()
For I = 1 To lgCount
objEnumModes.GetItem I, ddsd
List1.AddItem CStr(ddsd.lWidth) & "x" & CStr(ddsd.lHeight) & "x" _
& CStr(ddsd.ddpfPixelFormat.lRGBBitCount)
Next I

ErrHandler:
Select Case Err.Number
Case 0 ''没有错误
Case Else
Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpContext, _
Err.HelpContext
Call Cleanup
End Select
End Sub
Private Sub Form_Unload(Cancel As Integer)
Cleanup
End Sub
  程序的运行结果如下图:

VB中使用DirectX库的简明教程(图一)

  上面的范例首先演示了如何建立一个简单的DirectDraw对象并获得该对象支持的显示模式。下面我们要将在原来程序的基础上添加一些模块以实现更多的功能。


  首先在上面的程序中加入一个函数SetNewDisplayMode,函数代码如下:

Private Function SetNewDisplayMode()

On Error GoTo ErrHandler

Dim ddsd As DDSURFACEDESC2
Dim i As Long

i = List1.ListIndex
If i = -1 Then
MsgBox "请在列表中选择一种显示模式", vbOKOnly, "错误"
Exit Function
End If

objEnumModes.GetItem (i + 1), ddsd

''设置协作模式
objDraw.SetCooperativeLevel Me.hWnd, DDSCL_FULLSCREEN Or _
DDSCL_ALLOWMODEX Or DDSCL_EXCLUSIVE

''设置显示模式
objDraw.SetDisplayMode ddsd.lWidth,ddsd.lHeight, _
ddsd.ddpfPixelFormat.lRGBBitCount, _
0, DDSDM_DEFAULT

Me.Refresh

ErrHandler:
Select Case Err.Number
Case 0 ''No Errors
Case Else
Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpContext, _
Err.HelpContext
Call Cleanup

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] 下一页 




上一篇:用VB6.0设计一个打字练习软件

下一篇:VB+VC混合编程疑难问题解

相关文章:
·全方位性爱教程大全
·photoshop修改照片成为美女教程
·为什么iexplore.exe在打开网页时CPU使用会100%?
·溯雪使用说明
·键盘的使用与指法训练
·Flash AS基础精典教程
·GHOST使用方法(图解)
·Firefox 使用常见问题和解决方法
·注册表应用100例—注册表使用全攻略之十一
·Vista系统使用技巧总结
相关软件:
·刘天礼 吉他视频教程
·黑客视频教程 VMware虚拟机的安装和使用
·大师之路Photoshop教程V2.0
·脱壳二十课视频教程(破解爱好者福音)集合版
·黑客视频教程-灰鸽子远控使用教程
·孙鑫vc++视频教程
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·使用GPMC随心所欲管理组策略
·美工设计教程
·Photoshop 入门教程

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot