右键菜单,当然也有二级的

win10自定义鼠标右键多级菜单(包含桌面) --------------如果觉得博主写的可以,请关注博主-------------- 首先 win + r 输入 regedit 进去注册表 然后 # HKEY_CLASSES_ROOT\*\shell 在shell创建一个你想要的右键文件 例如:KinokoYm 点击这个文件 在右侧的界面中,会出现一个默认的属性,或者是default 右键 点击这个文件,新建一个... 阅读详情

这不是我做的,是YQ君做的,在这里http://yqjun.tk/javascript/javascript-left-key-menu/  我只是收集过来而已

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>自定义右键菜单</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
/*global*/
html, body, div, ul, li, a {
    margin: 0;
    padding: 0;
}
html, body {
    height: 100%;
    overflow: hidden;
    font: 13px/1.5 "Microsoft YaHei";
}
ul {
    list-style: none;
}
a {
    outline: ;
}
/*菜单君*/
#left_key_main_menu {
    display: none;
    position: absolute;
    width: 100px;
}
#left_key_menu_outer li a{
    display: block;
    height: 30px;
    font-size: 12px;
    color: #444;
    line-height: 30px;
    text-align: center;
    text-decoration: none;
}
.left_key_menu_btn_current {
    color: #FFFFFF;
    background: #348CCC;
}
.left_key_main_manu_btn_to_secondary_menu a{
	border-left: 3px solid #348CCC;
}
/*二级什么的*/
#left_key_secondary_menu_id {
	display: none;
}
.left_key_secondary_menu {
    display: none;
    position: absolute;
    width: 120px;
}
/*我不是阴影*/
.shadow_out, .shadow_mid, .shadow_in {
    padding: 1px;
    border:1px solid #FFF;
}
.shadow_in {
    padding: 3px;
    background: #FFF;
    border-color: #BBBBBB;
}
.shadow_mid {
    background: #D8D8D8;
    border-color: #E8E8E8;
}
.shadow_out {
    background: #F3F3F3;
    border-color: #FBFBFB;
}
</style>
<script type="text/javascript">
window.onload = function()
{
	fuLeftKeyMenu();
};
var fuLeftKeyMenu = function()
{
	var oLeftKeyMainMenu = document.getElementById("left_key_main_menu");
    var aLeftKeyMainMenuBtn = oLeftKeyMainMenu.getElementsByTagName("a");
	var aLeftKeyMainMenuBtnToSecondaryMenu = new Array();
    var aLeftKeyMainMenuBtnToSecondaryMenu = myGetElementsByClassName("left_key_main_manu_btn_to_secondary_menu", "left_key_main_menu", "li");
    //初始化 SecondaryMenu 数组
    var aLeftKeySecondaryMenu = new Array();
    var aLeftKeySecondaryMenu = myGetElementsByClassName("left_key_secondary_menu", "left_key_secondary_menu_box", "div");
    var totalLeftKeyMenuBtn = document.getElementsByTagName("a");
    var iMainMenuNewLeft = iMainMenuNewTop = 0;
    var bSecondaryMenuIsOvered = new Array();
    var aSecondaryMenuTop = new Array();//记录 aLeftKeyMainMenuBtn 高度
    var aSecondaryMenuTop = getSecondaryMenuTop(aLeftKeyMainMenuBtn);
    //鼠标右键显示 oLeftKeyMainMenu ,点击其他键则隐藏
    document.onmousedown = function(event)
    {
        var event = event || window.event; //前者用于非IE,后者为IE而写
        stopDefaultLeftKey(event);
        if (event.button != 2)
        {
            hideLeftKeyMainMenu();
        }
        else
        {
            showLeftKeyMainMenu(event);
        }
    };
    //totalLeftKeyMenuBtn样式
    for (var i = 0; i < totalLeftKeyMenuBtn.length; i++)
    {
        //鼠标点击or覆盖 totalLeftKeyMenuBtn ,改变 totalLeftKeyMenuBtn 样式
        totalLeftKeyMenuBtn[i].onmousedown =  totalLeftKeyMenuBtn[i].onmouseover = function()
        {
            for(var elem in totalLeftKeyMenuBtn)
            {
                totalLeftKeyMenuBtn[elem].className = "";
            }
            this.className = "left_key_menu_btn_current";
        };
        //鼠标离开 totalLeftKeyMenuBtn ,恢复 totalLeftKeyMenuBtn 样式
        totalLeftKeyMenuBtn[i].onmouseout = function()
        {
            this.className = "";
        };
    }
    //鼠标覆盖 aLeftKeyMainMenuBtnToSecondaryMenu[i] or aLeftKeySecondaryMenu[i] ,显示 aLeftKeySecondaryMenu[i]
    for (var i = 0; i < aLeftKeyMainMenuBtnToSecondaryMenu.length; i++)
    {
        aLeftKeyMainMenuBtnToSecondaryMenu[i].index = aLeftKeySecondaryMenu[i].index = i;
        aLeftKeyMainMenuBtnToSecondaryMenu[i].onmouseover = aLeftKeyMainMenuBtnToSecondaryMenu[i].onmousedown =  aLeftKeySecondaryMenu[i].onmouseover = function(event)
        {
            var event = event || window.event;
            showLeftKeySecondaryMenu(this.index);
        };
    }
    //鼠标离开 aLeftKeySecondaryMenu[i] or aLeftKeyMainMenuBtnToSecondaryMenu[i] or 点击aLeftKeySecondaryMenu[i] ,隐藏 aLeftKeySecondaryMenu[i]
    for (var i = 0; i < aLeftKeyMainMenuBtnToSecondaryMenu.length; i++)
    {
        aLeftKeyMainMenuBtnToSecondaryMenu[i].index = aLeftKeySecondaryMenu[i].index = i;
        aLeftKeySecondaryMenu[i].onmouseout = aLeftKeySecondaryMenu[i].onmousedown = aLeftKeyMainMenuBtnToSecondaryMenu[i].onmouseout = function()
        {
		    hideLeftKeySecondaryMenu(this.index);
        };
    }
    //禁止 defalutLeftMenu 函数
    var stopDefaultLeftKey = function(event)
    {
        if (event.button == 2)
        {
            document.oncontextmenu = function()
            {
                return false;
            }
        }
    };
    //显示 oLeftKeyMainMenu 函数
	var showLeftKeyMainMenu = function(event)
	{
		oLeftKeyMainMenu.style.display = "block";
		iMainMenuNewTop = (event.clientY + oLeftKeyMainMenu.offsetHeight >= document.body.clientHeight) ? (event.clientY - oLeftKeyMainMenu.offsetHeight) : (event.clientY);
		iMainMenuNewLeft = (event.clientX + oLeftKeyMainMenu.offsetWidth >= document.body.clientWidth) ? (event.clientX - oLeftKeyMainMenu.offsetWidth) : (event.clientX);
		oLeftKeyMainMenu.style.left = iMainMenuNewLeft + "px";
		oLeftKeyMainMenu.style.top = iMainMenuNewTop + "px";
    };
    //隐藏 oLeftKeyMainMenu 函数
    var hideLeftKeyMainMenu = function()
    {
        oLeftKeyMainMenu.style.display = "none";
    };
    //显示 aLeftKeySecondaryMenu[index] 函数
    var showLeftKeySecondaryMenu = function(index)
    {
        aLeftKeySecondaryMenu[index].style.display = "block";
		aLeftKeySecondaryMenu[index].style.left = (iMainMenuNewLeft + oLeftKeyMainMenu.offsetWidth + aLeftKeySecondaryMenu[index].offsetWidth >= document.body.clientWidth) ? (iMainMenuNewLeft - aLeftKeySecondaryMenu[index].offsetWidth + "px") : (iMainMenuNewLeft + oLeftKeyMainMenu.offsetWidth + "px");
        aLeftKeySecondaryMenu[index].style.top = iMainMenuNewTop + aSecondaryMenuTop[index] * aLeftKeyMainMenuBtn[0].offsetHeight  +"px";
        bSecondaryMenuIsOvered[index] = true;
        aLeftKeyMainMenuBtnToSecondaryMenu[index].getElementsByTagName("a")[0].className = "left_key_menu_btn_current";
	};
	// 隐藏 aLeftKeySecondaryMenu[index] 函数
    var hideLeftKeySecondaryMenu = function(index)
	{
		var sleep = function()
		{
			if (bSecondaryMenuIsOvered[index] == false)
			{
				aLeftKeySecondaryMenu[index].style.display = "none";
			}
		}
		setTimeout(sleep, 200);
		bSecondaryMenuIsOvered[index] = false;
		aLeftKeyMainMenuBtnToSecondaryMenu[index].getElementsByTagName("a")[0].className = "";
	}
};
var myGetElementsByClassName = function(className, id, node)
{
    var aResult = new Array();
    var oBoxId = document.getElementById(id);//范围
    var aNode = oBoxId.getElementsByTagName(node);//范围内标签
    for (var i = 0; i < aNode.length; i++)
    {
        if (aNode[i].className == className )
        {
          aResult[aResult.length] = aNode[i];
        }
    }
    return aResult;
}
var getSecondaryMenuTop = function ()
{
    var aResult = new Array();
    var aBtnLi = document.getElementById("left_key_menu_outer").getElementsByTagName("li");
    for (var i = 0; i < aBtnLi.length; i++)
    {
        if(aBtnLi[i].className.indexOf("left_key_main_manu_btn_to_secondary_menu") != -1)
        {
            aResult[aResult.length] = i;
        }
    }
    return aResult;
}
</script>
</script>
</head>
<body>
<div id="left_key_menu_outer">
	<div id="left_key_main_menu" class="shadow_out">
		<div class="shadow_mid">
			<div class="shadow_in">
				<ul>
					<li><a href="javascript:;">菜单什么的</a></li>
					<li><a href="javascript:;">菜单什么的</a></li>
					<li class="left_key_main_manu_btn_to_secondary_menu"><a href="javascript:;">二级什么的</a></li>
					<li><a href="javascript:;">菜单什么的</a></li>
					<li><a href="javascript:;">菜单什么的</a></li>
					<li class="left_key_main_manu_btn_to_secondary_menu"><a href="javascript:;">二级二号XD</a></li>
				</ul>
			</div>
		</div>
	</div>
	<div id="left_key_secondary_menu_box">
		<div class="left_key_secondary_menu" class="shadow_out">
			<div class="shadow_mid">
				<div class="shadow_in">
					<ul>
						<li><a href="javascript:;">人家才不是二级</a></li>
						<li><a href="javascript:;">人家才不是二级</a></li>
						<li><a href="javascript:;">人家才不是二级</a></li>
					</ul>
				</div>
			</div>
		</div>
		<div class="left_key_secondary_menu" class="shadow_out">
			<div class="shadow_mid">
				<div class="shadow_in">
					<ul>
						<li><a href="javascript:;">又一个二级卖萌</a></li>
						<li><a href="javascript:;">又一个二级卖萌</a></li>
						<li><a href="javascript:;">又一个二级卖萌</a></li>
					</ul>
				</div>
			</div>
		</div>
	</div>
