如何動態建立tab定位? |
缺席
|
Reiji
初階會員 發表:30 回覆:57 積分:32 註冊:2008-06-26 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
[code delphi] unit fMain; interface uses Windows, Classes, Messages, Controls, Dialogs, Forms, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private procedure DO_OnMessage(var Msg: TMsg; var Handled: Boolean); public end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMessage := DO_OnMessage; Edit1.Text := 'AAA BBB CCC DDD EEE FFFFF'; end; procedure TForm1.DO_OnMessage(var Msg: TMsg; var Handled: Boolean); begin if(ActiveControl is TEdit) and (Msg.message=WM_KEYDOWN) and (Msg.wParam=$09) then //TAB begin TranslateMessage(Msg); DispatchMessage(Msg); Handled := True; end; end; procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var I, L: Integer; S: string; begin case Key of VK_TAB: begin S := Edit1.Text; L := Length(S); I := Edit1.SelStart 1; while (I while (I end; end; end; end. [/code] |
Reiji
初階會員 發表:30 回覆:57 積分:32 註冊:2008-06-26 發送簡訊給我 |
|
lu0720@yahoo.com.tw
一般會員 發表:0 回覆:9 積分:6 註冊:2006-10-04 發送簡訊給我 |
|
Reiji
初階會員 發表:30 回覆:57 積分:32 註冊:2008-06-26 發送簡訊給我 |
被lu0720一說,發現真的可以,請原諒小弟的愚笨@@"
不過小弟要的確實也不是這樣 是有點類似word裡的tab定位點 所以是依第一行的空白去建立 第二行在按tab時會自動對齊第一行 例如第一行先輸入了兩個空白再打字 enter後第二行游標會停在兩個空白後的地方 而再按一次tab會與第一行的第二個空格對齊 也就是第2個例子 小弟是想到動態建立tab位置的想法 不知道可不可行? 建立定位點小弟是沒問題的 但問題就是該怎麼去給動態的定位點 還有要給幾個tab點... 而且搜尋動態建立tab點的方法也一直遍尋不著 不曉得是不是搜尋的關鍵字有問題
------
永遠都是新手
編輯記錄
Reiji 重新編輯於 2008-06-30 16:36:05, 註解 無‧
|
Reiji
初階會員 發表:30 回覆:57 積分:32 註冊:2008-06-26 發送簡訊給我 |
小弟我用上面這個範例去加以修改成RichEdit的型態
並試著作出來,似乎也有所成效 但不知道該如何讓它的每一tab是一個字元? 已經用了Courier New字型和fpFixed設定 但卻有時有成效,有時沒有成效,而且字也並不會同一寬度 如果在第2行輸入內容 到了第3行又會以奇怪的方式亂跳 該怎麼樣作才能達到小弟想要的呢? 小弟作的範例 http://delphi.ktop.com.tw/download.php?download=upload/4869ed313f7bb_TabTest.zip
------
永遠都是新手 |
Reiji
初階會員 發表:30 回覆:57 積分:32 註冊:2008-06-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |