Aún no subido ...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
He cambiado lo siguiente y parece que funciona bien como tu dices ....
Code: Select all
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 )