本文整理汇总了C++中WindowStyle::ControlParent方法的典型用法代码示例。如果您正苦于以下问题:C++ WindowStyle::ControlParent方法的具体用法?C++ WindowStyle::ControlParent怎么用?C++ WindowStyle::ControlParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WindowStyle
的用法示例。
在下文中一共展示了WindowStyle::ControlParent方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assert
void
RowFormWidget::Initialise(ContainerWindow &parent, const PixelRect &rc)
{
assert(!IsDefined());
assert(rows.empty());
WindowStyle style;
style.Hide();
style.ControlParent();
SetWindow(new PanelControl(parent, look, rc, style));
}
示例2: SolidContainerWindow
void
SolidWidget::Initialise(ContainerWindow &parent, const PixelRect &rc)
{
WindowStyle style;
style.ControlParent();
style.Hide();
auto window = new SolidContainerWindow();
window->Create(parent, rc, UIGlobals::GetDialogLook().background_color,
style);
SetWindow(window);
widget->Initialise(*window, ToOrigin(rc));
}
示例3: WndProperty
WndProperty *
RowFormWidget::CreateEdit(const TCHAR *label, const TCHAR *help,
bool read_only)
{
assert(IsDefined());
const PixelRect edit_rc =
InitialControlRect(Layout::GetMinimumControlHeight());
WindowStyle style;
if (!read_only)
style.ControlParent();
EditWindowStyle edit_style;
edit_style.SetVerticalCenter();
if (read_only)
edit_style.SetReadOnly();
else
edit_style.TabStop();
if (IsEmbedded() || Layout::scale_1024 < 2048)
/* sunken edge doesn't fit well on the tiny screen of an embedded
device */
edit_style.Border();
else
edit_style.SunkenEdge();
PanelControl &panel = *(PanelControl *)GetWindow();
WndProperty *edit =
new WndProperty(panel, look, label,
edit_rc, (*label == '\0') ? 0 : 100,
style, edit_style, NULL);
if (help != NULL)
edit->SetHelpText(help);
return edit;
}
示例4: WndCustomButton
void
dlgQuickMenuShowModal(SingleWindow &parent)
{
const Menu *menu = InputEvents::GetMenu(_T("RemoteStick"));
if (menu == NULL)
return;
const DialogLook &dialog_look = UIGlobals::GetDialogLook();
WindowStyle dialogStyle;
dialogStyle.Hide();
dialogStyle.ControlParent();
wf = new WndForm(parent, dialog_look, parent.get_client_rect(),
_T("Quick Menu"), dialogStyle);
ContainerWindow &client_area = wf->GetClientAreaWindow();
PixelRect r = client_area.get_client_rect();
WindowStyle grid_view_style;
grid_view_style.ControlParent();
grid_view = new GridView(client_area,
r.left, r.top,
r.right - r.left, r.bottom - r.top,
dialog_look, grid_view_style);
WindowStyle buttonStyle;
buttonStyle.TabStop();
for (unsigned i = 0; i < menu->MAX_ITEMS; ++i) {
if (buttons.full())
continue;
const MenuItem &menuItem = (*menu)[i];
if (!menuItem.IsDefined())
continue;
TCHAR buffer[100];
ButtonLabel::Expanded expanded =
ButtonLabel::Expand(menuItem.label, buffer, ARRAY_SIZE(buffer));
if (!expanded.visible)
continue;
PixelRect button_rc;
button_rc.left = 0;
button_rc.top = 0;
button_rc.right = 80;
button_rc.bottom = 30;
WndButton *button =
new WndCustomButton(*grid_view, dialog_look, expanded.text,
button_rc, buttonStyle, OnButtonClicked);
button->set_enabled(expanded.enabled);
buttons.append(button);
events.append(menuItem.event);
}
grid_view->SetItems(buttons);
SetFormDefaultFocus();
SetFormCaption();
wf->SetKeyDownNotify(FormKeyDown);
wf->ShowModal();
for (auto it = buttons.begin(), end = buttons.end(); it != end; ++it)
delete *it;
buttons.clear();
events.clear();
delete wf;
delete grid_view;
}
示例5: LoadXMLFromResource
/**
* This function returns a WndForm created either from the ressources or
* from the XML file in XCSoarData(if found)
* @param LookUpTable The CallBackTable
* @param FileName The XML filename to search for in XCSoarData
* @param Parent The parent window (e.g. XCSoarInterface::main_window)
* @param resource The resource to look for
* @param targetRect The area where to move the dialog if not parent
* @return The WndForm object
*/
WndForm *
LoadDialog(const CallBackTableEntry *lookup_table, SingleWindow &parent,
const TCHAR *resource, const PixelRect *target_rc)
{
WndForm *form = NULL;
// Find XML file or resource and load XML data out of it
XMLNode *node = LoadXMLFromResource(resource);
// TODO code: put in error checking here and get rid of exits in xmlParser
// If XML error occurred -> Error messagebox + cancel
assert(node != NULL);
// If the main XMLNode is of type "Form"
assert(StringIsEqual(node->getName(), _T("Form")));
// Determine the dialog size
const TCHAR* caption = GetCaption(*node);
const PixelRect rc = target_rc ? *target_rc : parent.get_client_rect();
ControlPosition pos = GetPosition(*node, rc, 0);
ControlSize size = GetSize(*node, rc, pos);
InitScaleWidth(size, rc);
// Correct dialog size and position for dialog style
switch (UIGlobals::GetDialogSettings().dialog_style) {
case dsFullWidth:
pos.x = rc.left;
pos.y = rc.top;
size.cx = rc.right - rc.left; // stretch form to full width of screen
size.cy = rc.bottom - rc.top;
break;
case dsScaledCentered:
pos = SetPositionCentered(pos, rc, size);
break;
case dsScaled:
case dsFixed:
break;
case dsScaledBottom:
size.cx = rc.right - rc.left; // stretch form to full width of screen
pos.y = rc.bottom - size.cy; // position at bottom of screen
break;
}
// Create the dialog
WindowStyle style;
style.Hide();
style.ControlParent();
PixelRect form_rc;
form_rc.left = pos.x;
form_rc.top = pos.y;
form_rc.right = form_rc.left + size.cx;
form_rc.bottom = form_rc.top + size.cy;
form = new WndForm(parent, *xml_dialog_look, form_rc, caption, style);
// Load the children controls
LoadChildrenFromXML(*form, form->GetClientAreaWindow(),
lookup_table, node);
delete node;
// If XML error occurred -> Error messagebox + cancel
assert(!XMLNode::GlobalError);
// Return the created form
return form;
}