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 Buscar Temas de Hoy Marcar Foros Como Leídos

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.195
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 08:49:22.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 17-04-2018 00:13:32
Pierdo datos de memo.text a label.caption jgarcias2 OOP 7 18-04-2011 20:27:45
Como ir cambiando el caption de un label mientras ejecuto una funcion? gandalf_uy Varios 4 25-08-2005 15:37:01
Caption de varias líneas en un SpeedButton Javi2 Varios 1 28-06-2005 18:05:00
label en varias lineas VolaRe Varios 10 11-04-2004 17:14:26


La franja horaria es GMT +2. Ahora son las 21:49:54.


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