ÓÃ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
Ïà¹ØÎĵµ£º
savetime2k@yahoo.com 2004.1.28
http://savetime.delphibbs.com
½ñÌ쿪ʼѧϰԪ¼þ±à¼Æ÷£¬¸Ð¾õ±ÈÊôÐÔ±à¼Æ÷¼òµ¥Ðí¶à£¬µ«»¹ÊÇÓöµ½ÁËһЩÒÉÎÊ¡£Èç¹ûÄãÄܽâ´ðÎÄÖмǼµÄÎÊÌ⣬Çë¸æËßÎҴ𰸣¬Ð»Ð»£¡
Ŀ ¼
===============================================================================
¡Ñ TBaseComponentEdit ......
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+'ÎÞ·¨×ª³ÉÕûÊý!');
......
ǰÑÔ
¾¡ÈýÄêÀ´£¬±¾ÈËÂ½ÐøÐ´ÁËÁùÊ®¶àƪBOLOÎÄÕ£¬ÆäÖоø´ó²¿·ÖÊÇÓйØÍ¼Ïñ´¦ÀíµÄ£¬Òò´Ë£¬ÓÐÈËÏ·³ÆÎÒΪͼÏñ´¦Àíר¼Ò£¨»òGDI+ר¼Ò£©£¬´ËÏ·³Æµ±È»ÊǶÔÎÒµÄÔÞÑµ«ÎÒ×Ô¼ºÈ´¾õµÃÂÔº¬Ò»Ë¿Ë¿±áÒ壬¼´³ýÁËͼÏñ´¦Àí£¬±ðµÄ·½Ã棨ÈçÍøÂç¡¢Êý¾Ý¿âµÈ£©¶¼²»Õ¦µÄ£¬ÊÂʵҲȷʵÈç´Ë¡£
ÎÒÊÇÒ»Ãû»ú¹Ø¹¤ ......
¡¶DelphiͼÏñ´¦Àí -- Êý¾ÝÀàÐͼ°ÄÚ²¿¹ý³Ì¡·Ò»ÎÄÖж¨ÒåÁË»ù±¾µÄͼÏñÊý¾ÝÀàÐͼ°Ò»Ð©ÄÚ²¿¹ý³Ì£¬±¾ÎĽøÒ»²½½«Delphi³£ÓõÄͼÏñÀàÐÍת»»ÎªÍ¼Ïñ´¦ÀíËùÐèµÄÊý¾Ý½á¹¹£¬Îª¾ßÌåµÄDelphiͼÏñ´¦Àí¹ý³Ì×÷×¼±¸£¬Í¬Ê±Ò²Òª½«´¦ÀíºÃµÄͼÏñÊý¾Ýת»»ÎªDelphiµÄ³£ÓÃͼÏñÀàÐÍ¡£¡¶DelphiͼÏñ´¦Àí¡·ÏµÁгýͼÏñÊý¾Ýת»»¹ý³ÌÍâ£¬Æ ......
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw;
t ......