我写了一个控件,给edit加了个左对齐,右对齐属性,听我慢慢道来。先谢谢各位。(100分)

  • 主题发起人 主题发起人 雪飞
  • 开始时间 开始时间
我没做成功。我太笨.
 
procedure TCustomRedit.SetAlignment(Value:TAlignment);
const
Alignments: array[Boolean, TAlignment] of DWORD =
((ES_LEFT, ES_RIGHT, ES_CENTER),(ES_RIGHT, ES_LEFT, ES_CENTER));
begin
.....
end;
 
问题解决。 
procedure TForm1.myEdit2Exit(Sender: TObject);
begin
myedit2.Alignment:=tarightJustify;
end;

procedure TForm1.myEdit2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
myEdit2.SetFocus;
myEdit2.SelectAll;
myEdit2.SelStart := Length(myEdit1.Text);
myedit2.Alignment:=taLeftJustify;
end;
 
谢谢Another_eYes大侠,我的问题解决了。
 
但有一个问题,如果我有十个myedit 都要这样做。那是不是在onmousedown事件里都这么写呀。
可以写成控件的形式不。
 
可以的,在控件中你截取系统消息,筛选出 CM_MOUSEENTER 和 CM_MOUSELEAVE 这两个消息
把上面的代码写进去就行。
 
后退
顶部