msgbox就可以,很大一部分就是msgbox做的。
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),巢湖網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:巢湖等地區(qū)。巢湖做網(wǎng)站價(jià)格咨詢:13518219792
或者可以添加一個(gè)紅色標(biāo)簽,用來提示輸入錯(cuò)誤并清空密碼輸入框。
我們?cè)谑褂肳indows時(shí),經(jīng)常會(huì)碰到一些密碼編輯框,輸入其中的文字都以“*”顯示?,F(xiàn)在,有許多共享軟件和自由軟件都可以實(shí)現(xiàn)隱藏密碼的正確顯示。究竟這是怎樣實(shí)現(xiàn)的呢!其實(shí),這比較簡(jiǎn)單,雖然這些信息都以“*”顯示,但其內(nèi)部還是以當(dāng)初的字符表示,所以,我們只要用Windows API函數(shù)就可以實(shí)現(xiàn)。
在Windows中,每一個(gè)窗口、控件都有它的名字(叫做Name或Window Text)。對(duì)于Form、Dialog Box、Message Box來說,名字就顯示在Title Bar中;對(duì)于Edit、Button、Static Control,名字顯示在他所占的區(qū)域中。密碼編輯框本身就是個(gè)Edit控件,雖然顯示的是特殊字符,但名字屬性沒有變,還是輸入時(shí)的字符。Windows提供了兩個(gè)API函數(shù)來獲得這個(gè)名字:
int GetWindowTextLength(HWND hWnd); // 得到名字的長(zhǎng)度
其中,hWnd :想要得到的那個(gè)窗口或控件的句柄 handle
int GetWindowText(HWND hWnd, LPTSTR lpString, int nMaxCount );// 得到名字
其中,hWnd :想要得到的那個(gè)窗口或控件的句柄 handle;
lpString:存放名字的字符串的地址
nMaxCount :可拷貝的最大字符數(shù)
下面以Delphi為例,說明它的實(shí)現(xiàn)過程。
新建一Form,放置Label、Edit、Button各一個(gè)到Form中,將Edit1的PasswordChar屬性改為“*”,雙擊Button1:
procedure TForm1.Button1Click(Sender: TObject);
var
Name:PChar; // 名字
L:integer; // 名字的長(zhǎng)度
begin
L:=GetWindowTextLength(Edit1.handle)+1; // 得到名字長(zhǎng)度,并將長(zhǎng)度加1
GetMem(Name,L);//為將要得到的名字分配內(nèi)存
GetWindowText(Edit1.handle,Name,L);//得到名字
label1.Caption:=String(Name); // 將得到的名字顯示于 Label1
FreeMem(Name,0); // 釋放分配的內(nèi)存
end;
經(jīng)過運(yùn)行,在Edit1中輸入的密碼就可通過Label1顯示出來。
你是說如何把密碼框輸入的內(nèi)容變成類似“*”?
在視圖窗口,點(diǎn)擊文本框,在右側(cè)的屬性欄里有一個(gè)屬性是“passwordChar”
你給設(shè)置成想要的隱藏的字符就行,類似于“*”
希望能對(duì)你有幫助。
你描述的有問題吧?
如果是以combobox作為密碼輸入框,密碼是可供選擇的,顯示*號(hào)的話,客戶是無法選擇的。
你說的應(yīng)該是讓Textbox作為密碼輸入框吧?