VB控件属性如何出现系统所有字体类型?制作VB控件,希望有个FontName属性能列出当前系统所有字体名点属性窗
VB控件属性如何出现系统所有字体类型? 制作VB控件,希望有个FontName属性能列出当前系统所有字体名 点属性窗口能出来一个下拉菜单选某个系统字体,注意是下拉菜单 看到别人的控件实现这个效果,请问怎么实现?[解决办法] 可以把现成的控件加进来[解决办法] 我的意思是点FontName这个属性时,就像点了枚举型的属性一样,会出现一个下拉列表,但当前系统的所有字体怎么能在做属性的时候枚举出来?[解决办法] 新建一个窗体,窗体上放两个控件,list1和command1 程序运行,单击命令按钮,将所有系统字体名称添加到列表框。代码如下: Private Sub Command1_Click() Dim i As Integer For i = 0 To Screen.FontCount - 1 List1.AddItem Screen.Fonts(i) Next i End Sub[解决办法] 去年结贴不好,原来的结贴是不是csdn自动给你结的?[解决办法] 回复:jjhhgg1111 我说的是制作控件的属性[解决办法] 把我给的加到你程序里不就可以了[解决办法] 回复:jjhhgg1111 你是没做过控件吧,知道什么叫做控件么[解决办法] 你在控件里面放个Label的数组,数组的数量调整为字体的数量,控件的字体调整为对应的字体 放置一个滚动条。 滚动条滚动是,调整需要显示的几个Label的位置到显示位置。 或者就用有限的几个Label,拖动滚动条时,把滚动条对应的字体和接下了的几个字体赋值给你的价格label[解决办法] 都是所问非所答,感觉这问题不算是什么大的技术问题啊。VB的属性窗口里能加Label标签?多可笑啊。 至少问的也是Property Let中应该写什么来实现的。 这里真的没高手了么?[解决办法]
引用: 都是所问非所答,感觉这问题不算是什么大的技术问题啊。VB的属性窗口里能加Label标签?多可笑啊。 至少问的也是Property Let中应该写什么来实现的。 这里真的没高手了么? 别人好心回复了,有什么可笑的,你是否应想想,你有没有把问题描述清楚.
[解决办法] 做个属性页试试
[解决办法] 引用: 新建一个窗体,窗体上放两个控件,list1和command1 程序运行,单击命令按钮,将所有系统字体名称添加到列表框。代码如下: Private Sub Command1_Click() Dim i As Integer For i = 0 To Screen.FontCount - 1 List1.AddItem Screen.Fonts(i) Next i En…… 这是最简单的方法。除此以外,还可以用API!
[解决办法] 我看见别人的控件里有一个叫FontName的属性,在“
VB的属性栏里 ”这个FontName是个
下拉菜单 ,点一下就会出现当前系统中所有的字体名。按理来说枚举的类型是会出现下拉的效果的,偏偏这个属性,我用VB的对象浏览器查询,发现竟然是String类型的。众所周知,枚举类型是可以从对象浏览器中看到的,这个FontName只是一个String类型。即便是枚举,也没法枚举出每台机器上的所有字体名。
[解决办法] 属性页会有神奇的效果,让VB属性栏里的FontName列出当前系统的所有字体?
属性页的我会做,我想了解属性栏中的怎么做。
引用: 做个属性页试试 [解决办法] 把
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
改为
Private Sub UserControl_ReadProperties(PropBag As ListBox)
然后参考#3楼给PropBag.AddItem
试试,仅供参考
[解决办法] 有接近10年没折腾这个了,见笑!
引用: 属性页会有神奇的效果,让VB属性栏里的FontName列出当前系统的所有字体? 属性页的我会做,我想了解属性栏中的怎么做。 引用: 做个属性页试试
[解决办法] 引用: 把 Private Sub UserControl_ReadProperties(PropBag As PropertyBag) 改为 Private Sub UserControl_ReadProperties(PropBag As ListBox) 然后参考#3楼给PropBag.AddItem 试试,仅供参考 你好,这个好像不行……
[解决办法] Private Sub Combo1_Click()
Label1.Font = Combo1.Text
End Sub
Private Sub Form_Load()
Dim i As Integer
For i = 0 To Screen.FontCount - 1
Combo1.AddItem Screen.Fonts(i)
Next i
End Sub
[解决办法] 记得应该是在UserControl页面,选择“工具-过程属性”菜单,再点击“高级”,然后其中绑定属性页面....手边没vb,具体看MSDN...
[解决办法] 引用: Private Sub Combo1_Click() Label1.Font = Combo1.Text End Sub Private Sub Form_Load() Dim i As Integer For i = 0 To Screen.FontCount - 1 Combo1.AddItem Screen.Fonts(i) Next i End Sub 你好,控件属性中不会用到Form_Load事件。
[解决办法] 对象浏览器对于这个控件的这个属性的描述:FontName As String。不是枚举类型。
如图所示,也不可能是枚举。
[解决办法] 引用: 记得应该是在UserControl页面,选择“工具-过程属性”菜单,再点击“高级”,然后其中绑定属性页面....手边没vb,具体看MSDN... 你好,确实可以绑定到属性页上,但是并不是在属性栏中出现下拉菜单,而是出现“…”的按钮,点一下调出属性页。
[解决办法] 引用: 对象浏览器对于这个控件的这个属性的描述:FontName As String。不是枚举类型。 如图所示,也不可能是枚举。 哦,发现我还是弄错了....这个效果还真不知道怎么做,似乎枚举可能以弄吧,有空想想....要干活了...
[解决办法] 引用: 引用: 记得应该是在UserControl页面,选择“工具-过程属性”菜单,再点击“高级”,然后其中绑定属性页面....手边没vb,具体看MSDN... 你好,确实可以绑定到属性页上,但是并不是在属性栏中出现下拉菜单,而是出现“…”的按钮,点一下调出属性页。 你没理解我的意思,是要先按具体功能自己定义属性页,然后再绑定....
自定义属性页的添加和加添窗体啊类模块等等一样,在工程中右键选择即可....
先看书吧,最近忙,如果有时间,或许会写个示例....
[解决办法] 也许VB6.0就没有方法实现,但这个控件是用VB写的,至于是哪个版本我还不确定。
[解决办法] String类型还会出现枚举类型的效果,我觉得只能是某种方式的绑定,或者拿一段程序在Readproperty事件中枚举出来,不过之前还没有见到过类似的例子,不知道怎么去实现。
[解决办法] 出去一周,回来发现,楼主这个问题还没解决,高手都到哪去了,就让我等菜鸟郁闷,什么世道
[解决办法] 该回复于2011-02-26 08:34:18被版主删除
[解决办法] 其实你并不需要这样做,可以直接设计一个Font属性,当单击这个属性时,就可以出现字体对话框,很方便,代码如下:
Private Sub UserControl_InitProperties() Set Font = New StdFont End Sub Public Property Get Font() As StdFont Set Font = gFont End Property Public Property Set Font(NewFont As StdFont) Set gFont = NewFont Set Label1.Font = NewFont PropertyChanged "Font" End Property
当然,如果你真的要枚举字体的话,API有一个函数可以枚举可用的字体,但我也不太清楚怎么用,自己看看去吧。
[解决办法] 该回复于2011-02-28 15:39:41被版主删除
[解决办法] 还在思考这个问题,这个控件应该是用VC++6.0写的。