環形選單 6個選單項

2021-09-27 03:28:31 字數 1526 閱讀 8545

html:

js

var istoggle = false;				// 標識當前是否處於選單切換狀態

var curdeg = 0; // 標識menu當前旋轉的度數

var menutext = ['神王蓋倫', '神王諾手', '黑夜使者亞索', '光明使者瑞文', '青年瑞茲', '呂布', '趙雲', '源計畫·薇恩']

var menumapregion = [0,1,2,3,4,5]; // 將選單和區域繫結

// 畫選單

var canvas = document.queryselector('canvas')

// 動態設定canvas的大小

canvas.setattribute('width', canvas.parentnode.offsetwidth);

canvas.setattribute('height', canvas.parentnode.offsetheight);

// 算出外圈和內圈的半徑

var outerradius = canvas.width / 2;

var innerradius = outerradius / 2;

function drawmenu()

// 畫字

ctx.restore(); // 重置座標系, 呼叫存檔

// ctx.rotate(-math.pi/8)

var y = innerradius + (outerradius - innerradius) / 2;

ctx.font = 'normal 16px april';

ctx.fillstyle = '#0094ff'

ctx.textalign = 'center'

ctx.textbaseline = 'middle'

ctx.rotate(math.pi / 6);

for (var i = 0; i < 6; i++)

ctx.restore()

}drawmenu();

document.queryselector('.outer').onclick = function(e)

function getregionindex(x, y) else

}function togglemenu(regionindex)

curdeg = deg;

canvas.style.transform = `rotate($deg)`;

settimeout(function() , 620); }

function updatamenumapregion(regionindex)

css

* 

.menu

.menu>canvas

.menu>.outer, .menu>.inner

.menu>.outer

.menu>.inner

遍歷選單項

遍歷任何窗體的menuitem 用了兩個多小時 略做修改,就可以實現其他功能,getmenuiteminfo提供的資訊足夠用了 procedure explorermenuitem menuhandle thandle varmenuindex integer menucaptionarray ar...

選單項引數

引數一 選單項 引數二 mf bycommand 表明 引數一 給出了選單項的識別符號。如果mf bycommand和mf position都沒被指定,則mf bycommand為預設標誌。mf byposition 表明 引數一 給出了選單項的以零為基準的相對位置。mf disabled 表明選單...

選單Menu和選單項MenuItem

檔案子選單下面有新建,開啟和退出子選項。檢視下面有普通子選項。1 在shell視窗中新增選單條 主選單 menu bar 型別是選單 menu 樣式是選單條 swt.bar 2 然後在主選單中新增兩個子選單 檔案子選單fileitem和檢視子選單viewitem 型別是選單選項 menuitem 樣...