本文整理汇总了C++中SingleWindow::GetClientRect方法的典型用法代码示例。如果您正苦于以下问题:C++ SingleWindow::GetClientRect方法的具体用法?C++ SingleWindow::GetClientRect怎么用?C++ SingleWindow::GetClientRect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SingleWindow
的用法示例。
在下文中一共展示了SingleWindow::GetClientRect方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: progress
ProgressDialog::ProgressDialog(SingleWindow &parent,
const DialogLook &dialog_look,
const TCHAR *caption)
:WndForm(parent, dialog_look, parent.GetClientRect(), caption),
progress(GetClientAreaWindow())
{
}
示例2: GetDialogStyle
void
WidgetDialog::CreatePreliminary(SingleWindow &parent, const TCHAR *caption)
{
full = false;
auto_size = true;
WndForm::Create(parent, parent.GetClientRect(), caption, GetDialogStyle());
}
示例3: Create
void
WidgetDialog::CreateFull(SingleWindow &parent, const TCHAR *caption,
Widget *widget)
{
Create(parent, caption, parent.GetClientRect(), widget);
full = true;
}
示例4: buttons
void
ShowPortMonitor(SingleWindow &parent, const DialogLook &dialog_look,
const TerminalLook &terminal_look,
DeviceDescriptor &_device)
{
device = &_device;
/* create the dialog */
WindowStyle dialog_style;
dialog_style.Hide();
dialog_style.ControlParent();
TCHAR buffer[64];
StaticString<128> caption;
caption.Format(_T("%s: %s"), _("Port monitor"),
device->GetConfig().GetPortName(buffer, ARRAY_SIZE(buffer)));
dialog = new WndForm(parent, dialog_look, parent.GetClientRect(),
caption, dialog_style);
ContainerWindow &client_area = dialog->GetClientAreaWindow();
ButtonPanel buttons(client_area, dialog_look);
buttons.Add(_("Close"), OnCloseClicked);
buttons.Add(_("Clear"), OnClearClicked);
buttons.Add(_("Reconnect"), OnReconnectClicked);
buttons.Add(_("Pause"), OnPauseClicked);
const PixelRect rc = buttons.UpdateLayout();
/* create the terminal */
terminal = new TerminalWindow(terminal_look);
terminal->set(dialog->GetClientAreaWindow(), rc.left, rc.top,
rc.right - rc.left, rc.bottom - rc.top);
bridge = new PortTerminalBridge(*terminal);
device->SetMonitor(bridge);
paused = false;
/* run it */
dialog->ShowModal();
device->SetMonitor(NULL);
delete bridge;
delete terminal;
delete dialog;
}
示例5: form
bool
JobDialog(SingleWindow &parent, const DialogLook &dialog_look,
const TCHAR *caption,
Job &job, bool cancellable)
{
WindowStyle form_style;
form_style.Hide();
WndForm form(parent, dialog_look,
parent.GetClientRect(),
caption);
ContainerWindow &client_area = form.GetClientAreaWindow();
ProgressWindowOperation progress(client_area);
DialogJobThread thread(progress, job, form);
thread.Start();
JobCancelButton cancel_button(thread);
if (cancellable) {
ButtonWindowStyle style;
style.TabStop();
PixelRect rc = client_area.GetClientRect();
rc.right -= Layout::Scale(2);
rc.left = rc.right - Layout::Scale(78);
rc.top += Layout::Scale(2);
rc.bottom = rc.top + Layout::Scale(35);
cancel_button.set(client_area, _("Cancel"), rc,
style);
cancel_button.SetFont(*dialog_look.button.font);
cancel_button.BringToTop();
}
int result = form.ShowModal();
thread.Cancel();
thread.Join();
return result == mrOK;
}
示例6: button_style
void
TaskManagerDialog::Create(SingleWindow &parent)
{
WndForm::Create(parent, parent.GetClientRect(), _("Task Manager"));
task = protected_task_manager->TaskClone();
/* create the controls */
ContainerWindow &client_area = GetClientAreaWindow();
const TaskManagerLayout layout =
CalculateTaskManagerLayout(client_area.GetClientRect());
task_view_position = layout.task_view;
WindowStyle hidden;
hidden.Hide();
task_view = new TaskMapWindow(UIGlobals::GetMapLook(), *this, MAP);
task_view->Create(client_area, layout.task_view, hidden);
ButtonWindowStyle button_style(hidden);
button_style.TabStop();
target_button = new WndButton(client_area, GetLook(), _("Target"),
layout.target_button, button_style,
*this, TARGET);
WindowStyle tab_style;
tab_style.ControlParent();
tab_bar = new TabBarControl(client_area, GetLook(), layout.tab_bar,
tab_style, layout.vertical);
tab_bar->SetPageFlippedCallback([this]() { UpdateCaption(); });
/* create pages */
TaskPropertiesPanel *wProps =
new TaskPropertiesPanel(*this, &task, &modified);
TaskClosePanel *wClose = new TaskClosePanel(*this, &modified);
TaskCalculatorPanel *wCalculator =
new TaskCalculatorPanel(UIGlobals::GetDialogLook(), &modified);
wCalculator->SetTargetButton(target_button);
const MapLook &look = UIGlobals::GetMapLook();
Widget *wEdit = CreateTaskEditPanel(*this, look.task, look.airspace,
&task, &modified);
TaskMiscPanel *list_tab = new TaskMiscPanel(*this, &task, &modified);
const bool enable_icons =
CommonInterface::GetUISettings().dialog.tab_style
== DialogSettings::TabStyle::Icon;
const IconLook &icons = UIGlobals::GetIconLook();
const Bitmap *CalcIcon = enable_icons ? &icons.hBmpTabCalculator : NULL;
const Bitmap *TurnPointIcon = enable_icons ? &icons.hBmpTabTask : NULL;
const Bitmap *BrowseIcon = enable_icons ? &icons.hBmpTabWrench : NULL;
const Bitmap *PropertiesIcon = enable_icons ? &icons.hBmpTabSettings : NULL;
tab_bar->AddTab(wCalculator, _("Calculator"), CalcIcon);
if (layout.vertical) {
tab_bar->AddTab(wEdit, _("Turn Points"), TurnPointIcon);
TurnpointTab = 1;
tab_bar->AddTab(list_tab, _("Manage"), BrowseIcon);
tab_bar->AddTab(wProps, _("Rules"), PropertiesIcon);
PropertiesTab = 3;
tab_bar->AddTab(wClose, _("Close"));
tab_bar->SetCurrentPage(0);
} else {
tab_bar->AddTab(wClose, _("Close"));
tab_bar->AddTab(wEdit, _("Turn Points"), TurnPointIcon);
TurnpointTab = 2;
tab_bar->AddTab(list_tab, _("Manage"), BrowseIcon);
tab_bar->AddTab(wProps, _("Rules"), PropertiesIcon);
PropertiesTab = 4;
tab_bar->SetCurrentPage(0);
}
UpdateCaption();
}
示例7: 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.GetClientRect(),
_T("Quick Menu"), dialogStyle);
ContainerWindow &client_area = wf->GetClientAreaWindow();
PixelRect r = client_area.GetClientRect();
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->SetEnabled(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;
}
示例8: Create
void
WndForm::Create(SingleWindow &main_window,
const TCHAR *_caption, const WindowStyle style)
{
Create(main_window, main_window.GetClientRect(), _caption, style);
}
示例9: GetDialogStyle
void
WidgetDialog::CreatePreliminary(SingleWindow &parent, const TCHAR *caption)
{
WndForm::Create(parent, parent.GetClientRect(), caption, GetDialogStyle());
}
示例10: WndButton
bool
dlgConfigInfoboxesShowModal(SingleWindow &parent,
const DialogLook &dialog_look,
const InfoBoxLook &_look,
InfoBoxSettings::Geometry geometry,
InfoBoxSettings::Panel &data_r,
bool allow_name_change)
{
current_preview = 0;
look = &_look;
data = data_r;
PixelRect rc = parent.GetClientRect();
wf = new WndForm(parent, dialog_look, rc);
#ifdef _WIN32_WCE
if (IsAltair())
wf->SetKeyDownFunction(OnKeyDown);
#endif
ContainerWindow &client_area = wf->GetClientAreaWindow();
rc = client_area.GetClientRect();
rc.Grow(Layout::FastScale(-2));
info_box_layout = InfoBoxLayout::Calculate(rc, geometry);
WindowStyle preview_style;
preview_style.EnableDoubleClicks();
for (unsigned i = 0; i < info_box_layout.count; ++i) {
rc = info_box_layout.positions[i];
previews[i].Create(client_area, rc, preview_style);
}
rc = info_box_layout.remaining;
WindowStyle style;
style.TabStop();
PixelRect control_rc = rc;
control_rc.right -= Layout::FastScale(2);
const UPixelScalar height = Layout::Scale(22);
const UPixelScalar caption_width = Layout::Scale(60);
ButtonWindowStyle button_style;
button_style.TabStop();
control_rc.bottom = control_rc.top + height;
edit_name = new WndProperty(client_area, dialog_look, _("Name"),
control_rc, caption_width,
style);
DataFieldString *dfs = new DataFieldString(allow_name_change
? (const TCHAR *)data.name
: gettext(data.name));
edit_name->SetDataField(dfs);
edit_name->SetReadOnly(!allow_name_change);
control_rc.top = control_rc.bottom;
control_rc.bottom = control_rc.top + height;
edit_select = new WndProperty(client_area, dialog_look, _("InfoBox"),
control_rc, caption_width,
style);
DataFieldEnum *dfe = new DataFieldEnum(OnSelectAccess);
for (unsigned i = 0; i < info_box_layout.count; ++i) {
TCHAR label[32];
_stprintf(label, _T("%u"), i + 1);
dfe->addEnumText(label, i);
}
edit_select->SetDataField(dfe);
control_rc.top += height;
control_rc.bottom += height;
edit_content = new WndProperty(client_area, dialog_look, _("Content"),
control_rc, caption_width,
style);
dfe = new DataFieldEnum(OnContentAccess);
for (unsigned i = InfoBoxFactory::MIN_TYPE_VAL; i < InfoBoxFactory::NUM_TYPES; i++) {
const TCHAR *name = InfoBoxFactory::GetName((InfoBoxFactory::Type) i);
const TCHAR *desc = InfoBoxFactory::GetDescription((InfoBoxFactory::Type) i);
if (name != NULL)
dfe->addEnumText(gettext(name), i, desc != NULL ? gettext(desc) : NULL);
}
dfe->EnableItemHelp(true);
dfe->Sort(0);
edit_content->SetDataField(dfe);
control_rc.top += height;
control_rc.bottom += height * 5;
edit_content_description = new WndFrame(client_area, dialog_look,
control_rc, style);
RefreshEditContent();
const UPixelScalar button_width = Layout::Scale(60);
//.........这里部分代码省略.........