</div>
</body>
</html>


简易菜单的实现 每次看到网页上或各种窗口中都有一些菜单栏,里面有各种菜单选项,最近学习了Java组件,自己练习做了一个简易小菜单。 下拉式菜单和右键弹出式菜单:先看看实现效果: 阅读详情

相关推荐

桌面右键弹出二级菜单

桌面右键弹出你添加的二级菜单。COM技术,ATL。 这几天一直在做壁纸。翻了一些资料,终于做出来了。 几个函数: SHGetSpecialFolderPath用于获取特殊文件夹路径 SHGetPathFromIDList从id list获取路径   1.新建ATL工程,选支持MFC(因为要使用CString)和合并存根两个选项(因为不需要远程COM)。   2.右键工程,选添加

qyxqyxqyx的专栏 1824

取消windows11右键的二级菜单,默认展开右键二级菜单到一级

默认展开windows右键的二级菜单,不折叠

cheny的博客 3168

ZedGraph怎样实现将图形右键菜单的打印和页面设置合并为打印的二级子菜单

场景 Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载): https://blog.youkuaiyun.com/BADAO_LIUMANG_QIZHI/article/details/100140716 在上面博客实现的自定义右键以及汉化右键的基础上,怎样实现将自带的右键功能比如打印和页面设置合并为一个选项打印,并将上两个合并为其二级子菜单。 最终实现效果如下 注:...

