专业化的帮助系统

这半个月的计划,提前5天完成,一下感觉特别轻松。准备出去转转,到江苏、云南去转一下。一切随意随缘。

也休整一下,15号以后再做基于模板的识别功能。

没事就自己当个用户来用用软件,东用西用的,突然觉得是否可以做个帮助系统,还是上下文敏感的,这样,从感觉上来说,软件会专业得多;而从系统的角度来说,会完善得多。总之会有上一个台阶的感觉。

另外,一般的小系统,没啥可以提供帮助的,用户自己去猜也也猜个八九不离十。所以,开发者自己定位问题,定位低点,就不需要提供帮助系统,定位高点,笨狗扎个狼狗势,先提供一个帮助系统先。

说做就做哈。

其实,说归说,做归做。要提供帮助,先得有帮助文档。

帮助文档用什么格式的呢?HTML?还是CHM?

从发布与维护的角度来说,CHM的效果肯定要好得多,一个文件就搞定,自动升级也方便。

以前用Dr Explain做了一个CHM格式的。

生成的CHM文件:

下面就是要把这个东东嵌入到程序界面中。

当然,不能把整个东东全嵌进去,这样看起来不舒服也不专业,最好是只嵌入内容页面。

思路就是找到内容页面的窗口句柄,设置它的父窗口即可。

目前运行结果:

初步达到预期效果。

不过,发现左边空得有点多,不知道是否可以挪动一点?

既然是设置父窗口方式实现,那肯定是可以设置其位置的,调整一下试试:

RECT clientRect;

::GetWindowRect((HWND)FParentWnd, &clientRect);

::SetParent((HWND)FChmViewWnd, (HWND)FParentWnd);

int left = -50;

SetWindowPos((HWND)FChmViewWnd, HWND_BOTTOM, left, 0, clientRect.right - clientRect.left - left, clientRect.bottom - clientRect.top, SWP_NOREPOSITION);

剩下的事,就是规范制作CHM帮助文件了。至于上下文敏感的帮助,那就太简单的了,不值得一提的事。

原文地址:https://www.cnblogs.com/drgraph/p/3311574.html