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


C++ WidgetPtr::CreateWindow方法代码示例

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


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

示例1: RealizeControl

void Canvas::RealizeControl( Inspect::Control* control )
{
    HELIUM_ASSERT( IsMainThread() );

    if ( this != control )
    {
        WidgetPtr widget;

        if ( control->GetMetaClass() == Reflect::GetMetaClass< Container >()
            && HasFlags<Inspect::UIHints>( Reflect::AssertCast< Container >( control )->GetUIHints(), Inspect::UIHint::Popup ) )
        {
            // Create a drawerWidget
            widget = new DrawerWidget( Reflect::AssertCast< Container >( control ) );
        }
        else
        {
            WidgetCreators::const_iterator found = m_WidgetCreators.find( control->GetMetaClass() );
            HELIUM_ASSERT( found != m_WidgetCreators.end() );
            widget = found->second( control );
        }
        HELIUM_ASSERT( widget );

        // associate the widget with the control
        control->SetWidget( widget );

        // find the window pointer for the parent window
        Inspect::Container* parent = control->GetParent();
        HELIUM_ASSERT( parent );
        Widget* parentWidget = Reflect::AssertCast< Widget >( parent->GetWidget() );
        HELIUM_ASSERT( parentWidget );
        wxWindow* parentWindow = parentWidget->GetWindow();
        HELIUM_ASSERT( parentWindow );

        // this will cause the widget to allocate its corresponding window (since it has the parent pointer)
        widget->CreateWindow( parentWindow );

        DrawerWidget* drawerWidget = Reflect::SafeCast< DrawerWidget >( widget );
        if ( drawerWidget &&  GetDrawerManager() )
        {
            GetDrawerManager()->AddDrawer( drawerWidget->GetDrawer() );
        }
    }
}
开发者ID:kevindqc,项目名称:Helium,代码行数:43,代码来源:wxCanvas.cpp


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