怎么让Memo控件在显示时为星号“*”,但具体内容不变(200)

  • 主题发起人 主题发起人 xuguohai
  • 开始时间 开始时间
X

xuguohai

Unregistered / Unconfirmed
GUEST, unregistred user!
如题: 当我在使用Delphi自带的控件TMemo时,我希望在控件中输入内容的同时将内容用星号代替显示,以达到隐藏效果,如何做到,我知道比如像Edit控件是可以通过属性进行调整的,但Memo不行,另外我也通过PostMessage(memo1.Handle, EM_SETPASSWORDCHAR, Ord('*'), 0);的方式去实现,在中文系统下没有问题,但在纯英文系统下却把原来的内容原样显示了。请教各位
 
用这个 SendMessage(memo1.Handle, EM_SETPASSWORDCHAR, Ord('*'), 0);
 
除了SendMessage和PostMessage方法,没别的更好用的了吗
 
maskedit就是用SendMessage来实现的~~
 
To de410,PostMessage和SendMessage在我的中文系统机器下面运行都没有问题,但关键是在英文系统下面都原样显示内容
 
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin SendMessage(memo1.Handle, EM_SETPASSWORDCHAR, Ord('*'), 0);end;
 
你在什么事件下写的?
 
按你的方法,同樣在Memo的KeyDown事件下寫,結果一樣,還是像我前面講到的,在中文系統下面沒有問題,在英文系統下面會正常顯示內容,當前我的測試結果有點特殊的是,如果控件采用普通的edit控件,不改passwordChr屬性也采用SendMessage或PostMessage的方式就可以,在英文系統下面也可以顯示成我要的星號,但Memo就是不行
 
另外,請問de410,我能通过其他方式联系你吗
 
我在英繁简情况下都没有问题~~我的系统是XP英文核心加语言包~~
 
我已经发了封EMAIL给你,帮我查收一下看看
 
呵呵,其实Edit可以编辑多行的!
 
怎么做到啊
 
edit控件能做到多行吗
 
后退
顶部