Forum > General

How to bypass an inherited method in immediate ancestor

<< < (2/2)

Joanna:
Wp I’m glad you are trying to fix it. Apart from the occasional crash the tcheckcombobox in lazarus 1.6.4 was far more pleasant to use.
I’m not content with merely clicking the checkcombobox I need to be able to use keydown events like arrow keys, escape ,space bar and return.

The checkcombobox seems to get stuck in the dropped down state and is often impossible to close. When the form is moved it floats in the same spot. When I’m trying to trace into the code the floating dropdown floats directly over the code in editor which I’m trying to examine and prevents me from reading it unless I scroll the editor.

Showing everything that is checked in the non dropped state would be completely unusable for me because I have a long list of items. The entire reason I’m using the checkcombobox is to save space.
I hope that will be an optional setting if you implement it.

I prefer being able to click anywhere on the item to toggle as well instead of having to aim for a small checkbox.

I tried some code yesterday that will toggle selected item with space bar but I don’t know how to refresh the toggled state in the dropdown part. I tried setting dropped down to false then true but that didn’t do anything.


wp:
Spent some time with this component, but finally concluded that many of its issues originate in the fact that it just is a combobox and is not made for this (e.g. closing up after a selection has been made). Therefore, I attempted to rewrite it from ground up, based on TEditButton. The dropdown window displays a TCheckListbox, and in total it almost behaves as i would expect it - see https://wiki.freepascal.org/ExCtrls#TCheckComboBoxEx. Download from ccr, package ExCtrls, unit excheckcombo (https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/exctrls/source/excheckcombo.pas). There is also a demo in https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/exctrls/examples/CheckComboBoxEx/.

The problem that I still see is that the dropped-down list must be able to reach out of the parenting form. Therefore, I put the CheckListbox into its own form - and this makes the parenting form becoming deactivated when the list drops down. Besides the form caption being painting in its deactivated color, this may also cause trouble in applications which do not expect OnDeactivate and OnActivate event here.

Navigation

[0] Message Index

[*] Previous page

Go to full version