Hi everybody,
I have a DialogItemListRsc :
DialogItemListRsc LSTITEMID_Reference = { { {{0, 0, 0, 0}, Separator, SEPARATORID_ReferenceAtlog, ON, SEPARATOR_VERTICAL, "", ""}, {{0, 0, 0, 0}, IconCmd, ICONCMDID_ReferenceAttModeleEP, ENABLED|HIDDEN, 0, "", ""}, {{0, 0, 0, 0}, IconCmd, ICONCMDID_ReferenceRetrouve, ENABLED|HIDDEN, 0, "", ""}, {{0, 0, 0, 0}, IconCmd, ICONCMDID_ReferenceCentrage, ENABLED|HIDDEN, 0, "", ""}, {{0, 0, 0, 0}, IconCmd, ICONCMDID_ReferenceRetour, ENABLED|HIDDEN, 0, "", ""}, {{0, 0, 0, 0}, IconCmd, ICONCMDID_ReferenceBascule, ENABLED|HIDDEN, 0, "", ""}, {{0, 0, 0, 0}, IconCmd, ICONCMDID_ReferenceDepLibre, ENABLED|HIDDEN, 0, "", ""}, {{0, 0, 0, 0}, IconCmd, ICONCMDID_ReferenceAttache, ENABLED|HIDDEN, 0, "", ""}, } };
How can I read it item by item?
because i try something like that :
DialogItemListRsc *diagRscP = NULL; MSDialogP diagP=almDialog_find(DIALOGID_ReferenceFile,NULL) if((diagRscP=(DialogItemListRsc*)Alm::Basic::Resource_load(0,RTYPE_DialogItemList,LSTITEMID_Reference))!=NULL) { for(int i=0;i<8;i++) { if(i != 4) { DialogItemRsc *ItemRscP = NULL; ItemRscP = &diagRscP->itemList[0]+i*sizeof(DialogItemRsc); // first ok but second fail mdlDialog_itemLoad(diagP, ItemRscP, NULL, mdlSystem_getCurrMdlDesc(), -1, NULL); mdlDialog_itemShow(diagP,ItemRscP->itemIndex); mdlDialog_itemDraw(diagP,ItemRscP->itemIndex); } } }
But maybe there is a better way ?
I think this line is bad :
ItemRscP = &diagRscP->itemList[0]+i*sizeof(DialogItemRsc); // first ok but second fail
Thanks for your help
Rgdt
Arnaud