Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Redimensionar RichEdit para ocultar los scrollbars (https://www.clubdelphi.com/foros/showthread.php?t=47832)

dabas 08-09-2007 00:54:38

Redimensionar RichEdit para ocultar los scrollbars
 
hola amigos

tengo un RichEdit dentro de un Panel (RichEdit tiene align=alClient), cuando escribo en el RichEdit aparecen las scrollbars si el texto no cabe (WordWrap = false), tanto vertical como horizontal.

tengo un peqeño fragmento de codigo que muestra un mensaje si las scrolbars estan visibles:

Código:

procedure TForm1.RichEdit1ResizeRequest(Sender: TObject; Rect: TRect);
begin
  if (GetWindowlong(RichEdit1.Handle, GWL_STYLE) and WS_VSCROLL) <> 0 then
    ShowMessage('Vertical scrollbar is visible!');

  if (GetWindowlong(RichEdit1.Handle, GWL_STYLE) and WS_HSCROLL) <> 0 then
    ShowMessage('Horizontal scrollbar is visible!');
end;

teniendo esto,
¿cuanto tengo que redimensionar el Panel para que desaparezcan las scrollbars?
puede que sabiendo la longitud del scroll,
¿y como se puede saber esa longitud?

gracias por vuestra ayuda

JXJ 08-09-2007 05:52:33

selecciona el richedit.
en el inspector de objetos.

en las propiedades. busca la propiedad. showscrollbars.
ahi estan las opciones de mostrar ambas, solo la barra horizontal
o solo la vertical.

asi no tienes que preocuparte de aumentar el area del panel.
por que asi no se muestran las scrollbars. que no quieres que se muestren.

dabas 08-09-2007 13:41:08

ocultar las scrolbaras desde el editor de propiedades no me vale
porque quiero que el texto sea siempre visible. dentro de unos limites claro.
si el contenido del RichEdit no cabe en la pantalla se mostraran las barritas.

salu2

egostar 08-09-2007 16:20:34

Bueno, yo he hecho esto que modifica la dimensión del RichEdit pero en lo alto, en lo ancho no lo he requerido, pero me imagino que si podría haber algo.

Usa el evento OnReziseRequest, pon este código y mira el comportamiento del richedit.

Código Delphi [-]
procedure TForm1.RichEdit1ResizeRequest(Sender: TObject; Rect: TRect);
begin
  (Sender as TRichEdit).BoundsRect := Rect;
end;

Salud OS

dabas 08-09-2007 23:07:42

Cita:

Empezado por egostar (Mensaje 229366)
Bueno, yo he hecho esto que modifica la dimensión del RichEdit pero en lo alto, en lo ancho no lo he requerido, pero me imagino que si podría haber algo.

Usa el evento OnReziseRequest, pon este código y mira el comportamiento del richedit.

Código Delphi [-]
procedure TForm1.RichEdit1ResizeRequest(Sender: TObject; Rect: TRect);
begin
  (Sender as TRichEdit).BoundsRect := Rect;
end;

Salud OS


Si, esto ya lo vi en algun sitio. Puede valer para cambiar el alto pero el ancho no se modifica.

Aun asi queria cambiar el tamaño del Panel no del RichEdit


La franja horaria es GMT +2. Ahora son las 13:40:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi