ÓÃdelphi ÔÚWordÉÏÃæÔö¼ÓÒ»¸ö°´Å¥
н¨Ò»¸öActive Library
2. н¨Ò»¸öCOM Object£¬ÔÚClass NameÌîÒ»¸öÃû×Ö£¬ÈçTest¡£
µãÒ»ÏÂImplemented InterfaceºóÃæµÄList°´Å¥¡£ÔÙµãһ϶Ի°¿òÖеÄAdd Library°´Å¥£¬
Ñ¡Ôñ“Program Files\Common Files\Designer”Ŀ¼ÏµÄmsaddndr.dllÎļþ¡£
È»ºóÔÚÁбíÖÐÕÒµ½msaddndr.dllÀïÃæµÄ_IDTExtensibility2½Ó¿Úµã»÷È·¶¨¡£
3. ÏÖÔÚCom AddIn²¿·ÖÒѾÍê³É£¬ÏÖÔÚÒªÔÚWordÀïÃæ¼ÓÒ»¸öCommandBarºÍÒ»¸ö°´Å¥£¬²¢ÇÒÈð´Å¥ÏìӦʼþ¡£
4. ´´½¨Ò»¸öTcommandBarButtonµÄOleServerÀàÒÔÁ¬½Óµ½CommandButton²¢ÏìӦʼþ¡£´úÂ룺ÈçÏÂ
¶¨Ò岿·Ö
TCommandBarButtonClick = procedure(const Ctrl: OleVariant; var CancelDefault: OleVariant) of Object;
TCommandBarButton = class(TOleServer)
private
FIntf: CommandBarButton;
FOnClick: TCommandBarButtonClick;
function GetDefaultInterface: CommandBarButton;
procedure SetOnClick(const Value: TCommandBarButtonClick);
protected
procedure InitServerData; override;
procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Connect; override;
procedure ConnectTo(svrIntf: CommandBarButton);
procedure Disconnect; override;
property DefaultInterface: CommandBarButton read GetDefaultInterface;
published
property OnClick : TCommandBarButtonClick read FOnClick write SetOnClick;
end;
ʵʩ²¿·Ö
{ TCommandBarButton }
procedure TCommandBarButton.Connect;
var
punk: IUnknown;
begin
if FIntf = nil then
begin
punk := GetServer;
ConnectEvents(punk);
Fintf:= punk as CommandBarButton;
end;
end;
procedure TCommandBarButton.ConnectTo(svrIntf: CommandBarButton);
begin
Disconnect;
FIntf := svrIntf;
ConnectEvents(FIntf);
end;
constructor TCommandBarButton.Create(AOwner: TComponent);
begin
inherited;
end;
destructor TCommandBarButton.Destroy;
begin
inherited;
end;
procedure TCommandBarButton.Disconnect;
begin
if Fintf <> nil then
begin
DisconnectEvents(FIntf);
FIntf := nil;
end;
end;
function TCommandBarButton.GetDefaultInterface: Com
Ïà¹ØÎĵµ£º
Delphi ActiveX FormµÄʹÓÃʵÀý
By knityster
1. ActiveX¿Ø¼þ¼ò½é
ActiveX¿Ø¼þÒ²¾ÍÊÇÒ»°ãËù˵µÄOCX¿Ø¼þ£¬ËüÊÇActiveX¼¼ÊõµÄÒ»²¿·Ö¡£
ActiveX¿Ø¼þ¿ÉÒÔ±»¼¯³Éµ½ºÜ¶àÖ§³ÖActiveXµÄÓ¦Óõ±ÖÐÈ¥£¬»òÕßÖ±½ÓÓÃÀ´À©Õ¹Ó¦ÓõŦÄÜ£¬ÕâЩ֧³ÖActiveXµÄÓ¦ÓðüÀ¨C++ Builder¡¢Delphi¡¢Visual dBASE¡¢ Visual Basic¡¢Visual C++¡ ......
procedure TForm1.Button1Click(Sender: TObject);
Var
Num: Integer;
Begin
Try
Num:=StrToInt(Edit1.Text);
Edit2.Text:=IntToStr(Num*Num);
Except
On EConvertError Do ShowMessage(Edit1.Text+'ÎÞ·¨×ª³ÉÕûÊý!');
......
ÖÆ×÷Ô²½Ç¾ØÐεĴ°Ì壺
01.procedure TPortForm.FormCreate(Sender: Tobject);
02.var hr :thandle;
03.begin
04.hr:=createroundrectrgn(0,0,width,height,20,20);
05.setwindowrgn(handle,hr,true);
06.end;
Èç¹û²»Òª´°ÌåÍâ¿ò£¬ÔòʹÓãº
01.procedure TPortForm.FormCreate(Sender: Tobject);
02.var hr :thandl ......
·½·¨Ò»£º
¿Ø¼þÀà½Ð×ö TABC,ÎļþÃû½Ð abc.pas ÄÇôн¨Á¢Ò»¸öÎļþ½Ð
abc.rc
ÀïÃæÄÚÈÝÊÇ
TABC Bitmap icon.bmp
icon.bmp ¾ÍÊÇͼƬÎļþÃû£¬²»Òª³¬¹ý256É«£¬24x24
È»ºóÔÚÃüÁîÐÐÏÂÖ´ÐÐ brcc32 abc.rc¾Í»áÉú³É abc.res
¸ÄÃûΪ abc.dcr
´ò¿ªÄã¿Ø¼þµÄ dpkÎļþ£¬ ¼ÓÉÏ {$R ABC.DCR}
ÖØбàÒë¾Í¿ÉÒÔÁË¡£
±ã½Ý·½ ......