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

怎样判断DBNavigator中按了哪个键?

答題得分者是:P.D.
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-12-21 16:11:52 IP:202.96.xxx.xxx 訂閱
怎样判断DBNavigator中按了哪个键?
譬如怎么知道是按了DELETE键还是FIRST RECORD键?
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-12-21 23:19:37 IP:211.72.xxx.xxx 訂閱
用 BeforeAction Event 的 Button 參數可判斷.
===================引 用 sl@cableplus.com.cn 文 章===================
怎样判断DBNavigator中按了哪个键?
譬如怎么知道是按了DELETE键还是FIRST RECORD键?
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-12-22 09:45:48 IP:202.96.xxx.xxx 訂閱
请问有代码可供参考吗?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-12-22 15:30:52 IP:61.67.xxx.xxx 未訂閱
我是利用 onclick比較直接, 參考看看

[code delphi]
procedure TForm_Machine.mNavigator1Click(Sender: TObject;
Button: TNavigateBtn);
var BtnName : string ;
tempfield: string;
tempvar: real;
nowREC: TBookMarkStr;
begin
case Button of
nbFirst : BtnName := 'nbFirst';
nbPrior : BtnName := 'nbPrior';
nbNext : BtnName := 'nbNext';
nbLast : BtnName := 'nbLast';
nbInsert : BtnName := 'nbInsert';
nbDelete : BtnName := 'nbDelete';
nbEdit : BtnName := 'nbEdit';
nbPost : BtnName := 'nbPost';
nbCancel : BtnName := 'nbCancel';
nbRefresh: BtnName := 'nbRefresh';
end;
if BtnName='nbPost' then begin
Table_Volt.Edit;
Table_Volt.Post;
Application.MessageBox('已完成寫入','系統訊息',MB_Ok);
end
else if BtnName='nbInsert' then begin
Table_VoltMACHINETYPE.Value:= Table_MachineMACHINETYPE.Value;
Table_VoltISVOLT.Value:='MATHVOLT';
end
else if BtnName='nbRefresh' then begin
tempfield:= Table_VoltAIMODE.Value;
tempvar := Table_VoltDATAHIGH.Value;
if ID_YES=Application.MessageBox(pChar('是否確定更新 ' tempfield ' 的乘值資料?'),
'更新',
MB_ICONINFORMATION MB_YESNO) then begin
nowREC:= Table_Volt.Bookmark;
while (Table_VoltAIMODE.Value=tempfield) and (not Table_Volt.Eof) do begin
Table_Volt.Edit;
Table_VoltDATAHIGH.Value:= tempvar;
Table_Volt.Post;
Table_Volt.Next;
end;
Table_Volt.Bookmark:= nowREC;
setLength(nowREC,0);
Application.MessageBox('已完成更新','系統訊息',MB_Ok);
end;
end;
end;

[/code]
編輯記錄
P.D. 重新編輯於 2007-12-22 15:31:57, 註解 無‧
系統時間:2024-11-22 22:39:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!