我正在使用Delphi XE3進行VCL應用程序開發。 我在TMaskEdit字段在我的表單中,我已將其設置爲PasswordChar屬性asterisk(*)。但是,當我執行應用程序它顯示密碼字符爲Dot(。)而不是星號(*)。德爾福-TEdit/TMaskEdit不顯示星號(*)Passwordchar
請幫我在這。
我正在使用Delphi XE3進行VCL應用程序開發。 我在TMaskEdit字段在我的表單中,我已將其設置爲PasswordChar屬性asterisk(*)。但是,當我執行應用程序它顯示密碼字符爲Dot(。)而不是星號(*)。德爾福-TEdit/TMaskEdit不顯示星號(*)Passwordchar
請幫我在這。
試試這個
SendMessage(MaskEdit1.Handle, EM_SETPASSWORDCHAR, Ord('*'), 0);
你可以把這個在您的FORMCREATE事件或任何
如果在OS中使用運行時主題,這不會改變任何內容。至少,不是因爲Windows 7。 –
這不正是'PasswordChar'制定者所做的事情嗎? – kobik
我只是手頭有XE7代碼,那裏setter會 - 如果值改變 - 設置'FPasswordChar:= Value;'然後,當'HandleAllocated'調用'RecreateWnd'時。但是,在TCustomEdit.CreateWnd中,在if(FPasswordChar <>#0)而不是(StyleServices.Enabled和((FPasswordChar ='*'))then')下有一個SendMessage'call。 – nil
這似乎當項目使用運行時主題和PasswordChar屬性是星號的情況發生。 – nil
這是超出你的控制,因爲通用控制運行時主題管理這一點。一種選擇是不使用運行時主題,但可能不需要... – whosrdaddy
這不是。但●:) – Victoria