社区
控件与界面
帖子详情
如何做一个象VS.net界面菜单的控件?
abcynic
2002-08-05 10:47:38
也就是在非选中状态时菜单的底色是白色的,选中时MenuItem被一个蓝色矩形框包围的那种效果。我想用一个从MainMenu继承的类来实现,但后来发现MainMenu没有OnPaint可以重载。
高手给个实现的思路吧,如果有源代码更好!
...全文
47
3
打赏
收藏
如何做一个象VS.net界面菜单的控件?
也就是在非选中状态时菜单的底色是白色的,选中时MenuItem被一个蓝色矩形框包围的那种效果。我想用一个从MainMenu继承的类来实现,但后来发现MainMenu没有OnPaint可以重载。 高手给个实现的思路吧,如果有源代码更好!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
The_Gathering
2002-09-16
打赏
举报
回复
www.codeproject.com有已经写好的控件
lonk
2002-08-05
打赏
举报
回复
怎么没有,不是onpain,是drawitem事件.你响应这个就可以了.
设置该菜单项,如menuItem1菜单项的OwnerDraw属性为true
响应measureitem事件,设置菜单项的高度和宽度,然后就可以
在drawitem事件里画了.
以前一篇不知道谁的文章里的示例代码,
用来实现加图标exit.bmp的菜单项menuItemExit,可供您参考:
private void menuItemExit_MeasureIte(objectsender,System.Windows.Forms.MeasureItemEventArgs e)
{ e.ItemHeight = 25; e.ItemWidth = 75; }
private void menuItemExit_DrawItem(objectsender,System.Windows.Forms.DrawItemEventArgs e)
{
Rectangle rc = new Rectangle(e.Bounds.X,e.Bounds.Y,e.Bounds.Width,e.Bounds.Height);
e.Graphics.FillRectangle(new SolidBrush(Color.White),rc);
MenuItem s = (MenuItem)sender;
string strItem = s.Text;
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Far;
sf.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(strItem,new Font("Veranda",10), new SolidBrush(Color.Blue),rc,sf);
e.Graphics.DrawRectangle(new Pen(new SolidBrush(Color.White)),rc);
if(e.State ==(DrawItemState.NoAccelerator | DrawItemState.Selected))
{
e.Graphics.FillRectangle(new SolidBrush(Color.CornflowerBlue),rc); e.Graphics.DrawString(strItem,new Font("Veranda",10,FontStyle.Bold|FontStyle.Underline),new SolidBrush(Color.Yellow),rc,sf);
e.Graphics.DrawRectangle(new Pen(new SolidBrush(Color.Blue)),rc);
//Draws a focus rectangle within the bounds specified in theDrawItemEventArgsconstructor.
e.DrawFocusRectangle();
}
Image imgExit = new Bitmap("exit.bmp"); SizeF sz = imgExit.PhysicalDimension ; e.Graphics.DrawImage(imgExit,e.Bounds.X + 5,(e.Bounds.Bottom + e.Bounds.Top)/2 - sz.Height/2);
}
cometsky
2002-08-05
打赏
举报
回复
我以前从某个网站上下载了这么一个菜单控件,具体是哪了我忘了,有源代码(我没分析过),你要的话,通过短信息告诉我你的信箱。我发给你。
C#Winform
界面
布局设计(左侧
菜单
)右侧窗口操作
开发语言C#,
.net
环境下。C#Winform
界面
布局设计(左侧
菜单
)右侧窗口操作。以前
做
ERP设置的自定义
控件
。很好用。
XPMenu
.NET
菜单
风格
控件
完全用VB实现的模仿
.NET
菜单
风格的
控件
。 使用方便,将
控件
直接拖放到窗体上,窗体上的
菜单
就变为
.NET
风格了。(源码附送!)
[精仿]QQ2013局域网通讯(10.30更新版-带最新版
界面
库)
10.GDI+
界面
重绘,处理消息机制,3种移动模式和拉伸是否启用只需要设置
一个
属性的事就可以解决。 11.
界面
渐变闪现和闪退:不再像平凡的突然出现,采用API渐变机制,渐渐出现和消失,win7系统下还有动态缩小至任务的...
[精仿]360安全卫士-10.30更新(CSkin Demo)
6.将窗体自定义系统按钮改为集合模式,可添加无数个自定义系统按钮。自定义系统按钮事件中可以 e.参数 来判断。 7.增加360安全卫士-DEMO案例。 8.增加SkinAnimatorImg
控件
,用于支持位图动画的播放。如360的动态logo...
[开发工具] Codejock Xtreme Toolkit Pro 15.3.1 Full Source Retail
目前是 VC/VB 和
.NET
开发环境下最好的
界面
开发组件之一。 Codejock 软件公司的 Xtreme Toolkit Pro 提供了 Xtreme Toolkit 标准版的所有特性,以及 Xtreme Suite 中的所有高级特性,包括 Xtreme 控制栏(Xtreme ...
控件与界面
604
社区成员
12,293
社区内容
发帖
与我相关
我的任务
控件与界面
PowerBuilder 控件与界面
复制链接
扫一扫
分享
社区描述
PowerBuilder 控件与界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章