Solved

TStringGrid.OnKeyDown event not working

Posted on 2008-10-30
1
972 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
Comment Utility
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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Specific format 21 140
firstChar challenge 13 82
wordappend challenge 8 82
eclipse package explorer vs project explorer view 2 27
Introduction This question got me thinking... (http://www.experts-exchange.com/questions/28707487/GLOBALS.html) Why shouldn't we use Globals? This is a simple question without a simple answer.  How do you explain these concepts to a programmer w…
This article will show, step by step, how to integrate R code into a R Sweave document
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

762 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now