View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005682 | JEDI VCL | 00 JVCL Components | public | 2011-10-14 06:58 | 2012-09-10 14:15 |
| Reporter | sound_effects | Assigned To | obones | ||
| Priority | normal | Severity | minor | Reproducibility | sometimes |
| Status | resolved | Resolution | fixed | ||
| Product Version | Daily / GIT | ||||
| Target Version | Fixed in Version | 3.46 | |||
| Summary | 0005682: JvStringGrid's OnCaptionClick sometimes fires even for column-resizing clicks | ||||
| Description | It seems that JvStringGrid's OnCaptionClick sometimes fires when the user clicks between the columns to resize them. Perhaps this should be considered more of a suggestion than a bug. I need OnCaptionClick to respond only to the "interior" caption clicks and ignore the caption edge clicks for column resizing. As a workaround, I submit the attached patch. This exposes GridState as a property, giving OnCaptionClick a means to distinguish column-resizing clicks from interior clicks: procedure TForm1.JvStringGrid1CaptionClick(Sender: TJvStringGrid; AColumn, ARow: Integer); begin if Sender.GridState = gsColSizing then Exit; // Do something only when the caption gets an interior click... end; | ||||
| Additional Information | Using RAD Studio 2009 on Vista 32-bit and Windows 7 64-bit. I have not tested this patch with any versions of Delphi prior to 2009. | ||||
| Tags | No tags attached. | ||||
|
2011-10-14 06:58
|
ExposeJvStringGridState.patch (1,198 bytes)
Index: run/JvExGrids.pas
===================================================================
--- run/JvExGrids.pas (revision 13126)
+++ run/JvExGrids.pas (working copy)
@@ -397,6 +397,7 @@
procedure MouseEnter(AControl: TControl); reintroduce; dynamic;
procedure MouseLeave(AControl: TControl); reintroduce; dynamic;
property MouseOver: Boolean read FMouseOver write FMouseOver;
+ property GridState: TGridState read FGridState;
property HintColor: TColor read FHintColor write FHintColor default clDefault;
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
Index: run/JvStringGrid.pas
===================================================================
--- run/JvStringGrid.pas (revision 13126)
+++ run/JvStringGrid.pas (working copy)
@@ -142,6 +142,7 @@
procedure InvalidateRow(ARow: Integer);
procedure MoveColumn(FromIndex, ToIndex: Integer);
procedure MoveRow(FromIndex, ToIndex: Longint);
+ property GridState;
property InplaceEditor;
// Calculates and sets the width of a specific column or all columns if Index < 0
|
|
|
Too problematic to actually solve, I have made GridState public as suggested |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2011-10-14 06:58 | sound_effects | New Issue | |
| 2011-10-14 06:58 | sound_effects | File Added: ExposeJvStringGridState.patch | |
| 2012-02-22 14:38 | obones | Status | new => acknowledged |
| 2012-02-24 15:12 | obones | Note Added: 0019535 | |
| 2012-02-24 15:12 | obones | Status | acknowledged => resolved |
| 2012-02-24 15:12 | obones | Fixed in Version | => Daily / SVN |
| 2012-02-24 15:12 | obones | Resolution | open => fixed |
| 2012-02-24 15:12 | obones | Assigned To | => obones |
| 2012-09-10 14:15 | obones | Fixed in Version | Daily / SVN => 3.46 |