線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1737
推到 Plurk!
推到 Facebook!

怎樣按回車等於按TAB

尚未結案
wuherong2000
一般會員


發表:26
回覆:21
積分:9
註冊:2003-06-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-19 13:10:15 IP:218.16.xxx.xxx 未訂閱
我就建一窗體寫了如下事件,我在窗體上放一 Tcombobox,Taborder=0 TEDit ,Taborder=1; 兩按鈕分別是btn1,btn2,Taborder分別是3,4, 可是我按回車後沒反應,請解釋一下為什麼 procedure Tlogofrm.FormKeyPress(Sender: TObject; var Key: Char); begin if key = chr(vk_return) then begin sendmessage(handle,wm_nextdlgctl,0,0) ; //selectnext(activecontrol,true,true); key := chr(0) ; end ; end;
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-19 13:38:15 IP:61.222.xxx.xxx 未訂閱
我突然有個想法    要不要來建立個兩岸電腦用語對照表    "窗體"大概還可以了解,"回車",嗯...    我是在keypress作的    
    procedure Tmydbform.FormKeyPress(Sender: TObject; var Key: Char);
begin      if (Key = #13) then  
  begin
    if (not (ActiveControl is TcustomDBGrid)) and
       (not (ActiveControl is TCustomMemo))  then
    begin
      Key := #0;       // eat enter key
      Perform(WM_NEXTDLGCTL, 0, 0);  // move to next control
    end;
  end;    
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-19 13:39:14 IP:202.39.xxx.xxx 未訂閱
logForm.KeyPreview := True; 設了嗎? --- Everything I say is a lie.
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-20 00:26:17 IP:61.217.xxx.xxx 未訂閱
引言: 我就建一窗體寫了如下事件,我在窗體上放一 Tcombobox,Taborder=0 TEDit ,Taborder=1; 兩按鈕分別是btn1,btn2,Taborder分別是3,4, 可是我按回車後沒反應,請解釋一下為什麼
// Form1.KeyPreview := True !    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    { check if SHIFT - Key is pressed ◎ Shift Return TabOrder:4->->TabOrder:3 }
    if GetKeyState(VK_Shift) and $8000 <> 0 then
      PostMessage(Handle, WM_NEXTDLGCTL, 1, 0)   
    else
      PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
    end;
end; 
╭╧╮╭╧╮╭╧╮╭╧╮╭╮│║│║│║ ╘∞╛╘∞╛╘∞╛╘∞╛ . ﹒﹒‧∴ ☆..... 發表人 - leo2568 於 2003/12/20 00:28:40
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-20 20:31:43 IP:61.219.xxx.xxx 未訂閱
引言:
引言: 我就建一窗體寫了如下事件,我在窗體上放一 Tcombobox,Taborder=0 TEDit ,Taborder=1; 兩按鈕分別是btn1,btn2,Taborder分別是3,4, 可是我按回車後沒反應,請解釋一下為什麼
// Form1.KeyPreview := True !    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    { check if SHIFT - Key is pressed ◎ Shift Return TabOrder:4->->TabOrder:3 }
    if GetKeyState(VK_Shift) and $8000 <> 0 then
      PostMessage(Handle, WM_NEXTDLGCTL, 1, 0)   
    else
      PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
    end;
end; 
╭╧╮╭╧╮╭╧╮╭╧╮╭╮│║│║│║ ╘∞╛╘∞╛╘∞╛╘∞╛ . ﹒﹒‧∴ ☆..... 發表人 - leo2568 於 2003/12/20 00:28:40
可以簡化一下
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then begin
    SelectNext(ActiveControl,Not(Shift=[ssShift]),True);
  end;
end; 
系統時間:2024-05-19 9:43:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!