BADAO_LIUMANG_QIZHI的博客 460

win右键菜单二级菜单

参考:https://blog.youkuaiyun.com/mzYangMao/article/details/82913316 一、创建对应的菜单组 创建二级菜单,必须在下面创建SubCommands 二、创建shell 三、在shell下面创建对应的名字组,比如我这的sublime 四、创建对应的command,然后对应的默认属性设置对应的值 最终效果: ...

zyb408815041的博客 1620

Qupath软件的安装与使用

Qupath软件的安装与使用软件安装软件下载软件安装【windows版】简单使用文件打开人工标注标注导出和导入 Qupath是一款开源的医学图像标注软件,适合放射影像及数字病理切片等的查看。同时,其自带的标注功能使得医生可以直接通过该软件进行病变区域的标注和分类。跟进一步的,该软件提供groovy脚本运行接口,可供操作者编写和运行脚本,将标注信息转换为xml或者json格式的数据进行进一步的后序处...

qq_40662074的博客 3万+

Manimgl 进阶笔记

目录 一、调整视频输出的纵横比 二、调整预览窗口的尺寸 三、在开发工具中直接调试 一、调整视频输出的纵横比 调整输出视频的纵横比,在日常开发中属于比较基本的需求。要使用 Manimgl 得到期望的分辨率的视频输出需要修改以下几个地方: 第一步:在 custom_config.yml 配置文件中通过 camera_qualities设置视频的输出分辨率。manimlib 框架已经在 default_config.yml 文件中设置了四种视频输出分辨率,default_qualities 参数.

