Recommendation for menu and toolbar components

Viewing 16 posts - 1 through 16 (of 16 total)
  • Author
    Posts
  • #35963
    Schmidtze
    Participant

    Hi,

    I'm very impressed about alpha controls and I really would like to use it in my application. By now I'm using SpTBX for menus and toolbars. As I see it doesn't work with your skinning system. I'm willing to buy something, do you have recommendation for me? My limit is about 100 € I think. Is there a chance to get it working with menu and toolbar by TMS Software?

    Best regards and many thanks in advance

    Schmidtze

    #51290
    Schmidtze
    Participant

    Hi,

    'Schmidtze' wrote:

    By now I'm using SpTBX for menus and toolbars. As I see it doesn't work with your skinning system. I'm willing to buy something, do you have recommendation for me? My limit is about 100 € I think. Is there a chance to get it working with menu and toolbar by TMS Software?

    I will answer my question for myself now 🙄 I thought about it again, with the result that I will continue using SpTBX together with Alpha Controls. As I'm very satisfied with SpTBX and it is skinnable itself, I will do the skinning of SpTBX in my code with all the values I get from the currently set Aplpha Skin.

    Best regards

    Schmidtze

    #51294
    mol
    Participant

    Hi Friedemann

    Have you thought about an even simpler solution – using TActionMainMenuBar and TActionToolbar instead?

    Uwe

    #51295
    Schmidtze
    Participant

    Hi Uwe,

    long time no see…

    'mol' wrote:

    Have you thought about an even simpler solution – using TActionMainMenuBar and TActionToolbar instead?

    yes I did and honestly I'm still not really sure that I can't use a simpler solution, maybe I can. I didn't know TActionMainMenuBar and TActionToolbar by now as I used Delphi 7 in the past. Now I have a brand new licence for Delphi XE5, with wich some new components are available it seems. I have to check, for example if the TActionToolbar will show a submenu with all items which do not fit into available space (chevron button?). That's very important for me.

    Best regards

    Schmidtze

    #51296
    mol
    Participant

    If necessary, a chevron button is added automatically to an ActionToolBar as far as I know (never needed one).

    #51297
    Schmidtze
    Participant
    'mol' wrote:

    If necessary, a chevron button is added automatically to an ActionToolBar as far as I know (never needed one).

    And as I just see, these components aren't new, they are already available in Delphi 7. But I didn't ever use them…

    #51298
    Schmidtze
    Participant

    Hi again,

    I'm filling a lot of submenus dynamically on runtime when they will be opened. That's not possible with TActionMainMenuBar or TActionToolBar I think. And SpTBX allows also to define toolbar button as dropdown menus. Then the button itself can be activated or its dropdown menu can be opened. That seems also not possible with Delphi's standard controls.

    Best regards

    Schmidtze

    #51299
    mol
    Participant
    'Schmidtze' wrote:
    I'm filling a lot of submenus dynamically on runtime when they will be opened. That's not possible with TActionMainMenuBar or TActionToolBar I think.

    Think again, Friedemann… 🙂

    It's definitely possible with TActionMainMenuBar, but not as easy as one might think. With the ActionToolbar you will have to use a TPopupMenu as drop down menu and fill it at runtime. There are plenty of examples out there; this was the first one that came up:

    http://forums.devshed.com/delphi-programming-90/create-actions-and-menuitems-at-runtime-using-tactionmanager-and-tactionmainmenubar-196022.html

    HTH

    Uwe

    #51300
    Schmidtze
    Participant

    Hi Uwe,

    'mol' wrote:

    Think again, Friedemann… 🙂

    I did 😀 Of course you are right, it is possible to build all up on runtime. But what about the possibility to bind an action to the submenu itself, so it can be executed by clicking on the submenu item, and when clicking on the small arrow on the right, the dropdown menu will be shown (see screenshot). I'm using this for example for cycling between the different views of a file explorer when clicking on the sub menu item. The subitems contain each different view style.

    Regards

    Friedemann

    #51301
    mol
    Participant

    Like this:

    Code:
    procedure TForm1.Action1Execute(Sender: TObject);
    var
    p: TPoint;
    begin
    //Position the PopupActionBar directly underneath the button
    p.x := ActionToolBar1.ActionControls[0].Left;
    p.y := ActionToolBar1.Height;
    p := ActionToolBar1.ClientToScreen(p);
    PopupActionBar1.Popup(p.x, p.y);
    end;

    Double-click on the TPopupActionBar, add your submenu items, assign your code to the OnClick event of each menu item – that's it.

    Uwe

    #51302
    Schmidtze
    Participant

    But then clicking on the button (action) always the popup menu will be shown. That's not what I want. When clicking on the button, the action should be executed, I don't want to see the popup (submenu) then. Only using the little arrow on the right would open the submenu.

    Regards

    Friedemann

    #51303
    mol
    Participant

    Hi Friedemann

    I don't think that is possible with regular actions. What you can do though is to create your own container action, place it on the ActionToolbar, and drag/drop a TListview or TComboBox into the container action. Rather complicated, so why don't you let the user simply select from the popup menu?

    Uwe

    #51289
    Schmidtze
    Participant

    Hi Uwe,

    'mol' wrote:

    Rather complicated, so why don't you let the user simply select from the popup menu?

    not complicated with SpTBXLib 😉 Of course the user can also select something from the popup menu. But already the parent menu item contains functionalety which improves the usability a lot, I think. Attached you see 3 screenshots

    1. On the first you see the 2 possible view modes of the file browser. The popup menu do not has to be opened, a simple click on the toolbar button (not its arrow on the right) will toggle between these 2 view modes (report, thumbnail). If there were more than 2 options, the button would cycle between them. I think the Windows Explorer has got same functionalety.

    2. On the second you see the image viewer with a button “Fit” in the toolbar. This button always uses the fit option which is enabled in its submenu

    3. The 3rd screenshot shows the zoom menu. The button in the toolbar will zoom the image always to 100%, but in its submenu a lot of other zoom values can be selected.

    So I like these optional possibilities of SpTBXLib and don't want to miss them.

    Regards

    Friedemann

    #51267
    mol
    Participant

    Hi Friedemann

    I understand, but what you want is possible with ActnCtrls. Screenshot 1 and 2 show standard behavior of an ActionToolbar, the third screenshot can be done by using an action container as described above. Only the latter will require some work. Of course, you can take the easy way out by using SpTBXLib, but why do you want to rely on yet another component set which works with its own styles/skinning? When I develop applications, I always try to reuse as much code as possible and only fall back to other components if I really have to.

    Regards

    Uwe

    #51306
    Schmidtze
    Participant

    Hi Uwe,

    'mol' wrote:

    When I develop applications, I always try to reuse as much code as possible and only fall back to other components if I really have to.

    of course that's the same way I normally try to do it. Maybe a misunderstanding, I'm using SpTBXLib already and don't want to change if, if not necessary. I would have changed if there is a menu/toolbar system which offers all what I need AND is skinnable by Alpha Controls. So I will try to stay on SpTBXLib and try out using its own skinning properties by using the properties of Alpha Skins.

    Regards

    Friedemann

    #51307
    mol
    Participant

    Oh sorry, I thought you wanted to replace your current components with AlphaControls. If you want to keep SpTBXLib, then you'll just have to find two skins that go together colorwise, and hope for the best that both skinning systems do not interfere with each other at runtime.

    Uwe

Viewing 16 posts - 1 through 16 (of 16 total)
  • You must be logged in to reply to this topic.