YSTest: ComboList.cpp 文件参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 文件列表
- 文件成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
命名空间 | 函数 | 变量
ComboList.cpp 文件参考
UI

样式相关的图形用户界面组合列表控件。 更多...

`#include "YSLib/UI/ComboList.h"`
`#include "YSLib/UI/ystyle.h"`
`#include "YSLib/UI/ypanel.h"`
ComboList.cpp 的引用(Include)关系图:

浏览源代码.

## 命名空间

namespace | YSL_BEGIN

## 函数

const SDst | YSL_BEGIN::defMinScrollBarWidth (16)
| 默认最小滚动条宽。
void | YSL_BEGIN::Detach (IWidget *pCon, IWidget &wgt)
| 从容器分离指定部件并无效化部件区域。
| yunseq (Margin.Left=4, Margin.Right=18, HorizontalAlignment=TextAlignment::Left, lbContent.GetView().DependencyPtr=this, FetchEvent< TouchDown >(*this)+=[this](TouchEventArgs &&e){if(!FetchContainerPtr(lbContent)){Point pt;if(const auto p=dynamic_cast< Panel * >(&FetchTopLevel(*this, pt))){const SDst h0(GetSizeOf(*p).Height);const SDst h1(max< SPos >(0, pt.Y)), h2(max< SPos >(0, h0-pt.Y-GetHeight()));if(IsInOpenInterval(h1, h0)||IsInOpenInterval(h2, h0)){lbContent.ResizeForPreferred(Size(0, max(h1, h2)), Size(GetWidth(), 0));const SDst h(lbContent.GetHeight());pt.Y+=h2< h?-h:GetHeight();SetLocationOf(lbContent, pt);lbContent.AdjustViewLength();{const auto idx(lbContent.Find(Text));if(idx+1!=0) lbContent.SetSelected(idx);else lbContent.ClearSelected();}p->Add(lbContent, 224U);RequestFocus(lbContent);e.Handled=true;}}}}, FetchEvent< LostFocus >(*this)+=detacher, FetchEvent< LostFocus >(lbContent)+=detacher, lbContent.GetConfirmed()+=[this](IndexEventArgs &&e){YAssert(e.Value< lbContent.GetList().size(),"Invalid index found.");Text=lbContent.GetList()[e.Value];Invalidate(*this), DetachTopWidget();})

## 变量

| h

## 详细描述

样式相关的图形用户界面组合列表控件。

版本
  r3053

作者
  FrankHBfrank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 282

创建时间:
  2011-03-07 20:33:05 +0800

修改时间:
  2013-04-15 08:46 +0800

文本编码:
  UTF-8

模块名称:
  YSLib::UI::ComboList

在文件 ComboList.cpp 中定义.

## 函数说明

yunseq | ( | Margin. | Left = `4`,
|  | Margin. | Right = `18`,
|  | HorizontalAlignment | = `TextAlignment::Left`,
|  | lbContent.GetView(). | DependencyPtr = `this`,
|  | FetchEvent< TouchDown > *this+ | = `[this](TouchEventArgs &&e){if(!FetchContainerPtr(lbContent)){Point pt;if(const auto p=dynamic_cast< Panel * >(&FetchTopLevel(*this, pt))){const SDst h0(GetSizeOf(*p).Height);const SDst h1(max< SPos >(0, pt.Y)), h2(max< SPos >(0, h0-pt.Y-GetHeight()));if(IsInOpenInterval(h1, h0)||IsInOpenInterval(h2, h0)){lbContent.ResizeForPreferred(Size(0, max(h1, h2)), Size(GetWidth(), 0));const SDst h(lbContent.GetHeight());pt.Y+=h2< h?-h:GetHeight();SetLocationOf(lbContent, pt);lbContent.AdjustViewLength();{const auto idx(lbContent.Find(Text));if(idx+1!=0) lbContent.SetSelected(idx);else lbContent.ClearSelected();}p->Add(lbContent, 224U);RequestFocus(lbContent);e.Handled=true;}}}}`,
|  | FetchEvent< LostFocus > *this+ | = `detacher`,
|  | FetchEvent< LostFocus >(lbContent)+ | = `detacher`,
|  | lbContent.GetConfirmed()+ | = `[this](IndexEventArgs &&e){YAssert(e.Value< lbContent.GetList().size(),"Invalid index found.");Text=lbContent.GetList()[e.Value];Invalidate(*this), DetachTopWidget();}`
| ) |  |