gunnery的专栏 2859

创建右键二级菜单

forge二级菜单

kdj6067的博客 503

鱼眼相机矫正实战:除了棋盘格,试试横向展开和经纬度法(OpenCV4/C++实现对比)

本文对比了鱼眼相机矫正的三种主流方法:棋盘格标定法、横向展开法和经纬度法,通过OpenCV4/C++实战代码解析,帮助开发者在自动驾驶、VR全景拼接和安防监控等场景中选择最适合的技术方案。重点分析了各方法的精度、处理速度和适用场景,为工程实践提供实用指导。

weixin_29032489的博客 283

注册表实现右键自定义多级菜单

给文件添加右键菜单的方法主要有修改注册表,编写COM组件两种方式,当然这个只是我知道的,或许还有其他我所不知道的方法。今天我要分享的是如何通过添加注册表来达到创建自定义菜单的目的。 在XP系统上通过注册表添加自定义菜单,只能创建一级菜单而且不能给菜单添加图标。WIN7及之后的系统支持注册表添加多级菜单并且可以添加菜单图标。下面是以WIN7为例进行说明添加的步骤: 1、打开注册表编辑器:

错位竞争,单点突破。 6396

CATIA二次开发CAA:(一)开发环境搭建

CATIA+CAA+RADE+VS2012

ysm1987的博客 1万+

基于 FastAPI + LangGraph + LLM 大语言模型的通用 Agent 多智能体系统架构设计与开发实战、产业应用

FastAPI是一个现代、快速(高性能)的Python Web框架,专门用于构建API。它由Sebastián Ramírez(@tiangolo)创建,基于Starlette(用于Web部分)和Pydantic(用于数据部分)构建。性能优先:FastAPI是当前最快的Python Web框架之一,性能与NodeJS和Go相当。这得益于其基于Starlette的异步架构,能够充分利用Python 3.6+的async/await特性。开发效率。

AI天才研究院 230

swing 右键二级三级菜单

【代码】swing 右键二级三级菜单。

xiaoerbuyu1233的博客 638

uniapp [全端兼容] - 详细实现用户电子签名 “逐字校验“ 将姓名按字拆开分别手写签署签字,把客户名字自动拆成单独的文字并由用户逐个依次签名与汉字笔画校验,支持汉字格、田字格、米字格、方格等!

uniapp,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,手写签名,电子签署,逐个字挨着写,写名字,将客户姓名分成单独的文字并依次手写,在田字格里写名字,米字格,方格,合同,书写轨迹,验证手写的文字是否正确,如何在uni-app做姓名拆分成独立的文字后手写每一个字,校验正确性,画板,汉字生成在米字格里并且让用户去写,如何画一个汉字田字格,vue把姓名拆分单独写签名,文字,拆掉,中文汉字网格,一个字一个字签名,一次只签名一个文字,判断签名的文字笔画是否正确,Un

🏆 前端领域优质创作者 1万+

记Windows文件右键扩展二级子菜单

注册表添加桌面右键二级菜单_注册表右键二级菜单怎么设置-优快云博客Windows 右键菜单自定义配置_windows右键菜单内容修改-优快云博客

m0_47587308的博客 655

2024年数字IC秋招-大疆-数字芯片开发工程师-笔试题

笔试题型:选择题 + 简答题笔试平台:大疆创新(电脑监控)笔试时间:90min做题感受:知识面覆盖很广,很多题目不会做(1) 什么是功耗优化中的DVFS技术?(2)降低功耗的原理是什么?(3)一般工作流程是怎样的?(4)必须的硬件模块有哪些?

