gpt4 book ai didi

c++ - 在哪里编码 Win32 菜单

转载 作者:行者123 更新时间:2023-11-30 03:24:10 25 4
gpt4 key购买 nike

我是 Win32 API 的新手,我正在尝试利用空闲时间学习。我进展顺利,但今天我看到了菜单。我意识到有两种不同的方式(我目前知道)可以在 Win32 中实现菜单。我可以在我的 WndProc 中的 WM_CREATE 中使用 AppendMenu,或者我可以在我的 resource.rc 中创建一个菜单,比如:

    IDR_MYMENU MENU
BEGIN
POPUP "File"
BEGIN
MENUITEM "Exit", ID_FILE_EXIT
END
POPUP "Help"
BEGIN
MENUITEM "About", ID_HELP_ABOUT
END
END

我的问题是:这两种实现方法是否比另一种“更好”。我所说的“更好”是指两种形式的代码是否比另一种形式更具模块化或可扩展性?使用其中任何一种都有好处/缺点吗?

提前感谢您的贡献!

最佳答案

与代码相比,资源文件往往更清楚地说明正在做什么,例如菜单,与 AppendMenu/InsertMenu 调用相比,使用 BEGIN ... END block 查看布局要容易得多。

与在代码中执行相同的任务相比,使用资源还可以让您选择更容易进行翻译。在那种情况下,您创建资源时将字符串翻译成目标语言,而数字标识符在所有版本中都相同。这适用于所有资源类型(对话框、字符串和消息表,甚至图标),而不仅仅是菜单。

关于c++ - 在哪里编码 Win32 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49912828/

25 4 0