DBGridEh按回車進入下一列

2021-04-18 19:47:35 字數 1139 閱讀 1020

以下**在delphi7.0地下除錯通過,僅適合於dbgrid中的列與adoquery中的字段相互對應的情況

procedure tfrmpattern_add.dbgriddetailkeydown(sender: tobject;   var key: word; shift: tshiftstate);

vari: integer;

begin

case key of

vk_return:  //回車鍵

begin

if (dbgriddetail.selectedindex = adoqrydetail.fieldcount) then  //最後一列

key:= vk_tab

else

begin

i:= dbgriddetail.selectedindex;

if i + 1 < dbgriddetail.columns.count then //最後一列

inc(i)

else i:= 0;

while(i <> dbgriddetail.selectedindex) and ((not dbgriddetail.columns[i].visible)           or dbgriddetail.columns[i].readonly)   do  //跳過不可見列和唯讀列

begin

if i + 1 < dbgriddetail.columns.count then

inc(i)

else i:= 0;  //最後一列可見且非唯讀列

end; //while

if(i <= dbgriddetail.selectedindex) and assigned(dbgriddetail.datasource)           and assigned(dbgriddetail.datasource.dataset) then

dbgriddetail.datasource.dataset.next; //如果是最後一列,datasource進入下一條記錄

dbgriddetail.selectedindex:= i;

end; //else

end; //case key of vk_return

end; //case

end;

MFC 按回車鍵移動游標到下乙個文字框

1.去掉ok 按鈕的回車按鈕的預設屬性。將default button 勾掉。並將ok 按鈕相應的訊息函式中,如下圖中的 注釋掉 2.修改編輯框的視窗過程 增加wm initdialog 訊息響應函式 定義先前的視窗過程 wndproc prevproc 在oninitdialog 函式中實現 pr...

按計畫,進入下乙個階段

羅雲彬的 windows環境下32位組合語言程式設計 第2版 的全部18章都看完了。利用業餘時間,陸陸續續的看了有2個月左右。這兩個月期間工作上 學習上和生活上的事情比較多,不然還能看得更快些。為了提高閱讀的效率,看這本書的時候,並沒有對書中的例程進行上機實驗。所以,下一階段的主要任務就是,把書中的...

WPF 窗體基類實現的體驗及實現回車到下一控制項

1 窗體基類實現參考 2 基類不能像winform窗體一樣寫loaded事件 寫了也是不執行的 沒辦法只好寫乙個方法讓所有繼承者呼叫了 3 回車鍵改為tab的實現 將回車改為tab protected override void onkeydown system.windows.input.keye...