API 個人理解
🌐 基本概念
所有 Widget(控制元件) 會返回一個「引用(reference)」,之後必須傳入給相關函式(如
MachoMenuGetInputbox/MachoMenuSetText)。引用類型:
WindowReference:來自
MachoMenuWindow的結果,用來操作視窗或子元素。GroupReference:來自
MachoMenuGroup的結果,用來安放 Widget。WidgetReference:來自 Widget 本身的結果(例如
MachoMenuInputBox)。
🖼️ 視窗建立 (Window creation)
MachoMenuWindow(PosX, PosY, EndX, EndY)
建立主視窗,返回一個 handle 供子區域/Widget 使用。
MachoMenuTabbedWindow(Name, PosX, PosX, PosY, SizeX, SizeY, TabSectionWidth)
建立帶有分頁(Tabs)的視窗。
MachoMenuDestroy(WindowReference)
銷毀整個視窗。
MachoMenuSetAccent(WindowReference, r, g, b)
設定視窗的主題色(RGB)。
MachoMenuSetKeybind(WindowReference, Keybind)
設定開關菜單的快捷鍵,需使用 虛擬鍵代碼(例如 0x2E = DELETE)。
📦 區域 / 分區 (Widget areas / sections)
MachoMenuGroup(WindowReference OR TabReference, Name, PosX, PosY, EndX, EndY)
在視窗或分頁內建立一個子區域,返回 GroupReference,之後所有 Widget 可放入此 Group。
📑 分頁 (Tabs)
MachoMenuSmallText(WindowReference, Text)
在分頁區塊中顯示小字文字。
MachoMenuAddTab(WindowReference, Name)
新增一個分頁,返回 TabReference,供放置 Widget。
🔘 Widgets (控制元件)
MachoMenuButton(GroupReference, Name, Callback)
按鈕,點擊時執行 Callback。
MachoMenuCheckbox(GroupReference, Name, CallbackEnabled, CallbackDisabled)
勾選框,分別設定啟用/停用回呼。
MachoMenuSlider(GroupReference, Name, DefaultValue, Min, Max, Unit, DecimalPrecision, Callback)
滑桿,設定範圍、單位、小數精度,值變更時呼叫 Callback。
MachoMenuText(GroupReference, Text)
靜態文字顯示。
MachoMenuSetText(WidgetReference, Text)
修改已有 Widget 的文字。
MachoMenuInputbox(GroupReference, Text, Placeholder)
輸入框。
MachoMenuGetInputbox(WidgetReference)
取得輸入框目前文字(回傳 string)。
MachoMenuDropDown(GroupReference, Name, Callback, Selectable1, Selectable2, ...)
下拉選單,選擇後觸發 Callback。
✅ 總結工作流程
建立視窗 →
MachoMenuWindow或MachoMenuTabbedWindow分區或分頁 → 用
MachoMenuGroup或MachoMenuAddTab加入 Widgets → Button, Slider, Checkbox, Inputbox 等
互動操作 → 設定回呼函式(Callback)、或讀取/更新 Widget 狀態(例如
MachoMenuGetInputbox,MachoMenuSetText)銷毀視窗(必要時) →
MachoMenuDestroy
最后更新于