How to copy element without click event?
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2023-09-10
06:38 AM
- last edited on
2024-09-17
12:47 PM
by
Doreena Deng
2023-09-10
06:38 AM
Below is sample code from AC Element Test, Is there anyone know could it possible to copy an element without click event by looping thru all select element's guid instead?
=================
void Do_CopyElem (void)
{
API_Element element = {};
API_ElementMemo memo = {};
GSErrCode err;
API_ElemType type;
API_Guid guid;
if (!ClickAnElem ("Click an element", API_ZombieElemID, nullptr, &type, &guid)) {
WriteReport_Alert ("No element was clicked");
return;
}
element.header.type = type;
element.header.guid = guid;
err = ACAPI_Element_Get (&element);
if (err == NoError)
err = ACAPI_Element_GetMemo (element.header.guid, &memo);
if (err != NoError) {
ErrorBeep ("ACAPI_Element_Get/Memo", err);
return;
}
if (err == NoError) {
element.header.floorInd ++;
err = ACAPI_Element_Create (&element, &memo);
if (err != NoError)
ErrorBeep ("ACAPI_Element_Create", err);
}
// ---- consistency check
if (err == NoError)
CompareElems (element, memo);
// ----
ACAPI_DisposeElemMemoHdls (&memo);
}
=================
1 REPLY 1

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2023-09-30 09:40 AM
2023-09-30
09:40 AM
Hi,
Yes you should take a look at ACAPI_ElementList_GetList for that. Use API_ZombieElemID
if you want to get elements of all types. Something like this:
GS::Array<API_Guid> allElements;
ACAPI_Element_GetElemList (API_ZombieElemID, &allElements);
for (auto elemGuid : allElements) {
// Do your stuff here
}
Hope that helps!
Bernd