- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我目前正在开发一个 Win32 程序,它需要一个包含许多子窗口控件的主窗口 - 按钮、 ListView 等。我相信构建这样一个窗口的标准方法是首先为主窗口调用 CreateWindow,然后为每个控件再次调用。
作为一种更简单的选择,我正在考虑使用资源编辑器的对话框设计器设计主窗口,然后使用 CreateDialog 一次性构建主窗口。
通过在对话框模板中使用 CLASS 语句,我应该能够让主窗口使用自定义窗口类(以及自定义窗口过程),从而避免窗口出现任何类似对话框的行为。可以在 Charles Petzold 的“Windows 编程”中找到此技术的示例:the HEXCALC program in chapter 11 .
以这种方式创建我的主窗口有什么缺点吗?如果有,它们是什么?如果不是,为什么很少使用这种方法?
最佳答案
您无法控制主窗口消息循环 - 对话框管理器会为您处理。另一方面,对话框管理器处理键盘加速器、Tab 键排序和许多其他效果。
您会惊讶于使用标准对话框可以做什么 - Windows 音量控制由大约四个不同的对话框实现 - 它有一个框架对话框,该对话框又承载一个托盘窗口,该托盘窗口又容纳音量控制对话框,每个应用音量一个。
关于windows - Win32 : CreateDialog instead of multiple calls to CreateWindow - any downsides?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5944566/
我正在尝试生成这个简单的 Windows 对话框,但是一旦我启动它,它就会报告“错误 x715”,这意味着 hDialog 没有在 int WINAPI WinMain 中正确创建() 函数。它编译得
以下代码向 wnd 返回 0,但紧接在 CreateDialog 之后,错误为 ERROR_SUCCESS。该对话框没有显示,我不明白这是怎么可能的。这是一个控制台项目,如果相关的话,对话框是在 vs
我有一个自定义对话框,它从用户那里收集两个字符串。创建对话框时,我使用 OK_CANCEL_OPTION 作为选项类型。 Evertyhings 可以正常工作,除非用户单击取消或关闭对话框时,它具有与
我想在 VBA 7.0 中创建一个无模式弹出对话框。到目前为止,最有希望的路线似乎是CreateDialog . 首先我尝试了 CreateDialogW 并收到 Entry point not fo
使用 Win32 API,是否可以在一个线程中创建一个窗口或对话框,然后从另一个线程为它收集事件? HWND 是否与线程绑定(bind)? 尝试下面的人为示例,我从未看到 GetMessage() 触
我从 JOptionPane 创建了 JDiolog var pane = new JOptionPane(e.getMessage(),JOptionPane.ERROR_MESSA
我正在使用 scintilla editor component 为我的项目编写一个编辑器.该编辑器用于内部脚本语言,具有剪切、复制、粘贴等所有基本功能。作为其中一项功能,我还提供了搜索功能。当用户按
我正在研究很久以前用 C++ 编写的 BHO,没有使用任何 VS 向导。因此,该项目偏离了 COM 约定和 COM 产品的样板。我很久以前就使用 COM,但从未真正做过任何 Windows GUI/对
使用 Win32 API,是否可以在一个线程中创建一个窗口或对话框,然后从另一个线程为它收集事件? HWND 是否绑定(bind)到线程? 尝试下面这个人为的例子,我从来没有看到 GetMessage
即使在大量谷歌搜索之后,我真的无法弄清楚如何制作无模式对话框。我想要做的是通过按下主窗口上的按钮来触发对话框。 (所以让我把所有的东西都放在这里。我之前没有把所有的东西都放上去,以免读起来太乱了。)
我目前正在开发一个 Win32 程序,它需要一个包含许多子窗口控件的主窗口 - 按钮、 ListView 等。我相信构建这样一个窗口的标准方法是首先为主窗口调用 CreateWindow,然后为每个控
我是一名优秀的程序员,十分优秀!