TDosMove v2.0 a (正式版) |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
原作者: Liran Shahar
修改者: danny Tzu
元件: TDosMove v2.0a
說明: 模擬在DOS環境下使用 [Enter], 及 Up/Down移動位置.
使用: 將本元件放在 TForm上, 再設Active為True及可. 因為 v2.x 版和 v1.x 版有明顯的差異, 但考慮到有人並不需要 v2.x 多出來的功能, 特將此二種版本都 U/L上來. DosMove v2.0a 因原作者Liran Shahar 是在1998年寫的但未考慮到Grid的欄位移動,
故修改增加對Grid的支援, 由於原作者留的E-Mail已無法連絡到(請參閱DosMove.txt),
如果有要增加支援的元件, 請用E-Mail告訴我 danny_tzu_tw@yahoo.com.tw 01/20/2003 增加 NPClassNames 屬性, 可自行輸入排除 ClassName (針對 Color 處理部份)
01/17/2003 增加 ActiveColor 及 EnterColor 屬性 可設定進 Component 的顏色.
11/28/2002 修正 TCustomComboBox/TDBLookupComboBox 按鍵被取消的錯誤.
08/24/2002 增加可設定 Ctrl 或 Alt 1..9 (` 循環)切換 TPageControl 頁面.
08/02/2002 增加對 TCustomListBox(TListBox, TDBListBox ...), TDBLookupComboBox 的支援
07/07/2002 增加對 TComboBox /TDBComboBox 的支援
06/16/2001 修正在Run Time時動態設定 Active 時會發生錯誤(增加還原Events)
05/22/2001 修正設定Active = True 後, 再Open Project TForm 的 OnKeyDown/OnKeyPress Events
會沒有指定到相對應的程式碼
05/20/2001 增加TabGrid Property 可設定是否處理GRID元件
04/20/2001 修正在TForm的OnKeyDown若有寫程式碼, 不會觸發的問題.
03/02/2001 修正按Alt或Ctrl 方向鍵仍會移動的錯誤
02/20/2001 增加對Grid元件之支援
------
將問題盡快結案也是一種禮貌!
附加檔案:25454_dosmove2x.zip
|
a6475
高階會員 發表:67 回覆:230 積分:154 註冊:2002-09-15 發送簡訊給我 |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
danny 版主: 測了你的 NPClass這段, 似乎有bug
我的測試環境 Delphi5 win98
form上有PageControl, dbedit, maskedit,edit,dbcombobox,
dblookupcombobx,dbgrid,dbcheck,dblistbox (幾乎都放了) 1.如果dosmove在default就設定active:=true, activecolor:=true(不是由程式指定), 結果在畫面一create出來, 我的pagecontrol為yellow底(activecolor=clyellow)
2.如果default都為 false, 由程式在 button1.edit時控制為true時是正常,
但在button1.save 中指定再轉向 false, pagecontrol有時會是回到正常色, 有時是yellow
3.按您的設計, NPClass 中是放不要"變色"的物件, 但我試的結果
把tdbgrid 放入, 但在 activecolor=true下, 我的form上的 dbgrid 在active時,仍然會變yellow, 如果我把 tdbgrid 拿掉情況一樣
4.再來我測試把 tdbedit 放入 NPClass中, 一樣會變色, 拿掉也會變色
5.我在mainform上有一個twincontrol,在主程式一進入時會呼叫一個login的
form, 在loginform中有放一個dosmove, default為true, 啟動loginform時,
有兩個edit, 的確可以在active下令其edit變yellow, 脫離時回復正常色,
但問題來了, 我在loginform結束時, 並未將dosmove的default值調回false,
而當user login進來, 回到main form上時, 我的 twincontrol變成yellow底了,
(如果我在 loginform.close 加入 dosmove1.active:=false, dosmove1.activecolor:= false, 就不會有這個問題) 以上是我實測的結果(花了二天), 不知道以上說明是否清楚! 另外, 我在form中有 dbradiogroup, dosmove1遇到這組物件有兩個問題
假設Taborder順序如下
1.dbedit
2.radiogroup
3.dbcombobox
4.dbedit
1.如果radiogroup中對應的field是null值, 而我在taborder1會直接跳到3
2.如果radiogroup中對應的field有值存在, taborder1會到2, 但在radiogroup
中, 上下左右鍵(如果有設定moUPDN)就跳不出去了(但enter可以離開) 以上再麻煩您查查看了! 謝謝! P.D.
|
webber
初階會員 發表:54 回覆:76 積分:26 註冊:2004-04-20 發送簡訊給我 |
danny 大大的DosMove真是太棒了 不過CanProcessClassNames好像有點問題
我修改之後好像才能正確排除Color的變化 function CanProcessClassNames(FromClassName: String): Boolean;
var i: Integer;
begin
//FNPClassNames.Find(FromClassName, i);
i:=FNPClassNames.IndexOf(FromClassName);
//Result := (i > 0);
Result := (i = -1);
end; K.Top是我見過最棒的程式社群
如果沒有K.Top真不知道該怎麼活 How do I live without T.Top 發表人 - webber 於 2004/10/30 19:25:35 |
webber
初階會員 發表:54 回覆:76 積分:26 註冊:2004-04-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |