泪奔。。。TEDIT控件显示内容如何让它右对齐?

sxqinge 2011-12-07 03:51:02
RT。
从没想过这个问题,今天被问及了没整出来。。。诚心请教,谢谢了
...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzbinfo 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ccrun 的回复:]
注重点回帖质量吧,你光顾着回帖数量了。
[/Quote]
其实主要还是我的知识面不行,有时候理解帖子也有问题。呵呵
sxqinge 2011-12-07
  • 打赏
  • 举报
回复
谢谢各位的回答,特别谢谢妖哥的两种方法,我都试过了,达到了效果。
真是汗颜了呵呵,刚才被问到的那尴尬劲
ccrun.com 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zzbinfo 的回复:]
幸亏你来的快
[/Quote]

注重点回帖质量吧,你光顾着回帖数量了。
zzbinfo 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ccrun 的回复:]
非也非也,这个属性不是起这个作用的。不要误导楼主。

[/Quote]
幸亏你来的快
ccrun.com 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zzbinfo 的回复:]
TEDIT的BiDiMode 是设置对齐方式的,设置成bdRightToLeft就是右对齐
[/Quote]

非也非也,这个属性不是起这个作用的。不要误导楼主。

正确的解决方法有两种:

// 第一种方法:继承一个TEdit类,然后重载CreateParams
void __fastcall TMyEdit::CreateParams(TCreateParams& Params) 
{
TEdit::CreateParams(Params);
Params.Style = Params.Style | ES_RIGHT; // ES_MULTILINE;
}


// 第二种方法:改变窗口风格
DWORD dwStyle = GetWindowLong(Edit1->Handle, GWL_STYLE);
dwStyle = dwStyle | ES_RIGHT; //(oder BS_LEFT, oder BS_CENTER)
SetWindowLong(Edit1->Handle, GWL_STYLE, dwStyle);
Edit1->Invalidate();
zzbinfo 2011-12-07
  • 打赏
  • 举报
回复
TEDIT的BiDiMode 是设置对齐方式的,设置成bdRightToLeft就是右对齐
缘中人 2011-12-07
  • 打赏
  • 举报
回复

//初始化时
DWORD ExStyleLeft;
DWORD ExStyleRight;
DWORD ExStyleCenter;
ExStyleLeft = GetWindowLong(label->Handle, GWL_STYLE); //左对齐
ExStyleRight = ExStyleLeft | ES_RIGHT;//右对齐
ExStyleCenter = ExStyleLeft | ES_CENTER;//居中
//应用
SetWindowLong(label-> Handle, GWL_STYLE, ExStyleRight);
label->Invalidate();


可以实现的

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