游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2153|回复: 5

求助,右击鼠标弹出的菜单是如何实现的?

[复制链接]

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
发表于 2008-6-7 22:26:00 | 显示全部楼层 |阅读模式
?如图
判断鼠标位置,画矩形方格,在方格中填入文字,鼠标移动后,根据鼠标的位置判断在哪个方格中,高亮显示该方格?
个人的猜想.在动手前想问一下有没有更好的方法.
谢谢.
sf_200867222558.jpg

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2008-6-9 08:17:00 | 显示全部楼层

Re:求助,右击鼠标弹出的菜单是如何实现的?

windows菜单吗?有相应API的,那菜单是从资源加载的,查MSDN

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2008-6-9 10:40:00 | 显示全部楼层

Re: 求助,右击鼠标弹出的菜单是如何实现的?

这种菜单很灵活的.
鼠标点哪儿,菜单出现在哪儿.
左键点击后,菜单消失.
从资源加载好象行不通.

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2008-6-10 08:26:00 | 显示全部楼层

Re:求助,右击鼠标弹出的菜单是如何实现的?

http://www.kumei.ne.jp/c_lang/sdk/sdk_46.htm

win32 API版本

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2008-6-10 08:31:00 | 显示全部楼层

Re:求助,右击鼠标弹出的菜单是如何实现的?

void   CTestDlgMenuDlg::OnRButtonDown(UINT   nFlags,   CPoint   point)     
  {   
   
  #define   ID_TST1   100   
  #define   ID_TST2   101   
   
  ClientToScreen(   &point   );   
   
  CMenu   PM;   
  ASSERT(PM.CreatePopupMenu(   ));   
  ASSERT(PM.AppendMenu( MF_ENABLED   |   MF_UNCHECKED   |   
  MF_STRING,   
  ID_TST1,   _T("Test&1")));   
  ASSERT(PM.AppendMenu( MF_ENABLED   |   MF_UNCHECKED   |   
  MF_STRING,   
  ID_TST2,   _T("Test&2")));   
   
  ASSERT(PM.TrackPopupMenu(   TPM_LEFTALIGN,   point.x,   
  point.y,   this));   
   
  CDialog::OnRButtonDown(nFlags,   point);   
  }   

MFC版本

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

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

Re:求助,右击鼠标弹出的菜单是如何实现的?

你是想在普通GDI程序里用呢,还是在游戏界面上用?如果不是游戏界面那有现成的API。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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