编一ActiveX控件,有UserControl1控件窗体和PropertyPage1属性叶窗体
控件中填加了两个Label控件,自定义两者的Font属性相同,为UserControl1的Font属性
Public Property Get Font() As Font
Set Font = Label1(0).Font
End PropertyPublic Property Set Font(ByVal New_Font As Font)
Set Label1(0).Font = New_Font
Set Label1(1).Font = New_Font
Call UserControl_Resize
PropertyChanged "Font"
End Property
在PropertyPage1中如何调用该Font属性?
label2.font = UserControl1.Font 无效显示UserControl1变量未定义.请问怎么获得UserControl1的Font属性?
是做毕业设计,拜托各位帮帮忙
控件中填加了两个Label控件,自定义两者的Font属性相同,为UserControl1的Font属性
Public Property Get Font() As Font
Set Font = Label1(0).Font
End PropertyPublic Property Set Font(ByVal New_Font As Font)
Set Label1(0).Font = New_Font
Set Label1(1).Font = New_Font
Call UserControl_Resize
PropertyChanged "Font"
End Property
在PropertyPage1中如何调用该Font属性?
label2.font = UserControl1.Font 无效显示UserControl1变量未定义.请问怎么获得UserControl1的Font属性?
是做毕业设计,拜托各位帮帮忙
同样显示UserControl1变量未定义.
我以前遇到过这样的问题,是在做窗体子类化的时候。
我不知道该怎么解决,用了一些很变通的办法
在通用模块里加一个变量pFont用来记录,
PropertyPage1改变后,修改pFont,然后UserControl1里面读取
我是要在属性页里加载一个label1,让他的font属性为usercontrol1内的自定义的Font属性,但通过Usercontrol1引用时说usercontrol未定义,模块我也建过,仍然不成功.
在Public Property Set Font(ByVal New_Font As Font)里设置pFont=new_font在属性页的PropertyPage_Initialize()里设置label1.font=pfont
dim pFont AS Font
不成功,好象不能声明成Font类型.我自定义类型,在模块中申明
Public Type MyFont
' MBold As Boolean
' MCharset As Integer
' MItalic As Boolean
' MName As String
' MSize As Integer
' MStrikeTrough As Boolean
' MUnderline As Boolean
' MWeight As Integer
'End Type
Dim intFont As MyFont
通过在Public Property Set Font(ByVal New_Font As Font)中将其属性一一对应赋值,
'With intFont
' .MBold = New_Font.Bold
' .MCharset = New_Font.Charset
' .MItalic = New_Font.Italic
' .MName = New_Font.Name
' .MSize = New_Font.Size
' .MStrikeTrough = New_Font.Strikethrough
' .MUnderline = New_Font.Underline
' .MWeight = New_Font.Weight
'End With
在Propage_Initialize()中引用intFont,
With Label1.Font
.Bold = intFont.MBold
.Charset = intFont.MCharset
.Italic = intFont.MItalic
.Name = intFont.MName
.Size = intFont.MSize
.Strikethrough = intFont.MStrikeTrough
.Underline = intFont.MUnderline
.Weight = intFont.MWeight
End With
但仍然显示intFont变量未定义.
Public pFont As New StdFont
---------------------------------
'usercontrol中:
Public Property Get font() As StdFont
Set font = pFont
End PropertyPublic Property Set font(ByVal vNewValue As StdFont)
Set pFont = vNewValue
End Property------------------------------------------------
'PropertyPage中:
Private Sub PropertyPage_GotFocus()
Set Label1.font = pFont
End Sub
把set label1.font=pFont加到Propage_Initialize()中却出现另外一种字体,真是郁闷.
你在PropertyPage_GotFocus()中试试
OK!给分了
到http://community.csdn.net/Expert/topic/4032/4032760.xml?temp=.6971399
去发个贴,我把那的分一起给你