关于 Windows Forms OwnerDraw 菜单。

DevilXelloss 2001-07-25 12:05:23
  把菜单设置为 OwnerDraw 之后,我重载了 MeasureItem、DrawItem,但是不太清楚如何做。我以前是搞 VB 的,对 MFC 不太了解,我觉得这应该和 MFC 中的做法相似,谁拉我一把?
...全文
172 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Only_I 2001-09-29
  • 打赏
  • 举报
回复
gz
Only_I 2001-09-29
  • 打赏
  • 举报
回复
up
Only_I 2001-09-29
  • 打赏
  • 举报
回复
up
wilddragon 2001-09-24
  • 打赏
  • 举报
回复
值得注意
wilddragon 2001-09-24
  • 打赏
  • 举报
回复
天生我才必有用
wilddragon 2001-09-21
  • 打赏
  • 举报
回复
哈哈
john1980 2001-09-08
  • 打赏
  • 举报
回复
codeproject 上有office xp 菜单的例子
Amoon 2001-09-01
  • 打赏
  • 举报
回复
WM_DRAWITEM 消息的lParam 参数是一个指向结构DRAWITEMSTRUCT的指针。
Public Type DRAWITEMSTRUCT (hehe ,是VB的)
CtlType As Long
CtlID As Long
itemID As Long
itemAction As Long
itemState As Long
hwndItem As Long
hdc As Long
rcItem As Rect
itemData As Long
End Type

其中rcItem 就是你需要的包含要绘制的菜单条目的矩形。
但是你不能得到Office XP 风格的菜单,因为无法修改菜单的边框。
musicwind 2001-08-31
  • 打赏
  • 举报
回复
有些类似Delphi
qqroom 2001-08-11
  • 打赏
  • 举报
回复
up
kyuwong 2001-07-31
  • 打赏
  • 举报
回复
MeasureItem这个事件是来确定菜单高和宽,DrawItem,这个才是最重要的,重画你的菜单,使它达到各种效果。
DevilXelloss 2001-07-26
  • 打赏
  • 举报
回复
我知道要用什么函数画,但是无法确定位置。因为我不知道 MeasureItem 应该干什么。
MadeInHeaven 2001-07-26
  • 打赏
  • 举报
回复
那就用System.Drawing.Graphics class里面的函数画出你想要的效果就行了。
Albertking 2001-07-25
  • 打赏
  • 举报
回复
yi
能告诉你要达到什么效果吗
ALBERTK@CHINA.COM
maybe i can't help you
DevilXelloss 2001-07-25
  • 打赏
  • 举报
回复
自己控制菜单的绘制,做出 Office XP 的效果。

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