cnavarro wrote:Manuel, he detectado lo siguiente:
Cuando se crea un nuevo item, primero lo crea y después muestra el cuadro de diálogo de propiedades. Creo que debería ser al revés para poder cancelar la operacion y por lo tanto controlar el proceso
Aún no subido ...
He cambiado lo siguiente y parece que funciona bien como tu dices ....
Code: Select all | Expand
FUNCTION SetTextObj( oItem, nArea, i ) ..... if oItem:lVisible IF !Empty( oER:aItems[nArea,i]) // añadido por si es nil oER:aItems[nArea,i]:End() endif oER:aItems[nArea,i] := ; TSay():New( oEr:nRulerTop + ER_GetPixel( oItem:nTop ), oER:nRuler + ER_GetPixel( oItem:nLeft ), ; {|| oItem:cText }, oER:aWnd[ nArea ],, ; oFont, lCenter, lRight, ( oItem:lBorder .OR. oGenVar:lShowBorder ), ; .T., oER:GetColor( oItem:nColText ), oER:GetColor( oItem:nColPane ), ; ER_GetPixel( oItem:nWidth ), ER_GetPixel( oItem:nHeight ), ; .F., .T., .F., .F., .F. ) -------- function NewItem( cTyp, nArea, nTmpCopyArea, nTmpCopyEntry, cTmpItemCopy )....... IF oER:lNewFormat INI oIni FILE oER:cDefIni SET SECTION cAreaIni+"Items" ENTRY AllTrim(STR(nFree,5)) TO cItemDef OF oIni ENDINI else INI oIni FILE cAreaIni SET SECTION "Items" ENTRY AllTrim(STR(nFree,5)) TO cItemDef OF oIni ENDINI endif // movemos esto aqui y lo comentamos abajo if cTyp <> "COPY" ItemProperties( i, nArea,, .T. ) ELSE Add2Undo( "", nFree, nArea ) endif ShowItem( nFree, nArea, cAreaIni, @aFirst, @nElemente )