IMxDrawBlockReference::AppendAttribute 方法
向块引用中增一个属性定义对象。
参数 |
说明 |
[out,retval] IMxDrawAttribute** ppNewAttribute |
返回新的属性定义对象 |
例如:Delphi中的例程:
procedure TForm1.DoInsertFlagClick();
var
ptInsert : OleVariant;
pt : IMxDrawPoint ;
lId : Integer;
curDababase : IMxDrawDatabase;
pObj : IMxDrawMcDbObject;
pBlkRef : IMxDrawBlockReference;
pAtrribText : IMxDrawAttribute;
begin
ptInsert := mxUtility.GetPoint(EmptyParam,'点插入点');
pt:=IMxDrawPoint(IDisPatch(ptInsert));
if pt = nil then
EXIT;
MxDrawX1.InsertBlock(MxDrawX1.GetOcxAppPath() + 'blkTsgNote.dwg','Flag');
lId := MxDrawX1.DrawBlockReference(pt.Get_x(),pt.Get_y(),'Flag',10.0,0.0);
curDababase := IMxDrawDatabase(MxDrawX1.GetDatabase() );
if curDababase = nil then
EXIT;
pObj := curDababase.ObjectIdToObject(lId);
pObj.QueryInterface(IMxDrawBlockReference, pBlkRef);
if pBlkRef <> nil then
begin
pBlkRef.Set_Position(pBlkRef.Position);
pAtrribText := pBlkRef.AppendAttribute();
if pAtrribText <> nil then
begin
pAtrribText.Set_Oblique(0.0);
pAtrribText.Set_Position(pt);
pAtrribText.Set_AlignmentPoint(pt);
pAtrribText.Set_Rotation(0.0);
pAtrribText.Set_Height(2.0);
//pAtrribText.TrueColor.SetRGB(255,0,0);
pAtrribText.Set_TextString('这是一个属性文字的测试');
pAtrribText.Set_Tag('TestTag');
pAtrribText.Set_IsInvisible(false);
pBlkRef.Set_Position(pBlkRef.Position);
end;
end;
end;