Te dejo el codigo.
Mi DBF esta abierta desde donde lo envio.
聽Function ClrFondoSay()
聽 聽 聽 聽 local oDlg2, oTitu, oSay1, oSay2, oSay3
聽 聽 聽 聽 local oFont2, oFont5, oFont6
聽 // DBGOTOP()
聽 聽DEFINE FONT oFont2 NAME "ARIAL" 聽SIZE 0,-10 聽BOLD
聽 聽DEFINE FONT oFont5 NAME "ARIAL" 聽SIZE 0,-12 聽BOLD
聽 聽DEFINE FONT oFont6 NAME "TAHOMA" SIZE 0,-14 聽 BOLD
聽 聽DEFINE DIALOG oDlg2 SIZE 600,570 PIXEL TRUEPIXEL FONT oFont2 聽//STYLE nOr( WS_POPUP, WS_VISIBLE, WS_DLGFRAME )
聽 聽 聽oDlg2:lTransparent := .F.
聽 聽@ 10,150 SAY otitu PROMPT " MUESTRA PROFESIONAL " 聽PIXEL OF oDlg2 COLORS RGB(0,100,0) 聽 FONT oFont5
聽 聽@ 055,050 SAY "C贸digo :" 聽 SIZE 100,20 聽PIXEL OF oDlg2 聽RIGHT 聽FONT oFont6 聽 Transparent
聽 聽@ 105,050 SAY "Nombre :" 聽 SIZE 100,20 聽PIXEL OF oDlg2 聽RIGHT 聽FONT oFont6 聽 Transparent
聽 聽@ 130,050 SAY "Inss 聽 :" 聽 SIZE 100,20 聽PIXEL OF oDlg2 聽RIGHT 聽FONT oFont6 聽 Transparent
聽 // Aqui necesito que estos Say, tengan un fondo en color y solo del largo del texto
聽 // de la variable no considerando los caracteres en blanco.
聽 @ 053,160 SAY oSay1 PROMPT 聽Profe->Rut_Pro 聽SIZE GetTextWidth( 0, Alltrim(Profe->Rut_Pro), oFont6:hFont ),20 聽PIXEL OF oDlg2 COLOR RGB(0,0,128), RGB(159,233,255) FONT oFont6 聽ADJUST 聽 border
聽 @ 105,160 SAY oSay2 PROMPT 聽Profe->Nom_Pro 聽SIZE GetTextWidth( 0, Alltrim(Profe->Nom_Pro), oFont6:hFont ),20 聽PIXEL OF oDlg2 COLOR RGB(0,0,128), RGB(159,233,255) FONT oFont6 聽ADJUST 聽 border
聽 聽 @ 130,160 SAY oSay3 PROMPT 聽Profe->Nom_Doc SIZE GetTextWidth( 0, Alltrim(Profe->Nom_Doc),oFont6:hFont ),20 聽PIXEL OF oDlg2 COLOR RGB(0,0,128), CLR_YELLOW 聽 聽 聽 FONT oFont6 聽ADJUST 聽 border
聽 @ 300, 50 BUTTON "Siguiente" SIZE 100,30 PIXEL OF oDlg2 ACTION 聽NextData({oSay1,oSay2,oSay3},{.t.,.t.,.t.})
聽 @ 300,250 BUTTON "Salir" SIZE 100,30 PIXEL OF oDlg2 ACTION oDlg2:End()
聽 ACTIVATE DIALOG oDlg2 CENTERED 聽 ON INIT RefreshData({oSay1,oSay2,oSay3},{.t.,.t.,.t.})
聽 RELEASE oFont2, oFont5, oFont6
Return nil
//---------------------------------------------------------//
Function 聽NextData(aoSay, alBorder)
聽 聽Profe->(dbskip())
聽 聽if Profe->(eof())
聽 聽 聽 Profe->(dbgotop())
聽 聽endif
聽 聽 聽?nom_pro,rut_pro,Alltrim(rut_Pro),len(rut_pro),len(alltrim(rut_pro))
聽 聽RefreshData(aoSay, alBorder)
Return nil
Function RefreshData(aoSay, alBorder)
聽 聽 聽/*
聽 聽AEval(aoSay,{|o,n| o:Refresh(),;
聽 聽 聽 聽 聽 o:nWidth := GetTextWidth( 0, Alltrim(o:cCaption), o:hFont ) + if(alBorder[n].and.(Len(Alltrim(o:cCaption))>0),6,0) })
聽 聽 聽 聽 */
聽 聽AEval(aoSay,{|o,n| o:Refresh(),;
聽 聽 聽 聽 聽 o:nWidth := GetTextWidth( 0, Alltrim(o:cCaption), o:oFont:hFont ) + if(alBorder[n],6,0) })
Return nil