Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2013
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
Caption de Label en varias filas

Hola amigos,

Tengo un TButton con un caption así "NUNCA ES TARDE", y me gustaria saber si es posible cambiar el caption a:

"NUNCA
ES
TARDE"

Es decir en 3 lineas...

Si es posible de hacerlo estare muy agradecido
Responder Con Cita
  #2  
Antiguo 03-07-2013
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Hola:

Por codigo en el evento OnCreate del form:

Código Delphi [-]
Button1.Caption := 'NUNCA ' + #10#13 + 'ES ' + #10#13 + 'TARDE';

Saludos!

Edito No me di cuenta que es el foro de C++ Builder pero pruebalo o tal vez algo similar
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #3  
Antiguo 03-07-2013
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código:
   SetWindowLong(Button1->Handle, GWL_STYLE, GetWindowLong(Button1->Handle, GWL_STYLE) | BS_MULTILINE);
   Button1->Caption = "Nunca\res\rtarde";
Saludos.
Responder Con Cita
  #4  
Antiguo 03-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Agregando algo a lo que bién sugirió escafandra, si deseas aplicarlo a todos los botones de un mismo contenedor:
Código:
 
void WordWrapButtons(TWinControl* aParent)
{
  for(int i=0; i < aParent->ControlCount; i++)
    if(aParent->Controls[i]->ClassNameIs("TButton")) {
      TButton *b = static_cast<TButton*>(aParent->Controls[i]);
      SetWindowLong(b->Handle,
                    GWL_STYLE,
                    GetWindowLong(b->Handle, GWL_STYLE) | BS_MULTILINE);
      b->Refresh();
    }
}
Ejemplo de llamadas:
Código:
   ...
   WordWrapButtons(Form1);
   WordWrapButtons(Panel1);
   ...
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 03-07-2013
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino


¿¡¡Todo eso para el caption de un Button!!?

Ahora entiendo el porque de la repulsión de Al Gonzalez a C, C++ y demas engendros !!!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #6  
Antiguo 03-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por FGarcia Ver Mensaje


¿¡¡Todo eso para el caption de un Button!!?

Ahora entiendo el porque de la repulsión de Al Gonzalez a C, C++ y demas engendros !!!


Bueno, en realidad tratándose de Delphi y C++ Builder se necesita un código de complejidad similar para lograrlo.

En Delphi para un TButton:
Código Delphi [-]
begin
  SetWindowLong(Button1.Handle,
                GWL_STYLE,
                GetWindowLong(Button1.Handle, GWL_STYLE) or BS_MULTILINE);
  Button1.Caption := 'Nunca ' + #10#13 + 'es ' + #10#13 + 'tarde';
end;

Y el código para todos los TButton residentes en un mismo contenedor, sería:
Código Delphi [-]
procedure WordWrapButtons(aParent: TWinControl);
var
  i: Integer;
  b: TButton;
begin
  for i :=0 to aParent.ControlCount - 1 do
    if aParent.Controls[i] is TButton then
    begin
      b := TButton(aParent.Controls[i]);
      SetWindowLong(b.Handle,
                    GWL_STYLE,
                    GetWindowLong(b.Handle, GWL_STYLE) or BS_MULTILINE);
      b.Refresh;
    end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-07-2013 a las 07:49:22.
Responder Con Cita
  #7  
Antiguo 03-07-2013
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
Gracias a todos...

Ya pude hacer lo que queria... igual que FGarcia, pense que iba a ser algo mas fácil como en VB6 "vbcrfl"... aunque ahora que aprendi un poco más de builder se me hará dificil aprender otros lenguajes (por el cariño que le voy tomando )... Pero A veces me pregunto ya pa que ir a clases... si al final tenes tantos buenos profesores en clubdelphi ...

Un Saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
label.caption en 2 renglones ingel Varios 5 16-04-2018 23:13:32
Pierdo datos de memo.text a label.caption jgarcias2 OOP 7 18-04-2011 19:27:45
Como ir cambiando el caption de un label mientras ejecuto una funcion? gandalf_uy Varios 4 25-08-2005 14:37:01
Caption de varias líneas en un SpeedButton Javi2 Varios 1 28-06-2005 17:05:00
label en varias lineas VolaRe Varios 10 11-04-2004 16:14:26


La franja horaria es GMT +2. Ahora son las 09:40:12.


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
Copyright 1996-2007 Club Delphi