Experts Exchange Solution brought to you by
"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.
CR := TCalloutRectangle.Create(VSB);
CR.Tag := iTagID;
function DeleteCallout(sb: TVertScrollBox; idx: Integer): Boolean;
Result := False;
//go throug all childs
for i := 0 to sb.Content.ChildrenCount-1 do
//is specific object class
if sb.Content.Children.Items[i] is TCalloutRectangle then
//find it by Tag
if (sb.Content.Children.Items[i] as TCalloutRectangle).Tag = idx then
obj := (sb.Content.Children.Items[i] as TCalloutRectangle);
sb.Content.RemoveObject(obj); //delete from parent
Result := True;
procedure TForm1.Button6Click(Sender: TObject);
Open in new window
Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.
This course will introduce you to C++ 11 and teach you about syntax fundamentals.
for i := count-1 downto 0 do
// delete stuff
From novice to tech pro — start learning today.
Members can enroll in this course at no extra cost.