線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1253
推到 Plurk!
推到 Facebook!

EDIT元件中,按下Insert健,就可以把空白鍵變成刪除功能

尚未結案
hch.chiu
一般會員


發表:2
回覆:1
積分:0
註冊:2004-01-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-12 01:10:37 IP:219.84.xxx.xxx 未訂閱
請問一下,如何在EDIT元件中,按下Insert健,就可以把空白鍵變成刪除功能,再按一次就又回來增加功能。類似在DOS或BCB寫程式的地方一樣。有任何屬性可以這樣設定嗎?
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-12 12:29:27 IP:59.115.xxx.xxx 未訂閱
hch.chiu 您好:    下列這幾篇都是討論 Delphi 的,希望您能看得懂範例所提供的運作概念,然後修改成自己所需的敘述來使用: EDIT 元件可設為Overwrite 狀態嗎? http://delphi.ktop.com.tw/topic.php?topic_id=67499 請問 在 DBEdit、Edit、DBGrid 中, 有沒有辦法讓 Insert 鍵的功能正常? http://delphi.ktop.com.tw/topic.php?topic_id=45602 問一個TEdit的問題~~找了好久~~還是找不出@_@ http://delphi.ktop.com.tw/topic.php?topic_id=37453 7 天天敲鍵盤 v 時時按滑鼠 8
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-12 15:45:33 IP:61.230.xxx.xxx 未訂閱
剛才自己試了一下,大致上是 OK 的,以下是我的程式碼,請注意元件名稱要更改成您自己使用元件的名稱:
void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{
    int curPos = Edit2->SelStart;        short insStat = GetKeyState(VK_INSERT);
    if ((insStat & 1) != 1) {
        if (Edit2->SelLength == 0) {
            if (Edit2->SelStart < Edit2->Text.Length()) {
                if ((Key >= 0x20 && Key <= 0x7E) || (Key >= 0x80 && Key <= 0xFF) || Key < 0) {
                    Edit2->SelLength = 1;
                    if (IsDBCSLeadByte(Edit2->Text[curPos 1])) {
                        Edit2->SelLength = 2;
                    }
                }
            }
        }
    }
}
7 天天敲鍵盤 v 時時按滑鼠 8
hch.chiu
一般會員


發表:2
回覆:1
積分:0
註冊:2004-01-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-13 14:53:58 IP:61.31.xxx.xxx 未訂閱
謝謝,100分
系統時間:2024-05-06 4:26:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!