游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1495|回复: 2

在DirectX里如何创建不规则的窗口

[复制链接]

11

主题

17

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2008-6-15 09:41:00 | 显示全部楼层 |阅读模式
L_nPolyRegion1 = CreatePolygonRgn(&L_dPolyPoint[0], 9, 1);
                L_nPolyRegion2 = CreateEllipticRgn(380 , 30, 500, 150 );
                CombineRgn (L_nPolyRegion1, L_nPolyRegion1, L_nPolyRegion2, 2);
                L_nPolyRegion2 = CreateEllipticRgn(380, 160, 500, 280);
                CombineRgn (L_nPolyRegion1, L_nPolyRegion1, L_nPolyRegion2, 2);
                SetWindowRgn(m_hWnd, L_nPolyRegion1, TRUE);
我在网上找到这么一个程序设计不规则窗口,但是一遇到
        HRESULT hr;
       
        if( m_bFullScreen )
                hr = m_lpDDFront->Flip( NULL, DDFLIP_WAIT );
        else
        {
       
                hr = m_lpDDFront->Blt( &m_rcWindow, m_lpDDBack,
                                NULL, DDBLT_WAIT, NULL );
        }
这样的刷新屏幕的函数就完蛋了,我猜想m_lpDDBack页面是个规则的矩形,
m_rcWindow也是个规则矩形,结果导致那个程序失效了吧,
请问高手在DX里怎末做这效果啊! [em14] [em14]

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2008-6-17 10:22:00 | 显示全部楼层

Re:在DirectX里如何创建不规则的窗口

用DX做不规则窗口?狠有创意。

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2008-6-17 15:40:00 | 显示全部楼层

Re:在DirectX里如何创建不规则的窗口

做个假的.拿mask挡掉你不该画的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 06:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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