There is no SelectObject method, but there are at least three ways to programatically select an object, SelectObjectFromID, SelectObjectFromName, SelectObjectFromIndex:
procedure TForm1.SelectObjectFromID1Click(Sender: TObject);
var
i: integer;
hObj: integer;
iID: integer;
begin
hObj := -1;
iID := StrToInt(InputBox('Get Object From ID', 'Enter An ID', '3'));
for i := 0 to ImageEnVect1.ObjectsCount - 1 do
begin
hObj := ImageEnVect1.GetObjFromID(i);
if ImageEnVect1.ObjID[hObj] = iID then
begin
ImageEnVect1.ObjPenColor[hObj] := clRed;
break;
end;
end;
if hObj = -1 then
MessageDlg('Object With An ID of ' + IntToStr(iID) + ' was not found', mtWarning, [mbOK], 0);
end;
procedure TForm1.SelectObjectFromIndex1Click(Sender: TObject);
var
i: integer;
hObj: integer;
iIndex: integer;
begin
hObj := -1;
iIndex := StrToInt(InputBox('Get Object From Index', 'Enter An Index', '1'));
for i := 0 to ImageEnVect1.ObjectsCount - 1 do
begin
hObj := ImageEnVect1.GetObjFromIndex(i);
if hObj = iIndex then
begin
ImageEnVect1.ObjPenColor[hObj] := clRed;
break;
end;
end;
if hObj = -1 then
MessageDlg('Object With An Index of ' + IntToStr(iIndex) + ' was not found', mtWarning,
[mbOK], 0);
end;
procedure TForm1.SelectObjectFromName1Click(Sender: TObject);
var
i: integer;
hObj: integer;
iName: string;
begin
hObj := -1;
iName := InputBox('Get Object From Name', 'Enter An Name', 'Ellipse');
for i := 0 to ImageEnVect1.ObjectsCount - 1 do
begin
hObj := ImageEnVect1.GetObjFromName(AnsiString(iName));
if ImageEnVect1.ObjName[hObj] = AnsiString(iName) then
begin
ImageEnVect1.ObjPenColor[hObj] := clRed;
break;
end;
end;
if hObj = -1 then
MessageDlg('Object With An Name of ' + iName + ' was not found', mtWarning, [mbOK],
0);
end;
William Miller
Email: w2m@frontiernet.net
EBook: http://www.imageen.com/ebook/
Apprehend: http://www.frontiernet.net/~w2m/index.html