procedure TForm3.Edit1Change(Sender: TObject); var lStyle:Integer; begin lStyle:=GetWindowLong(edit1.Handle,GWL_STYLE); SetWindowLong(edit1.Handle, GWL_STYLE,lStyle or ES_RIGHT ); end;那上面的问题是,文本框内容居右对齐,开始时还是左对齐,后来从别的文本框条回来之后,才可以右对齐是怎么回事!非常感谢!
你把上述代码放到FormCreate事件中就行了
果然厉害!谢谢阿发伯,我还有一点问题,就是我所有的edit都要在FORMCREATE里面吗?
果然厉害!谢谢阿发伯,我还有一点问题,就是我所有的edit都要在FORMCREATE里面吗 ================================================================================== 是啊,如果Edit太多,可以做个循环for I := 0 to ComponentCount - 1 do if Components[I] is TEdit then with Components[I] as TEdit do begin lStyle:=GetWindowLong(Handle,GWL_STYLE); SetWindowLong(Handle, GWL_STYLE,lStyle or ES_RIGHT ); end;
================================================================================
那要看你自己是怎么控制按钮的Enabled属性的,又是在哪个事件中控制的。
Botton.Enabled := False;//在TEdit的OnChange事件判断
procedure TForm1.Edit1Change(Sender: TObject);
begin
Button1.Enabled := Edit1.Text <> '';
end;
procedure tform1.edit1change(sender:tobject);
begin
if(trim(edit1.text)<>'')and(trim(edit2.text)<>'')then
bitbtn1.enabled:=true
else
bitbtn1.enabled:=false;
end;
var
lStyle:Integer;
begin
lStyle:=GetWindowLong(edit1.Handle,GWL_STYLE);
SetWindowLong(edit1.Handle, GWL_STYLE,lStyle or ES_RIGHT );
end;那上面的问题是,文本框内容居右对齐,开始时还是左对齐,后来从别的文本框条回来之后,才可以右对齐是怎么回事!非常感谢!
==================================================================================
是啊,如果Edit太多,可以做个循环for I := 0 to ComponentCount - 1 do
if Components[I] is TEdit then
with Components[I] as TEdit do
begin
lStyle:=GetWindowLong(Handle,GWL_STYLE);
SetWindowLong(Handle, GWL_STYLE,lStyle or ES_RIGHT );
end;