View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001651 | JEDI VCL | 00 JVCL Components | public | 2004-04-16 03:02 | 2004-05-23 11:06 |
Reporter | Markus Spoettl | Assigned To | marcelb | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | |||||
Target Version | Fixed in Version | ||||
Summary | 0001651: JvInspector: Value List does not disappear correctly | ||||
Description | The value list of an item's editor (eg. the list of colors, the list of enum values, ...) does not hide correctly when the focus changes. In all following cases, 2x, the list will not disappear, there might be more of them: 1) open a item value list (like Color item) 2a) click the value caption of the item or into the editor of the item 2b) (assuming the scrollbar is visible) click the scrollbar tracker of the inspector 2c) using the mouse set the focus to another control (like a button) 2d) move the window the inspector is contained in, the list will stay open+not change it's location, that leave a strange effect... I would suggest to hide the list anytime the user clicks anywhere outside the control, no matter where. | ||||
Tags | No tags attached. | ||||
|
I could have sworn these problems where fixed a long time ago. Quite possibly I accidently removed them trying to fix something else. |
|
Hmm, these are not the same issues. 2a: can do that. 2b: that's not really a problem. As soon as the clicking above/below the tracker (i.e. the inspector view scrolls) the list does vanish. 2c: unexpected: I assumed the Listbox's OnExit even would fire, but apparently it doesn't. 2d: ouch. That's an old issue I just never was able to solve. How to detect if the user clicks somewhere out of the list? If clicked on the inspector it's easy. How to detect if it is outside of the inspector? It clearly doesn't lose focus when you move the containing form so focus loss detection is not going to solve all issues. |
|
If you'd used a form, you could checked the WM_ACTIVE message: procedure TSomeForm.WMActivate(var Msg: TWMActivate); begin inherited; if Msg.Active = WA_INACTIVE then Hide; // or whatever end; With a control, I'm not so sure (well, it won't get the WM_ACTIVATE message because that is only sent to top-level windows, like forms) but there are several examples in JVCL you could look at (drop down calendars, calculators, DBLookupControls etc) and maybe get some ideas. |
|
Addtional note for case 2b: If you use the thumb (the square piece that you can move around on a scrollbar) you will see the behaviour. THis is what I was referring to as tracker, sorry for the confusion. |
|
CVS rev 1.105. |
Date Modified | Username | Field | Change |
---|---|---|---|
2004-04-16 03:02 | Markus Spoettl | New Issue | |
2004-04-16 03:11 | marcelb | Note Added: 0003905 | |
2004-04-16 03:11 | marcelb | Assigned To | => marcelb |
2004-04-16 03:11 | marcelb | Status | new => confirmed |
2004-04-16 03:26 | marcelb | Note Added: 0003906 | |
2004-04-16 04:27 |
|
Note Added: 0003910 | |
2004-04-17 03:00 | Markus Spoettl | Note Added: 0003920 | |
2004-05-23 11:06 | marcelb | Status | confirmed => resolved |
2004-05-23 11:06 | marcelb | Resolution | open => fixed |
2004-05-23 11:06 | marcelb | Note Added: 0004318 |