vb6怎么绑定控件和字体
vb吧
全部回复
仅看楼主
level 1
睡了阿兰 楼主
这个是c++的代码 vb用这个api函数 AddFontMemResourceEx 怎么才能绑定控件 比如说标签 把标签和内存中的字 体绑定了 如果不绑定 标签的字 体 就不是指定的字 体 就不会生效
2022年02月25日 17点02分 1
level 13
还有一点忘了跟你说了,AddFontMemResourceEx调用放在程序开头(Form_Initialize)内,比如AddFontMemResourceEx 了宋体,后面控件引用(宋体)字体都会正常显示了(就算系统不带这个字体也会正常显示),没有必要再去设置
2022年02月26日 02点02分 4
level 1
睡了阿兰 楼主
vb里这样设置 还是不行 除非把简谱字 体安装到windows font目录里 才会生效
2022年02月26日 08点02分 5
那是当然,编译后就不需要了,你控件设计设置字体肯定要在,否则VB工程保存时会恢复到默认字体
2022年02月26日 08点02分
@隨風🍁缒夢 编译后还是不行 别人电脑不带这个字 体 我想通过资源文件带这个字 体 在程序内部运行
2022年02月26日 08点02分
@睡了阿兰 没有不可以的,是你方法不对
2022年02月26日 08点02分
@睡了阿兰 你设计的电脑上必须在font目录下放好所需字体,工程中资源中也加载好字体,然后控件字符都改为所对应的字体,保存生成exe,不要删除fonts下的字体,后打开工程再编译,那就错了,VB工程会因为控件字体不存在而改为默认字体,那当然不对
2022年02月26日 08点02分
level 1
睡了阿兰 楼主
谢谢大佬 开始字 体在fonts目录里 我编译成功了 也成功了 后来我把fonts目录里的字 体给删了 再打开vb 就不行了 这也就说明了 字 体如果不存在 就不行了 对方电脑不可能安装这个字 体 这样就没办法了
2022年02月26日 09点02分 7
@隨風🍁缒夢 谢谢 大佬早点休息吧 我再问问别人
2022年02月26日 10点02分
level 1
睡了阿兰 楼主
我把笔记本电脑写好的exe放到台式机电脑上 前提台式机电脑没有对应的字 体 打开exe 字 体字符没有显示出来
2022年02月26日 10点02分 8
我不是说了你方法不对,对的话exe肯定显示正确字体
2022年02月26日 10点02分
level 13
这种是重新控件设置字体,可以不将字体放到fonts目录,不过不推荐用,控件较多的可能会有速度影响,需要每个控件都设置一遍(加之控件加载时本就有默认字体)
2022年02月26日 10点02分 9
[大拇指] 谢谢大佬 之前怎么整都不对 加上你这几句代码 就行了 原谅我只是一个vb小白 确实是方法不对 缺少代码
2022年02月26日 11点02分
最好还是要要设计模式下把控件的字体、字号设置好。如果有多个控件要这样用字体资源、并且字号各不相同,会很麻烦。用Set XXX来改变控件字体时,多个控件的字号大小会“一变全变”。但是上面那样的赋值字体时不用Set,就不会相互影响了。[滑稽]
2022年02月26日 13点02分
@涐吢铱舊囿儚 dim myfont as new stdfont 这句代码是什么意思 这句代码很关键 是定义一个新的标准字体吗 set那句代码 是绑定字体和控件吗
2022年02月27日 06点02分
level 1
睡了阿兰 楼主
dim myfont as new stdfont 这句代码是什么意思 这句代码很关键 是定义一个新的标准字体吗 set那句代码 是绑定字体和控件吗
2022年02月27日 06点02分 10
这儿的new不是“新的”,是个“操作符”。从VB语法来解释:声明变量标识符myfont,类型是stdfont;因stdfont是“对象类”、声明类型时加了new,那么在使用这个变量时,如果该变量是nothing(就是“空对象”),就会自动调用此“类”的默认构造函数实例化该对象、然后再做后续操作。[汗]
2022年02月27日 13点02分
执行 Set XXX.font = myfont 时,才能说是“把XXX控件的字体与myfont绑定”。
2022年02月27日 13点02分
@涐吢铱舊囿儚 为什么加上stdfont和set这两句代码 就好使 去掉 就不好使呢
2022年02月27日 13点02分
level 1
睡了阿兰 楼主
为什么加上stdfont和set这两句代码 就好使 去掉 就不好使呢
2022年02月27日 13点02分 11
1