• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 呵呵,晕哦~~调用VB的DX7接口

呵呵,晕哦~~调用VB的DX7接口

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了dx7vb.dll下载,dx7vb,dx7,东南dx7试驾视频,dx7博朗等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 呵呵,晕哦~~ 调用VB的DX7接口
描述:

DX7开始都支持VB的开发, 对于VB这样的语言需要类型库来支持的.我想VC调用应该没问题. 搞了半天终于编译成功了. 感觉为VB设计的类型库在VC这样的强类型语言里用起来很别扭:
// 很多名字冲突, 讨厌
#import "dx7vb.dll" rename_namespace("DX7") \
rename("PC_RESERVED","_PC_RESERVED") \
rename("PC_EXPLICIT","_PC_EXPLICIT") \
rename("PC_NOCOLLAPSE", "_PC_NOCOLLAPSE") \
rename("E_PENDING", "_E_PENDING") \
// 关键代码:
DX7::DirectDraw7Ptr   m_dd;
DX7::DirectDrawSurface7Ptr  m_ddsp;
....
DX7::IDirectX7Ptr   dx7;
HRESULT hr = dx7.CreateInstance(__uuidof(DX7::DirectX7));
if(hr != S_OK){
AfxMessageBox("Errro");
}
try{
m_dd = dx7->DirectDrawCreate("");
m_dd->SetCooperativeLevel((long)m_hWnd, (DX7::CONST_DDSCLFLAGS)(DX7::DDSCL_EXCLUSIVE+DX7::DDSCL_FULLSCREEN));
m_dd->SetDisplayMode(800,600,32,0, DX7::DDSDM_DEFAULT);
DX7::DDSURFACEDESC2  ddsd;
ZeroMemory(&ddsd, sizeof(ddsd));
ddsd.lSize  = sizeof(ddsd);
ddsd.lFlags = DX7::DDSD_CAPS;
ddsd.ddsCaps.lCaps = DX7::DDSCAPS_PRIMARYSURFACE;
m_ddsp = m_dd->CreateSurface(&ddsd);
}
catch(_com_error& ce)
{
TRACE("COM Error : %d(%s)\n",ce.Error(), ce.ErrorMessage()); 
}
创建一个独占主表面,几句就搞定,终于不用时刻掂记着检查返回值了....开心:)


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 呵呵,晕哦~~调用VB的DX7接口

相关文章

  • 2017-06-05 如何hookIE的单击事件
  • 2017-06-05 求教,很急!100分!
  • 2017-06-04 关于VBS调用COM接口的效率问题
  • 2017-06-05 请问如何到源代码一级调试一个进程外组件
  • 2017-06-04 菜鸟一问:DLL、ActiveX和COM的区别和联系
  • 2017-06-04 ATL中对话框显示出错!!
  • 2017-06-05 在Web中调用ActiveX函数导致页面卡死的问题
  • 2017-06-04 VC2005使用WebBrowser显示EXCEL问题
  • 2017-06-05 400分高手指点:如何把所有对话框转到view中显示,如同诺盾界面?
  • 2017-06-04 哪里有《com技术内幕--微软组件对象模型》清晰的电子版下载?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何将bool型值经_RecordsetPtr插入access里呢?
    • 用C++做的ActiveX控件如何传递不定长数组供C#调用?
    • ActiveXControlTestContainer调试OCX的问题
    • 大家帮忙啊,线程通信的问题,读名命名管道被阻塞以后
    • 用ADO编程有一个小问题不明白,请指点一下,谢谢!
    • 请问dll和lib文件有什么区别和联系,如何调用,在调用的时候应该注意什么
    • AutoCADobjectarx启动可执行程序
    • 大虾帮忙!为什么我的dll在vc下运行正常,在net中却FreeLibrary出错
    • MFC如何控制视频切换(更新)
    • 关于new指令

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有