今天心血来潮,想搞搞窗口风格,于是就盯上ModifyStyle这个东西。看名字就知道,这是个能修改样式的家伙。
一开始我还挺懵的,不知道这玩意儿具体咋用。网上搜一圈,发现好多资料都讲得云里雾里的,什么“ES开头的是editbox ES”、“dwRemove”、“dwAdd”……看得我头都大。不过总算还是摸到一些门道。
我先是找个简单的窗口程序,然后尝试着调用ModifyStyle。第一次用,心里还真有点没底。我记得函数原型大概是这个样子:BOOL ModifyStyle (DWORD dwRemove,DWORD dwAdd)。dwRemove,顾名思义,就是要移除的风格;dwAdd,自然就是我们要添加的风格。
我先试着移除一个边框风格。照着网上找到的一些零碎信息,我把dwRemove设置成某个值(具体是啥现在有点记不清,反正就是跟边框有关的一个常量),dwAdd就先设成0。然后,运行!
- 结果,窗口的边框……还真没!
有点意思!我这下更有干劲。
然后,我又试着添加一些别的风格,比如什么双击事件、滚动条之类的。有些风格还真能加上去,有些就没啥反应。看来,这ModifyStyle也不是万能的,有些属性还是改不的。
我还看到网上有人说,ModifyStyleEx也经常被拿来设置扩展风格,但是我这回没用上。有机会得试试看。
今天这一通折腾,也算是对ModifyStyle有个初步的解。以后要修改窗口风格,至少知道该找谁。
不过话说回来,网上那些资料,真是写得太不友好。很多文章都是互相抄,内容重复不说,还都讲不到点子上。要不是我亲自实践一下,还真搞不定这玩意儿。
实践出真知!
以后再遇到这种问题,还是得多动手试试才行。光看别人的文章,永远也学不会。