Solved

TStringGrid.OnKeyDown event not working

Posted on 2008-10-30
1
984 Views
Last Modified: 2013-11-12
Hi.

I have a very strange behavior with OnKeyDown event for a TStringGrid control.

I have a heavily modified control derived from TStringGrid. In this control I intercept the "key down" in order to delete the selected cell(s) when the user presses the Delete key on his keyboard.
It worked until recently when I discovered that pressing the Delete key does nothing.


STRANGE is that if I put a break point at the beginning of the procedure, the programs step through code and the program works (the code is executed). After this "glitch" is overpass first time, then the program will always work ok.

There is a trick that will do the work: I need to click (focus) another control on the same form where my grid is placed then to return (click) to the grid. After this, the Delete key is working.

Any ideas?



procedure TMyGrid.KeyDown(var Key: Word; Shift: TShiftState);
begin                                                                
 case Key of                        <--- if I pub breakpoint here it works !!!!!!!
   VK_LEFT  : if CursorPos-1 > 0 then
               begin
                  ...
               end;
   VK_DELETE: begin
               inherited KeyDown(Key, Shift);
               DeleteCells(Row);
               Bip30;
              end;
   VK_Up    : begin
                      ...
                    end;

  else inherited KeyDown(Key, Shift);
 end;
end;

PS: VK_Left, VK_Up, etc behave in the same way as VK_delete.
0
Comment
Question by:fedra
1 Comment
 

Accepted Solution

by:
fedra earned 0 total points
ID: 22842200
Fixed. I accidentally set the focus on a different control. So even if the grid had the cursor on it, the focus was on a different control.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
splitOdd10 challenge 5 117
Adoquery sql  left join does not work 25 100
how to use laptop or pad camera in vb.net windows application 2 86
Query Syntax 17 43
Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question