Ver Mensaje Individual
  #5  
Antiguo 08-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 19
jmariano Va por buen camino
El problema no se encuentra en usar o no la propiedad "PlainText", sino en el uso de la propiedad "Text", la cual sólo devuelve la cadena de texto introducida ignorando toda información sobre el formato de dicha cadena.

Para poder almacenar el texto junto con el formato es necesario leer el "contenido" en sí del control (es decir, el "Stream"). Para no enrollarme mucho, pongo un ejemplo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  CadenaFmt: TStringStream;
begin
  CadenaFmt := TStringStream.Create('');

  with RichEdit1 do
  begin
    // Ejecutar primero con PlainText a False y después a True

    SelAttributes.Color := clRed;
    SelAttributes.Style := [fsBold];
    SelText := 'Hola';
    Lines.SaveToStream(CadenaFmt);
  end;

  ShowMessage(CadenaFmt.DataString);
  CadenaFmt.Free;
end;

Si probais el ejemplo, vereis que se muestra un mensaje con la cadena de texto introducida mas las "etiquetas" utilizadas para dar formato a dicho texto. Si ahora lo ejecutais de nuevo poniendo la propiedad "PlainText" a "True", vereis que el mensaje muestra el texto normal sin dichas "etiquetas". Es decir, "PlainText" solo afecta a como será almacenado el texto del control (a la hora de usar los métodos "SaveToFile" o "SaveToStream"), con formato o sin él.

Saludos!

Última edición por jmariano fecha: 08-09-2005 a las 15:07:27.
Responder Con Cita