menu源码分析
1. 菜單根據功能不同被劃分了不同的section,不同的section的源碼被分布在不同的地方
? ? 例如,主菜單的源碼在Editor/Mainframe,datavaildation菜單的源碼在Plugins\Editor\DataValidation下
2. 以主菜單為例,菜單以如下方法構建
? ?
? ? 首先創建出此菜單的section,然后在section中加入具體的菜單項
3. 通過查看主菜單的構建,可以看到是用的 FMenuBuilder 這個類進行構建,分析FMenuBuilder發現
? ?菜單的section是由 FHeadingBlock 創建
4.? 通過查看 FHeadingBlock 源碼
? ?可以看到最終Section是由 SHeadingBlock 這個SlateUI 創建
5. 再分析SHeadingBlock源碼
?可以看到其樣式是由 .Heading 決定
6. 搜索 .Heading樣式,在CoreStyle.cpp中搜索到此樣式
7. 修改其樣式,即可改變其表現形式
總結
- 上一篇: quartz mysql 初始化_qua
- 下一篇: OpenGL版本与OpenGL扩展机制