明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: pmq

[资源] VB.NET [源码] AutoCAD下拉菜单和折叠菜单

  [复制链接]
发表于 2025-7-3 09:42:43 | 显示全部楼层


不知道能不能设置成浮动的,然后可以修改界面的尺寸大小?类似下面这样子

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

发表于 2025-7-26 17:52:07 | 显示全部楼层
本帖最后由 zxw2735 于 2025-7-26 20:56 编辑

点赞点赞点赞
回复 支持 反对

使用道具 举报

发表于 2025-8-12 11:39:26 | 显示全部楼层
下拉菜单不能放在自定义的地方
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-12 13:11:24 | 显示全部楼层
39922228 发表于 2025-8-12 11:39
下拉菜单不能放在自定义的地方

修改源代码
' 主方法:创建工具条(文字菜单+图标菜单)
<CommandMethod("XLCD")>
Public Sub CreateDynamicToolbarWithTextAndIcons()
    Dim filePath As String = fullPath & "\XLCD.mnu"
    Dim filePath As String = "E:\...\XLCD.mnu"
回复 支持 反对

使用道具 举报

发表于 2025-8-28 14:07:41 | 显示全部楼层
学习一下,不嫌多
回复 支持 反对

使用道具 举报

发表于 2025-8-30 09:50:12 | 显示全部楼层
大佬,侧边栏的箭头,可以设置成天正风格吗?好像跟天正是相反的,天正点开二级菜单的时候,箭头是向下的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-30 11:11:04 | 显示全部楼层
daskfo 发表于 2025-8-30 09:50
大佬,侧边栏的箭头,可以设置成天正风格吗?好像跟天正是相反的,天正点开二级菜单的时候,箭头是向下的

修改源代码



' 主菜单按钮点击事件
AddHandler mainButton.Click,
    Sub(sender, e)
        ' 如果点击的是当前已展开的菜单,则折叠它
        If currentExpandedMenu IsNot Nothing AndAlso currentExpandedMenu Is subMenuPanel Then
            currentExpandedMenu.Visible = False
    将               currentMainButton.Text = "&#9654; " & CommandA.Title

   修改为         currentMainButton.Text = " " & CommandA.Title


            currentExpandedMenu = Nothing
            currentMainButton = Nothing
        Else
            ' 否则,折叠当前已展开的菜单(如果有)
            If currentExpandedMenu IsNot Nothing Then
                currentExpandedMenu.Visible = False
                           currentMainButton.Text = "&#9654; " & currentMainButton.Text.Substring(2)

    修改为             currentMainButton.Text = " " & currentMainButton.Text.Substring(2)


            End If

            ' 展开新的菜单
            subMenuPanel.Visible = True
                     mainButton.Text = "▼ " & CommandA.Title

    修改为        mainButton.Text = "&#9654; " & CommandA.Title


            ' 更新当前展开的菜单引用
            currentExpandedMenu = subMenuPanel
            currentMainButton = mainButton
        End If
    End Sub


自定义按钮的 Paint 事件
AddHandler mainButton.Paint,
    Sub(sender, e)
        Dim btn = CType(sender, Button)
        Dim g = e.Graphics
        g.Clear(btn.BackColor) ' 清除背景

        ' 绘制蓝色三角形
    将    Dim triangleText = If(subMenuPanel.Visible, "▼", "&#9654;")
修改为
           Dim triangleText = If(subMenuPanel.Visible,, "&#9654;" "")


回复 支持 反对

使用道具 举报

发表于 2025-9-4 20:02:03 | 显示全部楼层
都是高手,我连怎样编译都不会
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-9-14 16:28 , Processed in 0.147042 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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