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 27-02-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Alineación derecha en un TEdit

En una aplicación hecha con BCB 6, ¿hay alguna manera de que un TEdit / TLabeledEdit se alinee a la derecha? He estado mirando y no soy capaz de encontrar la manera.
Responder Con Cita
  #2  
Antiguo 27-02-2018
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
No se a partir de que versión pero anteriormente el objeto TEdit no incluía la propiedad de alineado de texto. Si buscas en el foro TAlignEdit encontrarás un componente que creó, si no recuerdo mal, román, que a mí me ha ayudado hasta que adquirí la versión XE7 que si lleva la alineación en los edit.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #3  
Antiguo 27-02-2018
Avatar de _Leo
_Leo _Leo is offline
Miembro
 
Registrado: ene 2017
Ubicación: Lanzarote (Islas Canarias)
Posts: 38
Poder: 0
_Leo Va camino a la fama
Cita:
Empezado por Angel.Matilla Ver Mensaje
En una aplicación hecha con BCB 6, ¿hay alguna manera de que un TEdit / TLabeledEdit se alinee a la derecha? He estado mirando y no soy capaz de encontrar la manera.
Prueba con lo siguiente en el constructor del Form por ejemplo:
Código PHP:
HWND h Edit1->Handle;
SetWindowLong(hGWL_STYLEGetWindowLong(hGWL_STYLE) | ES_RIGHT); 
Responder Con Cita
  #4  
Antiguo 27-02-2018
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.

Otra opción:
Código PHP:
...
TSysLocale OldSysLocale SysLocale;

void __fastcall TForm1::Button1Click(TObject *Sender// u OnCreate
{
  
SysLocale.MiddleEast true;
  
Edit1->BiDiMode bdRightToLeft;
}

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
  
SysLocale OldSysLocale;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 28-02-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por _Leo Ver Mensaje
Prueba con lo siguiente en el constructor del Form por ejemplo:
Código PHP:
HWND h Edit1->Handle;
SetWindowLong(hGWL_STYLEGetWindowLong(hGWL_STYLE) | ES_RIGHT); 
Funciona a la perfección. Gracias Leo.
Cita:
Empezado por ecfisa Ver Mensaje
Código PHP:
void __fastcall TForm1::Button1Click(TObject *Sender// u OnCreate
{
  
SysLocale.MiddleEast true;
  
Edit1->BiDiMode bdRightToLeft;

También funcina, aunque no debería:
Cita:
Alignment does not change for controls that are known to contain number, date, time, or currency values. For example, with data aware controls, the alignment does not change for the following field types: ftSmallint, ftInteger, ftWord, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftAutoInc.
Sin embargo te obliga a andar modificando las variables del sistema. Muchas gracias a los dos por las soluciones.
Responder Con Cita
  #6  
Antiguo 28-02-2018
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
De nada hombre, para esto estamos.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #7  
Antiguo 28-02-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Me está ocurriendo algo curioso. Con este código:

Código PHP:
__fastcall TfRecMod::TfRecMod(TComponentOwner)
     : 
TForm(Owner)
{
     
HWND h;

     
this->Cuota->Handle;
     
SetWindowLong(hGWL_STYLEGetWindowLong(hGWL_STYLE) | ES_RIGHT);

     
this->Importe->Handle;
     
SetWindowLong(hGWL_STYLEGetWindowLong(hGWL_STYLE) | ES_RIGHT);
[... 
etc.]

Me está saliendo esto


Sin embargo en otros formularios, con el mismo código, lo hace bien. ¿Cuál puede ser la razón?
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
Alinear texto a la derecha Tedit vtdeleon Trucos 0 08-06-2006 04:27:34
Alinear un TEdit a la derecha Gustavo Gowdak OOP 2 04-05-2006 22:04:57
Pasar el valor de un TEdit dentro de un StringGrid a otro TEdit que está fuera atirado Varios 4 11-09-2004 19:13:48
Alineación de controles roman OOP 9 24-08-2004 00:00:57
Alineación del contenido de un TEdit c748a OOP 4 22-05-2004 10:35:14


La franja horaria es GMT +2. Ahora son las 18:13:19.


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