Thanks to those who responded to this question.  I have tried those that APPEAR
to be the most straightforward.

Greg I have tried the following code, based on your suggestion.

procedure TMainForm.DocEntryTrMesEditKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
 if ssCtrl in Shift then
       if key = vk_return then showmessage('Control Enter')
       ShowMessage('No Go')

What I get, though, is a No Go as soon as the Control key is pressed, before I
press Enter.
What have I missed please.


Greg Nixon wrote:

> // The Datasource is the controls datasource //
> ShortCutCheckKeyDown(Key, Shift, Datasource);
> // Add this procedure to a unit in your library //
> Procedure ShortCutCheckKeyDown(var Key: Word;
>   var Shift: TShiftState; DbLink: TDatasource);
> begin
>    {If not connected to a database don't try anything
>     or you will get an AV}
>    If DbLink = nil then exit;
>    If ssctrl in Shift then begin
>       If (dblink.state in [dsInsert, dsedit]) then begin
>           If key = vk_return then begin
>   ;
>              Key := 0;
>              Shift := [];
>           end;
>       end;
>    end;
> end;
> -----Original Message-----
> From: Mark Howard <[EMAIL PROTECTED]>
> To: Multiple recipients of list delphi <[EMAIL PROTECTED]>
> Date: Sunday, 28 March 1999 20:00
> Subject: [DUG]: Trapping and using a CTRL-ENTER
> Hi guys
> A simple question.
> In variety of controls (StringGrid, ComboBox, EditBox) I want to be able
> to detect if the user has pressed a CTRL-ENTER combination.
> If he has, I want to invoke the Save procedure. If  CTRL-ENTER is NOT
> pressed, the control should just handle the key-press as it usually
> does.
> This is to save the user having to hunt for the mouse and the SAVE
> button, if they prefer.
> Can someone please give me a short example of how you would detect and
> use this, I can't find any examples of the use of OnKeyDown in the
> documentation.
> eg (in pseudo code) an OnKeyDown event:
> if (Key = Chr(13) and ShiftState  = ssCtrl) then SaveStuff
> In a similar vein - is it possible to detect the pressing of TAB before
> it does what it does, ie moves focus to the next control?
> ---------------------------------------------------------------------------
>     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
>                   Website:
> ---------------------------------------------------------------------------
>     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
>                   Website:

    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]

Reply via email to