以下**在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...