游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5378|回复: 3

关于头文件 WINDOWS。H和 AFXWIN。H 冲突的问题

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2003-9-13 00:18:00 | 显示全部楼层 |阅读模式
   
我是新来的,大家好

我在学DX编程,现在学到DIRECTINPUT部分

在建立窗口时候我用的是WIN API里面的
InitWindow( HINSTANCE hInstance, int nCmdShow )函数
此时调用了 <windows.h>

在建立DirectInput对象时又调用了
AfxGetInstanceHandle()函数
此时调用了 <afxwin.h>

然后编译时候出错,大概意思是两个头文件不能同时存在?
想请问下怎么解决
比如建立窗口还有别的方法吗?

谢谢拉
[em24]

90

主题

797

帖子

833

积分

高级会员

论坛版主

Rank: 4

积分
833
QQ
发表于 2003-9-13 00:30:00 | 显示全部楼层

Re:关于头文件 WINDOWS。H和 AFXWIN。H 冲突的问题

全局设置一个hwnd,就可以了

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2003-9-13 01:12:00 | 显示全部楼层

Re: 关于头文件 WINDOWS。H和 AFXWIN。H 冲突的问题

请问一下
怎么设置全局hWnd 呢
我是把所有的头文件全部集中在了一个自定义头文件里
用了
EXTERN HWND;的

2

主题

28

帖子

28

积分

注册会员

Rank: 2

积分
28
QQ
发表于 2003-9-14 18:31:00 | 显示全部楼层

Re: 关于头文件 WINDOWS。H和 AFXWIN。H 冲突的问题

MFC的东西跟Windows.h的东西最好不要混着用。
只包含Windows.h,保留一个全局hwnd就可以了。就是在公用头文件里写个
extern HWND g_hwnd;
然后在某个实现文件中,如放WinMain的那个cpp文件中的全局区域写
HWND g_hwnd;
那所有该project下的包含了那个头文件的文件应该都能访问g_hwnd了,初始化window时记得把得到的HWND放到g_hwnd就行了。以后只要有了hwnd,用GetWindowLong就可以获得诸如winproc,hinstance等等的信息了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-20 04:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表