I am creating a menu hierarchy for an Outlook (2007) add-in. The menu items only have a caption -- no icons. However, there is still some (wasted) space reserved for an icon to the left of the captions. To get rid of the reserved space, I tried the obvious
Office.CommandBarButton button = parent.Controls.Add(Office.MsoControlType.msoControlButton, Type.Missing, Type.Missing, Type.Missing, true) as Office.CommandBarButton;
button.Style = Office.MsoButtonStyle.msoButtonCaption;
Which, I assumed, should have gotten rid of the space (in contrast to MsoButtonStyle.msoButtonIconAndCaption, which should presumably reserve space for an icon), but it did not work (the empty space remains). How can I get rid of the space reserved for icons when there are no icons?
Furthermore, parent menu items (CommandBarPopup) also needlessly reserve space for icons, and they do not have a Style property. Is there a way to get rid of the icon space for these as well?
AFAIK there is no way to remove the reserved space for icons, as the menu layout needs to support menu items with or without icons.
Related
I have a QTreeView widget placed inside a QDockWidget:
I want to set the properties of the QTreeView, that it automatically fills the whole available client drawing area (similar as WinForms DockFill property).
How can this be achieved with the QT-Designer?
Note: I've been playing around with the QTreeViews sizePolicy properties. If these are set to Expanding (as is the default) the accepted answer works out out of the box.
In Qt Designer, right-click the dock-widget, and then select Lay out -> Lay Out Vertically from the menu. Or you can just click on the dock-widget to select it, and then use the equivalent layout toolbar buttons.
If you want to maximise the space taken up by the tree-view, select the first child widget of the dock widget (it will probably be shown as dockWidgetContents in the Object Inspector pane). Then scroll down to the bottom of the Property Editor, and reset all the margins to zero.
I just noticed that if I put a GridView or ListView in UWP app inside a HubSection, the UI Virtualization breaks. Is my understanding correct?
Thanks
Virtualization only happens for items outside the viewport. So it's important to place your GridView into a control that limits its size (e.g. Grid without auto-sized rows/columns) or set the size of the control. Wouldn't surprise me if your HubSection doesn't have a fixed size.
The concept of a viewport is critical to UI virtualization because the
framework must create the elements that are likely to be shown. In
general, the viewport of an ItemsControl is the extent of the logical
control. For example, the viewport of a ListView is the width and
height of the ListView element. Some panels allow child elements
unlimited space, examples being ScrollViewer and a Grid, with
auto-sized rows or columns. When a virtualized ItemsControl is placed
in a panel like that, it takes enough room to display all of its
items, which defeats virtualization. Restore virtualization by setting
a width and height on the ItemsControl.
Also custom templates often break virtualization:
If you provide a custom items panel template (see ItemsPanel) then
make sure you use a virtualizing panel such as ItemsWrapGrid or
ItemsStackPanel. If you use VariableSizedWrapGrid, WrapGrid, or
StackPanel, then you will not get virtualization.
More info on MSDN: UWP and Win8, which also has some good points that still count.
I am having two subgrids one below the other
I have a tab designed using a html webresource, on click of the tabs I will show/hide the subgrids accordingly
When I hide the bottom subgrid, I don't get any problem, but when I hide the top subgrid, it hides the subgrid, but the space occupied by the subgrid is still there
$(".goalTab").click(function(event){
parent.Xrm.Page.ui.controls.getByName('CaseServicePlanContacts').setVisible(false);
parent.Xrm.Page.ui.controls.getByName('GoalSubgrid').setVisible(true);
});
$(".activityTab").click(function(event){
parent.Xrm.Page.ui.controls.getByName('GoalSubgrid').setVisible(false);
parent.Xrm.Page.ui.controls.getByName('CaseServicePlanContacts').setVisible(true);
});
I also tried using normal jQuery to hide (using $("#parentid").hide() ) the parent container, but its not supported in CRM. So is there a way to remove this empty space occupied by the hidden subgrid in CRM
Try putting your subgrids into sections and hiding the section instead. This is fully supported by CRM and should not leave empty space behind.
I have inherited a JavaFX project and have a problem when running it on linux. When dropping down a MenuBar menu and hovering over items with my pointer the selection flicker and items get selected only at certain spots of the area of the item. Where these spots are and the distribution of select vs. non-select spots are seemingly random, changing when closing the menu and opening it again. When clicking an item when it isn't highlighted as hovered nothing happens.
What could be the problem and where would I even start looking. I can't find anything that has been customized when it comes to the dropdown menus and they work flawlessly on macosx.
I've got a (horizontal) split pane, with a tabbed pane as the left component. I want to ensure that the content of each tab takes up all available space when the divider of the split pane is resized, but I'm a bit confused as to what I should be binding to what. Any tips?
Thanks,
Joseph.
did you try anything?
Because you described default behavior for most cases. Put any layout manager other from Pane and Group inside SplitPane and they will try to take all available space for them.