zoukankan      html  css  js  c++  java
  • 调整 TEdit 文本对齐

    譬如让 Edit1 文本右对齐:
    SetWindowLong(Edit1.Handle, GWL_STYLE, GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_RIGHT);

    本例效果图:


    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        RadioGroup1: TRadioGroup;
        procedure FormCreate(Sender: TObject);
        procedure RadioGroup1Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      RadioGroup1.Items.CommaText := 'Left,Center,Right';
      RadioGroup1.ItemIndex := 0;
    end;
    
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    var
      es: Integer;
    begin
      es := GetWindowLong(Edit1.Handle, GWL_STYLE) or 3;
      es := es xor (3 - RadioGroup1.ItemIndex);
      SetWindowLong(Edit1.Handle, GWL_STYLE, es);
      Edit1.Refresh;
    end;
    
    end.
    
    这里面有个问题需要知道: 决定对齐方式的三个常量值 ES_LEFT、ES_CENTER、ES_RIGHT 分别是 0、1、2, 刚好可以对应 RadioGroup1.ItemIndex; 再换一种思路实现一下:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        RadioGroup1: TRadioGroup;
        procedure FormShow(Sender: TObject);
        procedure RadioGroup1Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    var
      es_bak: Integer;
    
    procedure TForm1.FormShow(Sender: TObject);
    begin
      RadioGroup1.Items.CommaText := 'Left,Center,Right';
      es_bak := GetWindowLong(Edit1.Handle, GWL_STYLE);
    end;
    
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    var
      es: Integer;
    begin
      es := es_bak or RadioGroup1.ItemIndex;
      SetWindowLong(Edit1.Handle, GWL_STYLE, es);
      Edit1.Refresh;
    end;
    
    end.
    
  • 相关阅读:
    Docker安装Zookeeper并进行操作
    JVM 完整深入解析
    synchronized关键字加到static静态方法和非static静态方法区别
    submit与execute区别
    ThreadPoolTaskExecutor和ThreadPoolExecutor区别
    Redis占用内存大小
    Java中CycliBarriar和CountdownLatch区别
    Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
    文本格式
    JavaScript事件
  • 原文地址:https://www.cnblogs.com/del/p/1179416.html
Copyright © 2011-2022 走看看