当前位置: 首页>>代码示例>>C++>>正文


C++ WindowPtr::getClientSize方法代码示例

本文整理汇总了C++中WindowPtr::getClientSize方法的典型用法代码示例。如果您正苦于以下问题:C++ WindowPtr::getClientSize方法的具体用法?C++ WindowPtr::getClientSize怎么用?C++ WindowPtr::getClientSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WindowPtr的用法示例。


在下文中一共展示了WindowPtr::getClientSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: create


//.........这里部分代码省略.........

		auto userMessagesW = cur->addChild(CheckBox::Seed(_T("Add user messages")));
		userMessagesW->setChecked(true);
		userMessagesW->onClicked([this, userMessagesW] { userMessages = userMessagesW->getChecked(); });

		{
			ComboBox::Seed seed;
			seed.style |= CBS_DROPDOWNLIST | CBS_SORT;
			filterW = cur->addChild(seed);
			initFilter();
			filterW->onSelectionChanged([this] {
				auto str = filterW->getText();
				if(str == noFilter) {
					filterSel.clear();
				} else {
					filterSel = move(str);
				}
			});
		}

		{
			auto cur2 = cur->addChild(GroupBox::Seed(_T("Regex filter")))->addChild(Grid::Seed(1, 2));
			cur2->column(0).size = 250;

			TextBox::Seed seed;
			seed.style |= ES_AUTOHSCROLL;
			auto box = cur2->addChild(seed);

			Button::Seed bs(_T("Apply"));
			bs.padding.x += 8;
			cur2->addChild(bs)->onClicked([this, box] {
				regex = "";
				try {
					regex.assign(Util::fromT(box->getText()));
				} catch(const std::runtime_error&) {
					dwt::MessageBox(window).show(_T("Invalid regular expression"), window->getText(),
						dwt::MessageBox::BOX_OK, dwt::MessageBox::BOX_ICONEXCLAMATION);
				}
			});
		}

		{
			auto cur2 = cur->addChild(GroupBox::Seed(_T("Log to a file")))->addChild(Grid::Seed(1, 2));
			cur2->column(0).size = 250;

			log = Config::getConfig("Log");

			TextBox::Seed seed(Util::toT(log));
			seed.style |= ES_AUTOHSCROLL;
			auto box = cur2->addChild(seed);
			box->onUpdated([this, box] { log = Util::fromT(box->getText()); Config::setConfig("Log", log); });

			Button::Seed bs(_T("Browse"));
			bs.padding.x += 8;
			cur2->addChild(bs)->onClicked([this, box] {
				auto file = Util::toT(log);
				if(SaveDialog(window).open(file)) {
					log = Util::fromT(file);
					Config::setConfig("Log", log);
					box->setText(file);
				}
			});
		}
	}

	{
		auto cur = grid->addChild(Grid::Seed(1, 5));
		cur->column(4).mode = GridInfo::FILL;
		cur->column(4).align = GridInfo::BOTTOM_RIGHT;
		cur->setSpacing(30);

		Button::Seed bs;
		bs.padding.x += 20;

		bs.caption = _T("Copy selected messages");
		cur->addChild(bs)->onClicked([this] { copy(); });

		auto scrollW = cur->addChild(CheckBox::Seed(_T("Auto-scroll")));
		scrollW->setChecked(true);
		scrollW->onClicked([this, scrollW] { scroll = scrollW->getChecked(); });

		bs.caption = _T("Clear the list");
		cur->addChild(bs)->onClicked([this] { clear(); });

		auto onTop = cur->addChild(CheckBox::Seed(_T("Keep this window on top")));
		onTop->onClicked([onTop] { window->setZOrder(onTop->getChecked() ? HWND_TOPMOST : HWND_NOTOPMOST); });

		bs.caption = _T("Close");
		bs.style |= BS_DEFPUSHBUTTON;
		bs.padding.x += 20;
		cur->addChild(bs)->onClicked([] { window->close(true); });
	}

	grid->resize(window->getClientSize());
	window->onSized([grid](const SizedEvent& e) { grid->resize(e.size); });

	table->setFocus();

	window->setTimer([this]() -> bool { timer(); return true; }, 500);
}
开发者ID:iceman50,项目名称:dc-dev-plugin,代码行数:101,代码来源:GUI.cpp


注:本文中的WindowPtr::getClientSize方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。