Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2011
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
Usando SetWindowLong / GetWindowLong

Hola amigos

Para quienes pueda servirle o desconozcan su uso, aquí les dejo algunas de las muchas utilidades que podemos darle a la función SetWindowLong.

Código Delphi [-]
(* Admitir sólo números *)
procedure OnlyNumber(Sender: TWinControl);
begin
  SetWindowLong(Sender.Handle, GWL_STYLE,
    GetWindowLong(Sender.Handle, GWL_STYLE) + ES_NUMBER);
end;

(* Centrar texto *)
procedure CenterJustifyText(Sender: TWinControl);
begin
  SetWindowlong(Sender.Handle, GWL_STYLE,
    GetWindowlong(Sender.Handle, GWL_STYLE) + ES_CENTER);
end;

(* Alinear a la derecha *)
procedure RightJustifyText(Sender: TWinControl);
begin
  SetWindowLong(Sender.Handle, GWL_STYLE,
    GetWindowLong(Sender.Handle, GWL_STYLE) + ES_RIGHT);
end;

Ejemplos de uso:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  ...
  OnlyNumber(Edit1);
  CenterJustifyText(Memo1);
  RightJustifyText(DBEdit1);
  ...
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 10-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Muuuy interesante, gracias
Espero no olvidarme cuando me haga falta
Responder Con Cita
  #3  
Antiguo 10-09-2011
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues lo acabo de probar y solamente me funciona OnlyNumber.
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure OnlyNumber(Sender: TWinControl);
begin
  SetWindowLong(Sender.Handle, GWL_STYLE,
    GetWindowLong(Sender.Handle, GWL_STYLE) + ES_NUMBER);
end;

(* Centrar texto *)
procedure CenterJustifyText(Sender: TWinControl);
begin
  SetWindowlong(Sender.Handle, GWL_STYLE,
    GetWindowlong(Sender.Handle, GWL_STYLE) + ES_CENTER);
end;

(* Alinear a la derecha *)
procedure RightJustifyText(Sender: TWinControl);
begin
  SetWindowLong(Sender.Handle, GWL_STYLE,
    GetWindowLong(Sender.Handle, GWL_STYLE) + ES_RIGHT);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  OnlyNumber(Edit1);
  CenterJustifyText(Edit2);
  RightJustifyText(Edit3);
end;

end.
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 10-09-2011
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 Marcos.

Que extraño, tal vez sea la versión de Delphi aunque sería raro... , las pruebas las hice sobre Delphi 7.

Pero por si acaso aca te pongo un demo con un Edit, un Memo y un LabeledEdit que aquí esta funcionando, a ver si sucede lo mismo.

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 19-09-2011 a las 19:49:23.
Responder Con Cita
  #5  
Antiguo 10-09-2011
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
Para descartar toda posibilidad de que pudiera haber cometido un error, reproduje tu prueba usando tres Edits y sigue funcionando correctamente:



A menos que esto tuviera que ver en tu caso:
Cita:
"To write code that is compatible with both 32-bit and 64-bit versions of Windows, use the SetWindowLongPtr function"
Pero al menos con Delphi 7/Vista 32 no me reconoce esa función

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 10-09-2011 a las 19:03:31.
Responder Con Cita
  #6  
Antiguo 10-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
A mí me funciona sólo onlynumber
D2007
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
Usando isql santiago14 Firebird e Interbase 4 02-02-2013 23:02:43
Usando GLibWMI Suriu Windows 2 17-06-2010 12:13:25
Usando INNER JOIN alcides SQL 9 07-03-2005 10:29:49
consulta usando IF .. ELSE.. en un FROM raffagia SQL 1 19-10-2004 11:00:50
usando el registro redlyon13 API de Windows 2 01-12-2003 10:47:07


La franja horaria es GMT +2. Ahora son las 04:58:14.


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