挖井

类库大魔王的挖井日记

挖一口属于自己的井


自定义快捷键

  昨天完成了自定义快捷键的特性。该特性在配置对话框中实现与用户交互。
  首先,在程序启动时,装载所有菜单项时,把所有菜单项的ID、标题、快捷键信息记录下来,作为缺省的配置。将缺省配置保存到文件中,然后查看是否存在保存了修改后配置的文件,如果存在该文件,则装载该文件的配置,应用到程序中。应用过程分两步,刷新菜单显示和设置快捷键表。
  接着,处理在配置对话框中的用户交互响应。在对话框初始化时,加载当前正在使用的快捷键配置。用户可以修改其中任意一项的配置,当用户选择应用修改后的配置时,就将当前配置保存到文件中,以便下次程序启动时可以装载这个修改后的配置。
  基本处理流程就是这样。用wxWidgets实现时,也是比较容易的。wxWidgets提供了快捷键相关的几个类和方法,相当方便,包括wxAcceleratorEntry、wxAcceleratorTable、SetAcceleratorTable等等。
  这里不得不抱怨一下,wxWidgets对于一些明明日常需要使用的类和方法,竟然没有文档进行说明。另外还发现个问题,wxAcceleratorEntry有个ToString方法,当其中的Key Code是除了字母、数字外的其他的可打印字符时,会断言失败,太Orz了,只好自己写代码转换了。

本文地址:

https://minidump.info/blog/2010/07/e8-87-aa-e5-ae-9a-e4-b9-89-e5-bf-ab-e6-8d-b7-e9-94-ae/

上一篇

实现关系视图,使用gcc编译

  Relation视图可以算是完成了,至少是处于可用的状态了。基本原理就是调用cscope这个程序,本来这个程序是开源的,而且是用BSD许可的,比较干净的做法是把代码拿来编译进自己的工程里。不过我懒得研究那个代码怎么编译了,直接调用现成的可执行程序,通过管道获取其输出,然后自己解析一遍输出内...…

CodingStudio wxWidgets 全文阅读
下一篇

实现注释和取消注释

  这是个很简单的功能,但却很有用。SciTE和Notepad++都有一套自己的实现,感觉Notepad++的效果比较好。从它们的配置文件中提取出众多编程语言的注释符号即可。注释分为两类,一类是行注释,另一类块注释。不是每种编程语言都支持这两类注释方式,甚至有的编程语言都不支持可以有注释。当然...…

CodingStudio 全文阅读