OnKeyPress 疑問 |
尚未結案
|
e_snare
一般會員 發表:26 回覆:35 積分:12 註冊:2004-03-14 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 請問如有一欄位只能用OnKeyPress來取得鍵值 但當我刪除幾個字之後,所得的鍵值還是取未刪除的全部文字值。 有何方法能解決此問題?謝謝。 還是沒有"非用OnKeyPress的理由"?e_snare你好< >: 不是很瞭解你的意思,試著抓一下吧< >! AnsiString buf; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { if (Key==0x08) { buf.Delete(buf.Length()-3,3); return; } buf =IntToHex(Key,2); buf =" "; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { ShowMessage(AnsiString(buf)); } //---------------------------------------------------------------------------很簡單的猜你是要這樣的東西,即在一個Edit OnKeyPress的event所取的鍵值會等於他所顯示的值得鍵值,而不是所有未刪除的全部值! 1. 只能擷取ASCII鍵值 2. 假設刪除是用BackSpace鍵,不含滑鼠等特殊操作 另外應該是沒有非用OnKeyPress event截取件值得理由,但這要看你實際的需求才知道要做什麼! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |