游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5071|回复: 13

[求救]怎么在DirectDraw下做弹出式菜单

[复制链接]

7

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
QQ
发表于 2004-11-18 14:22:00 | 显示全部楼层 |阅读模式
     在全屏下,键盘和鼠标用DirectInput 的独占模式,现在要做弹出式菜单,
WM_CREATE:
    hMenu=LoadMenu(hIst,MAKEINTRESOURCE(IDR_POPMENU));
    hMenu=GetSubMenu(hMenu,0);
在右键处理中添加:
     TrackPopupMenu (hMenu, TPM_RIGHTBUTTON, point.x, point.y, 0, hwnd, NULL) ;
  
程序运行后,能弹出菜单,画面停在那不动了,键盘无效,鼠标能动,但是点击无效!!!!!
  
  请各位大虾指点!!
        
           

2

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2004-11-18 16:23:00 | 显示全部楼层

Re: [求救]怎么在DirectDraw下做弹出式菜单

你去vckbase.com看一看有你要的。我昨天看到一篇这样的文章

7

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2004-11-18 17:24:00 | 显示全部楼层

Re:[求救]怎么在DirectDraw下做弹出式菜单

好的,我去看看!!谢了

7

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2004-11-18 17:37:00 | 显示全部楼层

Re:[求救]怎么在DirectDraw下做弹出式菜单

楼上那位大虾!!!我找不到啊??能不能给个连接啊!!

19

主题

202

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
QQ
发表于 2004-11-18 17:40:00 | 显示全部楼层

Re:[求救]怎么在DirectDraw下做弹出式菜单

是不是你弹出的菜单没有被激活

7

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2004-11-19 08:06:00 | 显示全部楼层

Re:[求救]怎么在DirectDraw下做弹出式菜单

楼上的兄弟能不能说的清楚点啊??我对于这个不是太了解啊!!!怎么去激活菜单啊!!!

19

主题

202

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
QQ
发表于 2004-11-19 09:05:00 | 显示全部楼层

Re:[求救]怎么在DirectDraw下做弹出式菜单

我不知道你的menu是怎么做的,如果是一个窗口的话,会有活动和非活动,非活动窗口是不会对键盘和鼠标做出响应的

7

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2004-11-19 13:57:00 | 显示全部楼层

Re:[求救]怎么在DirectDraw下做弹出式菜单

多谢 lovecpp ,把独占模式改成非独占模式,问题有所解决,但是新问题又来了:
   点击菜单又出现上述现象:
   我用的是:
case ID_ADD_NPC:
DialogBox(hInstance,MAKEINTRESOURCE(IDD_ADDNPC),hwnd,(DLGPROC)AddNpcDiaLog);

响应的函数如下;
BOOL CALLBACK AddNpcDiaLog(HWND hDlg,UINT meg,WPARAM wParam,LPARAM lParam)
{
        switch(meg)
        {
        case WM_INITDIALOG:
                {
                RECT rect;
                GetWindowRect(hDlg,&rect);
                int h=rect.bottom-rect.top;
                int w=rect.right-rect.left;
                MoveWindow(hDlg, (ScreenWidth-w)/2, (ScreenHeight-h)/2, w, h, TRUE);
                }


                SetDlgItemText(hDlg,IDC_EDIT1,"100U");
                SetDlgItemText(hDlg,IDC_EDIT2,"200U");
                ShowWindow(hDlg,SW_SHOW);
                UpdateWindow(hwnd);
                return TRUE;
                break;
        case WM_COMMAND:
                switch(LOWORD(wParam))
                {
                case IDOK:
                        return TRUE;
                case IDCANCEL:
                        EndDialog(hDlg,FALSE);
                        return TRUE;
                }
                break;
        case WM_CLOSE:
                EndDialog(hDlg,FALSE);
                return TRUE;
        default:
                return FALSE;
        }
        return FALSE;
}
发现对话框没有显示出来,但是我用ALT+TAB,程序没有跳出,自动缩小到下面工具栏,再点开缩小到下面的图标发现了对话筐。我对此很疑惑,是不是对话筐在后台运行???
请教一个各位高手,程序应该怎么改。

我的程序是用来做地图编辑器的。

7

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2004-11-19 15:56:00 | 显示全部楼层

Re:[求救]怎么在DirectDraw下做弹出式菜单

  求救??
  各位高手来顶一下吧!!
  跪求!!......................................................

7

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2004-11-22 08:30:00 | 显示全部楼层

Re:[求救]怎么在DirectDraw下做弹出式菜单

快来顶啊!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 10:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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