阿
阿呆哥
Unregistered / Unconfirmed
GUEST, unregistred user!
我在ActiveX版发了这个问题,没有回答,所以贴在这里。原文在
http://www.delphibbs.com/delphibbs/dispq.asp?lid=564405
内容如下:
1)
我作了一个基于TComponent的不可视VCL Component,为了使用 ActiveX Wizard,我把它
变为基于TCustomControl。这样就多了好多没用的Property,比如 Cursor, Height. 我
用 Type Library Editor 把它们删了,但一加到VB中就有出来了,怎么办?(我用的是
C++ Builder, Delphi我不太会)
2)
我想用写一个 Paint Event Handler, 然后自己画一个ICON,但是好象 Paint 根本就没
被调用。程序如下:
__fastcall TMyCom::TMyCom(TComponent* Owner)
: TCustomControl(Owner), FTimeOut(1000)
{
if (ComponentState.Contains(csDesigning)) {
// 我加了这一语句,但根本没有Dialog,怎么回事?
Application->MessageBox("1", "1", MB_OK);
DesignIcon = new Graphics::TBitmap();
DesignIcon->LoadFromResourceName((int)HInstance,
"VBDesignIcon");
Height = 26;
Width = 26;
Visible = true;
} else {
Visible = false;
}
}
void __fastcall THIDComm:aint() {
TCustomControl:aint();
if (ComponentState.Contains(csDesigning)) {
Width = 26;
Height = 26;
Canvas->Draw(0, 0, DesignIcon);
}
}
3)
我想写一个类似Property Editor的东西,要在VB中能用。Property Page好象不行,
Property Page只能控治整个ActiveX,而不是期中的一个Property,它好象VCL的
Component Editor,而我要Property Editor.
补充一句,我写了一些 Events,ex: void OnReadSuccess(int status),这些Event能在
VB Editor 右上方的 List 中出现(就是显示OnClick, OnLoad之类的那个List),但
当我选 OnReadSuccess 时,出现错误:
"Function or Interface marked as restricted, or the function uses an
Automation type not supported in Visual Basic"
我的Interface并没不是hidden或restricted,参数也只是 void 和 int呀?
http://www.delphibbs.com/delphibbs/dispq.asp?lid=564405
内容如下:
1)
我作了一个基于TComponent的不可视VCL Component,为了使用 ActiveX Wizard,我把它
变为基于TCustomControl。这样就多了好多没用的Property,比如 Cursor, Height. 我
用 Type Library Editor 把它们删了,但一加到VB中就有出来了,怎么办?(我用的是
C++ Builder, Delphi我不太会)
2)
我想用写一个 Paint Event Handler, 然后自己画一个ICON,但是好象 Paint 根本就没
被调用。程序如下:
__fastcall TMyCom::TMyCom(TComponent* Owner)
: TCustomControl(Owner), FTimeOut(1000)
{
if (ComponentState.Contains(csDesigning)) {
// 我加了这一语句,但根本没有Dialog,怎么回事?
Application->MessageBox("1", "1", MB_OK);
DesignIcon = new Graphics::TBitmap();
DesignIcon->LoadFromResourceName((int)HInstance,
"VBDesignIcon");
Height = 26;
Width = 26;
Visible = true;
} else {
Visible = false;
}
}
void __fastcall THIDComm:aint() {
TCustomControl:aint();
if (ComponentState.Contains(csDesigning)) {
Width = 26;
Height = 26;
Canvas->Draw(0, 0, DesignIcon);
}
}
3)
我想写一个类似Property Editor的东西,要在VB中能用。Property Page好象不行,
Property Page只能控治整个ActiveX,而不是期中的一个Property,它好象VCL的
Component Editor,而我要Property Editor.
补充一句,我写了一些 Events,ex: void OnReadSuccess(int status),这些Event能在
VB Editor 右上方的 List 中出现(就是显示OnClick, OnLoad之类的那个List),但
当我选 OnReadSuccess 时,出现错误:
"Function or Interface marked as restricted, or the function uses an
Automation type not supported in Visual Basic"
我的Interface并没不是hidden或restricted,参数也只是 void 和 int呀?