今天,咱们还是接着玩“控件斗地主”,这是我原创的超级游戏,有益身心健康,玩一朝,十年少 。
哦,对,脑细胞极速运动了一下,想起了一个问题,这个破问题虽然网上有很多种解决方案 ,但是,并没有让所有人都解决问题。
不知道大家有没有调用过LoadIconMetric函数,这个函 数在静态库Comctl32.lib中有定义(当然,动态库也有),不过,创建项目的时候,默认并没有引用它 的,于是,大家知道,解决调用的方法就是在代码中加上:
#pragma comment(lib, "Comctl32.lib")
我一般习惯这种方法,这样不必去修改项目属性。但是, 很多朋友说过,在Win 7以后的系统,依然没有成功,我也尝到了调用失败的“甜头”,我一直在想, 这是为什么呢?
于是,我又试了另一种方法,就是用LoadLibrary加载Comctl32.dll,然后通过 函数指针去调用它:
typedef LRESULT (WINAPI * pLoadICMT)(.......);
但结果还是没 成功,GetProcAddress返回的地址为0,又一次尝到了失败带来的“刺激”感。
直到某一天,我 在写某程序时,从上一文中大家都看到,那个按钮的视觉风格和Win9x/2000差不多,似乎没有XP那种充 满美学水准的效果。其实,这是因为我们的程序没有启用视觉效果,默认情况下,使用版本5中的控件 ,而要有XP以上的风格,是在版本6的控件内库中才有。
当然方法可以很多人都知道,就是定义 一个用于视觉效果的清单文件,本质是XML格式。不过我用的开发工具是VS 2005之后的版本,就不用弄 个XML文件那么麻烦了,直接到MSDN上复制粘贴这段代码放到你的代码文件(.cpp)中,就是这个,直 接抄过来就行了,适当的时候,要巧用MSDN上的资源。
// 开启视觉效果 Copy from MSDN #pragma comment(linker,"\"/manifestdependency:type='win32' \ name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \ processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
version是版本号,要有好看的效果,记得要6,不要写用低版本的。processorArchitecture是处理 器平台,x86或amd64,用*号最好,通杀。
真是巧啊,原来这么一来,噗,LoadIconMetric也能 调用了。总的来说,就是在代码文件加上以下内容:
#include <CommCtrl.h> //包含头文件 // 导入静态库 #pragma comment(lib, "Comctl32.lib") // 开启视觉效果 Copy from MSDN #pragma comment(linker,"\"/manifestdependency:type='win32' \ name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \ processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
这问题干掉了,开始今天的吹牛大行动。
单选按钮,是的,在WinForm里面你肯定知道, RadioButto,复选框就是CheckBox。不过那个时候.NET还没那么猛,那个时代,就是玩VB6,所以我知 道VB里面,单选按钮叫Option吧。
然后找遍了Win32的控件库,怎么没见Radio和CheckBox,于 是,我陷入了万分痛苦之中。不久后阅读MSDN文档,我就明白了,其实这两个玩意儿都是BUTTON类的, 只是应用了不同的style罢了。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, 控件
, 按钮
, radiobutto...
, ccf
, 版本
, 效果
, 视觉
单选效果
ios单选按钮控件、单选按钮控件、access单选按钮控件、单选按钮控件的使用、单选按钮,以便于您获取更多的相关知识。