参考自 DualScreenReader::AdjustMargins(),BlitBounds(),bookmarks(),platform_ex::ClearKeyStates(),YSLib::Drawing::TextRegion::ClearLine(),YSLib::UI::Control::ControlEventMap::ControlEventMap(),CopySliceFrom(),DecorateAsCloseButton(),YSLib::UI::DialogPanel::DialogPanel(),YSL_BEGIN::Diminish(),DrawCircle(),YSLib::UI::TextList::DrawItems(),YSLib::UI::MLabel::DrawText(),DrawThumbBackground(),DSApplication::DSApplication(),CHRLib::FillByte(),GetDesktopDownHandle(),HaveSameStems(),large_delta(),DualScreenReader::LoadText(),main(),ystdex::ntctscmp(),ystdex::ntctsicmp(),ShlDS::OnInput(),ystdex::openmode_conv(),YSLib::Text::TextFileBuffer::Iterator::operator++(),ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator++(),YSLib::Drawing::Padding::operator+=(),YSLib::Drawing::GBinaryGroup< SPos >::operator+=(),ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator+=(),ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator--(),YSLib::Drawing::GBinaryGroup< SPos >::operator-=(),ystdex::pair_iterator< _tMaster, _tSlave, _tTraits >::operator-=(),SettingPanel::operator<<(),YSLib::Drawing::Rect::operator=(),SettingPanel::operator>>(),LexicalAnalyzer::PushEscape(),YSL_BEGIN::RectDrawButton(),YSLib::UI::ProgressBar::Refresh(),HexViewArea::Refresh(),YSLib::UI::MTextList::RefreshTextState(),YSLib::UI::GUIState::Reset(),YSLib::UI::GSequenceViewer< ListType >::Reset(),YSLib::UI::ListBox::ResizeForPreferred(),ScrDraw(),YSLib::Drawing::TextRegion::Scroll(),session_ptr(),ColorBox::SetColor(),YSLib::UI::GSequenceViewer< ListType >::SetContainer(),DualScreenReader::SetLineGap(),YSLib::Drawing::BitmapBuffer::SetSize(),YSLib::Drawing::Font::SetSize(),ShlTextReader::SettingSession::SettingSession(),smooth_scroll_duration(),SplitPath(),platform::StartTicks(),TransformConfiguration(),YSLib::Drawing::Typeface::Typeface(),DualScreenReader::UnloadText(),ystdex::unseq_apply(),InputManager::Update(),ShlTextReader::UpdateButtons(),ReaderBox::UpdateData(),TextInfoBox::UpdateData(),HexViewArea::UpdateData(),YSLib::UI::View::View() , 以及 platform_ex::WriteCursor().

## 变量说明

h

初始值:
{
const auto detacher([this](UIEventArgs&&){
DetachTopWidget();
})

在文件 ComboList.cpp 第 144 行定义.

参考自 YSLib::Activate(),YSLib::GEvent< _tRet(_tParams...)>::Add(),YSLib::AddUnique(),YSLib::UI::TextList::AdjustViewLength(),YSL_BEGIN::change_hue(),YSLib::Drawing::TextRenderer::ClearLine(),YSLib::Drawing::TextRegion::ClearTextLine(),ColorToHSL(),YSLib::GEvent< _tRet(_tParams...)>::Contains(),YSLib::Shells::Shell::DefShlProc(),YSLib::UI::TextList::DrawItems(),DualScreenReader::Execute(),FetchImage(),YSLib::GEvent< _tRet(_tParams...)>::GEvent(),HandleToReference(),YSLib::GEvent< _tRet(_tParams...)>::operator+=(),YSLib::GEvent< _tRet(_tParams...)>::operator-=(),ystdex::any_ops::pointer_holder< _type >::pointer_holder(),YSLib::PointerHolder< _type >::PointerHolder(),HexViewArea::Refresh(),DualScreenReader::ScrollByPixel(),YSLib::UI::MTextList::SetList(),YSLib::Drawing::BitmapBufferEx::SetSize(),DualScreenReader::Stretch(),YSLib::Application::Switch() , 以及 HexViewArea::UpdateData().