qq_42135020的博客 2666

NVIDIA Omniverse 技术浅析(三):NVIDIA RTX 技术

NVIDIA RTX 技术是 NVIDIA 推出的革命性图形渲染技术,旨在通过硬件加速和软件优化,实现高质量的实时图形渲染。RTX 技术在 NVIDIA Omniverse 平台中扮演着至关重要的角色,为其提供了强大的渲染能力。

m0_75253143的博客 351

如何用程序实现增加二级windows文件右键菜单

增加windows一级菜单较为简单,网上有很多资料,在[HKEY_CLASSES_ROOT\*\shell]中增加项目就好。但增加二级菜单,大部分是通过com组件实现,太麻烦了。通过搜索,发现前辈的简单操作办法,具体参见http://blog.youkuaiyun.com/anda0109/article/details/50313125...

ngamgolden的博客 335

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

计算机二级vb弹出式菜单,等考二级VB:用VB、VFP设计右键弹出式菜单

用VISUAL BASIC6.0实现弹出式菜单。建立含有如下控件的窗体:控件NAME CAPTION INDEX弹出式菜单窗体FORMENU 弹出式窗口实例1菜单项MENUS 编辑子菜单项MENUS1 窗口移动0子菜单项MENUS1 窗口最小化1子菜单项MENUS1 窗口最大化2子菜单项MENUS1 - 3 &&分割线子菜单项MENUS1 退出4(2)程序清单:Private De...

weixin_35012177的博客 1119

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C#通过编程添加右键菜单(一级菜单加二级菜单)

//创建右键菜单 ContextMenuStrip R_Strip = new ContextMenuStrip(); //添加一级菜单 ToolStripMenuItem R_Add=new ToolStripMenuItem("添加一级菜单"); //绑定点击事件    R_Add_Click点击事件自己写一下 R_Add.Click += R_Add_Click; //创建R_A...

One_Piece_Fu的博客 4034

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

动态建立右键菜单(一级/二级/三级) 响应鼠标单击事件及修改项的内容

之前刚学习MFC的时候,啥也不懂,连一个MessageBox都看不懂,呵呵……,今天刚开博客,这也是我的第一篇文章,右键菜单的动态建立。就像一些大侠说的一样,其实方法都一样,看你能不能想得到,能不能触类旁通。1.定义CMenu的对象CMenu menu1, *menu2, *menu3; POINT curPos;2.创建一级弹出菜单 menu1.CreatePopupMenu()

miaoshengwu Blog 7033

C#中怎样在ToolStripMenuItem下再添加子级菜单

场景 在右键菜单ContextMenuStrip下添加子菜单选项可以通过 ContextMenuStrip menuStrip ToolStripMenuItem mnuChartOption = new ToolStripMenuItem(); //新建菜单项对象 mnuChartOption.Name = "chart_option"; mnuChartOption.Text = "图形选项"; //点击弹出图形选项对话框 mnuChartOption.Click += delegate(obj

chinaherolts2008的博客 1505

win10管理桌面右击菜单项

打开注册表(win+r输入regedit或搜索注册表打开) 删除右击一级菜单项: 1.进入以下路径 HKEY_CLASSES_ROOT\Directory\Background\shell 删除对应文件夹 删除前: 删除后: 删除右击新建二级级菜单项: 进入HKEY_CLASSES_ROOT找到想要删除的文件名后缀,例如: HKEY_CLASSES_ROOT\.DOCX 然后将其下的“ShellNew”删除即可 新增右击新建二级级菜单项: 在对应的键下创建一新项“ShellNew”,然后新建字

stay_for_you的博客 6004

Win11桌面右键刷新选项在二级界面的修正方法

将新项命名为 `{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}`(大括号也要写,引号’不用写),。- 在刚才新建的项中,再右键选择 “新建” > “项”,将其命名为 `InprocServer32`(注意大小写,引号不用写)。- 打开任务管理器(shift+ctrl+esc),在进程中查找并右键点击 “Windows 资源管理器”,选择 “重新启动”。- 双击右侧的 “(默认)”,将其值设置为空(留空即可),然后点击“确定”。### 解决方法:修改注册表。

qq_42940869的博客 2065
上一篇: js的缩放窗口
下一篇: Jquery 图像渐变
程序员迈克
博客等级 码龄16年 36粉丝 71原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值