A Delphi control that can mimic "Extras" to the list of Firefox extensions?

My goal is to update the look of the GUI in my application. Currently, my graphical interface contains many lists that are used to edit some objects in the old way, that is, the user double-clicks an element and a dialog box is displayed to modify the corresponding object.

I think a good modern approach is how Firefox shows the installed extensions (screenshot below).

My question is, how easy is it to create such a GUI in Delphi (win32)? Are there any components that you use when applying this behavior, or will I just need to code this using panels? (IMO is a very cumbersome job that I would like to avoid - the logic of choice, resizing, etc.)

alt text http://i41.tinypic.com/16k6gd5.png

+6
user-interface firefox controls delphi
source share
5 answers

You can do something similar (not really) with standard components; TDBCtrlGrid, TSpeedButton, ...

alt text http://img8.imageshack.us/img8/9585/imagen29ox3.png

+9
source share

If you are using Delphi 2007 or Delphi 2009, you can do something similar using TCategoryButtons (from the Advanced panel page). Leave it on the form and right-click to display a pop-up menu, and then click "Category Editor ...". Add a category with a dialog box that appears, set a title, and possibly customize the elements it contains. Not exactly the same, but he can do what you need.

You can also use the dialog with TTreeView (if you have categories of objects) or TListView to emulate the Delphi 2007 Projects-> Options dialog. When you click on an item in the TreeView or ListView, the corresponding TPageControl page is displayed to configure the object.

+7
source share

Using a TFrame for each item in the list and placing them in Align Top on a TScrollBox may work. Also see TDBCtrlGrid, which does something similar in combination with datasets.

+3
source share

This can be done using existing Delphi controls.

For example, in a TCustomListBox control, you can create your own OnDrawItem event to draw your own list item. You also need to create your own OnMeasureItem to change the height of the element.

In some cases, this is very limited, so if you want more freedom, you will need to do this from scratch.

+2
source share

Basically I agree with Lars, but I would use a border for each element instead of a panel. This will be split into your own file and you will get easy development time support.

+2
source share

All Articles