2010

关于WM上左右软件菜单项的EnableMenuItem(使用MFC的CCommandBar添加)

关于WM上MFC程序对左右软件菜单的控制,可以用win32的方法ShCreateMenu这套逻辑,或者使用CCommandBar这个类(替换掉的以前5.0之前的CCeCommandBar类),先Create然后InsertMenuBar就可以将常规menu资源作为左右软键对应的菜单显示,还可以添加toolbar,虽然看上去有点挤。
由于这种创建菜单的方法,让我误认为只是将win32的menu换了个添加方法,换了个绘图位置,导致后来要实现动态enable,disable菜单项时遇到了挠头的问题。按照常规的做法,在执行逻辑时调用EnableMenuItem(hMenu,IDM_MITEM,MF_BYCOMMAND|MF_GRAYED),函数调用,返回值以及参数hMenu都没有问题,但执行起来就是没有disabled的效果,google了一通发现国内国外都有很多人提到这个问题,最终也没有个明确的答复,不是说参数hMenu不对,就是说用ShGetMenuXXX的去取菜单,怎么看也不像是真正的解决办法。
后来在一篇动态更新菜单名称的文章中看到貌似WM对左右软键的菜单是作为POPUP MENU处理的,也就不像是win32正统主菜单那样,嗖得丝内,恍然大悟,换用响应WM_INITMENUPOPUP消息的方式,对要变更的菜单项作弹出菜单时的enable disable处理,问题解决,没想到被一个菜单项给杯具了……

发现一款比较好用的WM上的telnet软件Token2Shell/Mobile

token2shell mobile版1

token2shell mobile版


token2shell mobile版

token2shell mobile版


token2shell windows版

token2shell windows版

http://choung.net/
这个软件不仅普通telnet功能做的比较好,ssh连接功能也不错,终于可以摆脱putty了。通过修改设置里的编码属性可以很好的支持中文的显示(作者好像是韩国人,对亚洲文字的支持就是比一般的国外软件做的好),用wm看看水木还是挺不错的。
其实这个软件的windows版本也是挺好用的,尤其是针对ssh的一些功能,比如tunnel等等,而且界面看上去也是简洁明快。

附上windows版5.4.1和mobile版5.3.0的特别文件,仅供学习研究使用!
http://www.k-res.net/dl/token2shellc.rar