全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1075
推到 Plurk!
推到 Facebook!

定制tab鍵跳位字元的縮進字元數

尚未結案
jeffen
一般會員


發表:7
回覆:2
積分:1
註冊:2003-10-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-14 14:01:00 IP:218.5.xxx.xxx 未訂閱
我正在編寫一個文本編輯器,想要定制tab鍵跳位字元的縮進字元數(默認是8個字元),不知道該怎麼辦,望高手指教。 皆为我师
------
皆为我师
mkbobo
一般會員


發表:4
回覆:68
積分:19
註冊:2003-04-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-14 18:42:16 IP:202.168.xxx.xxx 未訂閱
有一個方法是用 ApplicationEvents 這個元件 在他的 OnMessage 裡面攔截 tab 的按鍵 至於 有關攔截按鍵的 相關討論這網站很多 麻煩你收尋一下^^ 附上小小小範例 你參考看看 ^^
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
      bool &Handled)
{
    switch(Msg.message)
    {
        case WM_KEYDOWN :
        {
         // 這裡要判斷是否是tab這個按鍵 做相對應的動作
        }
        break;
    }
}
jeffen
一般會員


發表:7
回覆:2
積分:1
註冊:2003-10-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-21 14:17:07 IP:218.5.xxx.xxx 未訂閱
上面摟主說的是怎麼樣捕獲tab鍵,關於改變跳位字元號的縮進字元數,我已經在其他地方找到了答案,只要在create事件下加入下面的消息處理就可以了,如下: int TabWidth = 4; // new tab width (4 spaces) TabWidth = LOWORD(GetDialogBaseUnits()) * TabWidth * 0.5; Memo1->Perform(EM_SETTABSTOPS, (WPARAM)1, (LPARAM)&TabWidth); 皆为我师
------
皆为我师
firewing
一般會員


發表:23
回覆:47
積分:19
註冊:2002-12-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-22 10:49:50 IP:61.31.xxx.xxx 未訂閱
jeffen  你好: 我查了一下 int __fastcall Perform(Cardinal Msg, int WParam, int Param) 請問 Msg 有哪些 enum 呢?? 怎麼查到 EM_SETTABSTOPS 及 參數的意義?? 謝謝
系統時間:2024-05-04 8:23:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!