3.6 窗口标识符

窗口标识符是在事件系统中用来唯一确定窗口的整数。事实上,在整个应用程序的范围内,窗口标识符不必一定是唯一的,而只要在某个固定的上下文(比如说,在一个frame窗口和它的所有子窗口)内是唯一的就可以了。举例来说:你可以在无数个对话框中使用wxID_OK这个标识符,只要在某个对话框内不要重复使用就可以了。

如果在窗口的构造函数中使用wxID_ANY作为其标识符,则意味着你希望wxWidgets自动为你生成一个标识符。这或者是因为你不关心这个标识符的值,或者是因为这个窗口不需要处理任何事件,或者是因为你将在同一个地方处理所有的事件。如果是最后一种情况,在使用 wxEvtHandler::Connect函数或者在静态事件表中,你应该使用wxID_ANY作为窗口的标识符。wxWidgets自动创建的标识符是总是一个负数,所以永远不会和用户定义的窗口标识符重复,用户定义的窗口标识符只能是正整数。

下表列举了wxWidgets提供的一些标准的标识符。你应该尽可能的使用这些标识符,这是由于下面一些原因。某些系统会给特定的标识符提供一些小图片(例如GTK+系统上的OK和取消按钮)或者提供默认的处理函数(例如自动产生wxID_CANCEL事件来响应Escape键)。在 Mac OS X系统上,wxID_ABOUT, wxID_PREFERENCES和wxID_EXIT菜单项也有特别的处理。另外一些wxWidgets的控件也会自动处理标识符为 wxID_COPY, wxID_PASTE或 wxID_UNDO等的一些菜单或者按钮的命令。

标识符名称 描述
wxID_ANY 让wxWidgets自动产生一个标识符
wxID_LOWEST 最小的系统标识符值 (4999)
wxID_HIGHEST 最大的系统标识符值 (5999)
wxID_OPEN 打开文件
wxID_CLOSE 关闭窗口
wxID_NEW 新建窗口文件或者文档
wxID_SAVE 保存文件
wxID_SAVEAS 文件另存为(应该弹出文件位置对话框)
wxID_REVERT 恢复文件在磁盘上的状态
wxID_EXIT 退出应用程序
wxID_UNDO 撤消最近一次操作
wxID_REDO 重复最近一次操作
wxID_HELP 帮助 (例如对话框上的帮助按钮可以用这个标识符)
wxID_PRINT 打印
wxID_PRINT_SETUP 打印设置
wxID_PREVIEW 打印预览
wxID_ABOUT 显示一个用来描述整个程序的对话框
wxID_HELP_CONTENTS 显示上下文帮助
wxID_HELP_COMMANDS 显示应用程序命令
wxID_HELP_PROCEDURES 显示应用程序过程
wxID_HELP_CONTEXT 未使用
wxID_CUT 剪切
wxID_COPY 复制到剪贴板
wxID_PASTE 粘贴
wxID_CLEAR 清除
wxID_FIND 查找
wxID_DUPLICATE 复制
wxID_SELECTALL 全选
wxID_DELETE 删除
wxID_REPLACE 覆盖
wxID_REPLACE_ALL 全部覆盖
wxID_PROPERTIES 查看属性
wxID_VIEW_DETAILS 列表框中的按照详细信息方式显示
wxID_VIEW_LARGEICONS 列表框按照大图标的方式显示
wxID_VIEW_SMALLICONS 列表框中按照小图标的方式显示
wxID_VIEW_LIST 列表框中按照列表的的方式显示
wxID_VIEW_SORTDATE 按照日期排序
wxID_VIEW_SORTNAME 按照名称排序
wxID_VIEW_SORTSIZE 按照大小排序
wxID_VIEW_SORTTYPE 按照类型排序
wxID_FILE1 to wxID_FILE9 显示最近使用的文件
wxID_OK 确定
wxID_CANCEL 取消
wxID_APPLY 应用变更
wxID_YES YES
wxID_NO No
wxID_STATIC 静态文本或者静态图片可以用这个标识符
wxID_FORWARD 向前
wxID_BACKWARD 向后
wxID_DEFAULT 恢复默认设置
wxID_MORE 显示更多选项
wxID_SETUP 显示一个设置对话框
wxID_RESET 重置所有选项
wxID_CONTEXT_HELP 显示上下文帮助
wxID_YESTOALL 全部选是
wxID_NOTOALL 全部选否
wxID_ABORT 中止当前操作
wxID_RETRY 重试
wxID_IGNORE 忽略错误
wxID_UP 向上
wxID_DOWN 向下
wxID_HOME 首页
wxID_REFRESH 刷新
wxID_STOP 停止正在进行的操作
wxID_INDEX 显示一个索引
wxID_BOLD 加粗显示
wxID_ITALIC 斜体显示
wxID_JUSTIFY_CENTER 居中
wxID_JUSTIFY_FILL 格式
wxID_JUSTIFY_RIGHT 右对齐
wxID_JUSTIFY_LEFT 左对齐
wxID_UNDERLINE 下划线
wxID_INDENT 缩进
wxID_UNINDENT 反缩进
wxID_ZOOM_100 放大到100%
wxID_ZOOM_FIT 缩放到整页
wxID_ZOOM_IN 放大
wxID_ZOOM_OUT 缩小
wxID_UNDELETE 反删除
wxID_REVERT_TO_SAVED 恢复到上次保存的状态

为了避免你自己定义的标识符和这些预定义的标识符重复,你可以使用大于wxID_HIGHEST的标识符或者小于wxID_LOWEST的标识符。