游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1549|回复: 1

请教使用DirectX替换鼠标图片时遇到的问题

[复制链接]

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2008-10-25 10:19:00 | 显示全部楼层 |阅读模式
我编写了以下一段代码:

IDirect3DSurface9* g_MouseCursor;
D3DXGetImageInfoFromFile(L"02.jpg", &ImageInfo);
hr = DirectDev.GetDirectDevice()->CreateOffscreenPlainSurface(ImageInfo.Width ,  
                   ImageInfo.Height, ImageInfo.Format , D3DPOOL_DEFAULT,  &g_MouseCursor,NULL);
if (FAILED(hr))
{
    MessageBox(hWnd,_T("载入鼠标样式失败"),NULL,NULL);
    return false;
}
hr = D3DXLoadSurfaceFromFile(g_MouseCursor, NULL, NULL, _T("02.jpg"),
                                NULL, D3DX_FILTER_NONE, 0xFF000000, NULL);
if (FAILED(hr))
{
    MessageBox(hWnd,_T("载入鼠标样式失败"),NULL,NULL);
    return false;
}
hr = DirectDev.GetDirectDevice()->SetCursorProperties(1,1, g_MouseCursor);
if (FAILED(hr))
{
    MessageBox(hWnd,_T("设置鼠标样式失败"),NULL,NULL);
    return false;
}
DirectDev.GetDirectDevice()->SetCursorPosition(0,0,D3DCURSOR_IMMEDIATE_UPDATE);
DirectDev.GetDirectDevice()->ShowCursor(true);


鼠标协调级别设置的是DISCL_BACKGROUND | DISCL_NONEXCLUSIVE
但是在运行时“DirectDev.GetDirectDevice()->SetCursorPosition(0,0,D3DCURSOR_IMMEDIATE_UPDATE);”总是返回错误。

这是怎么回事?

谢谢!

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
 楼主| 发表于 2008-10-25 15:05:00 | 显示全部楼层

Re:请教使用DirectX替换鼠标图片时遇到的问题

知道了  
Surface的格式只能设置为D3DFMT_A8R8G8B8
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 00:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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