duilib学习------网易云信combo控件

258 篇文章 9 订阅
24 篇文章 5 订阅

xml中加人:

 

<!--combobox-->

<Combo class="list" name="combo" height="30" margin="0,12,0,0" padding="6" bkimage="file='../public/combo/normal.png' corner='5,5,30,5'"/>

 

(1)BasicForm.h

bool OnComboItemSelected(ui::EventArgs* msg);

   ui::Combo    *pcombo_;

 

(2)BasicForm.cpp

bool BasicForm::OnComboItemSelected(ui::EventArgs* msg)
{
    if (pcombo_)
    {
        std::wstring str = std::wstring(L"选择的文本:") + pcombo_->GetText() + std::wstring(L"\n\n");
        LPCWSTR result = str.c_str();
        OutputDebugString(result);

        str = std::wstring(L"当前索引:") + nbase::StringPrintf(L"%d\n\n", pcombo_->GetCurSel());
        result = str.c_str();
        OutputDebugString(result);
    }

    return false;
}

void BasicForm::InitWindow()
{
    pcombo_ = dynamic_cast<ui::Combo*>(FindControl(L"combo"));
    // 增加下拉选项
    if (pcombo_)
    {
        for (auto index = 0; index < 5; ++index)
        {
            ui::ListContainerElement* pelement = new(std::nothrow) ui::ListContainerElement;
            if (pelement)
            {
                // 设置属性
                pelement->SetClass(L"listitem");
                pelement->SetFixedHeight(30);
                pelement->SetBkColor(L"white");
                pelement->SetTextPadding({ 6, 0, 6, 0 });
                pelement->SetText(nbase::StringPrintf(L"index %d", index));

                pcombo_->Add(pelement);
            }
            else
            {
                ;
            }
        }

        // 添加结束,设置默认选择第一项
        int count = pcombo_->GetCount();
        if (0 < count)
            pcombo_->SelectItem(0);

        // 设置向上弹出下拉选项
        pcombo_->SetPopupTop(true);

        // 设置监听下拉选项被监听
        pcombo_->AttachSelect(nbase::Bind(&BasicForm::OnComboItemSelected, this, std::placeholders::_1));
    }

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
duilibtable是基于duilib框架和云SDK而创建的一个表格控件,用于在应用程序中展示和编辑表格数据。 duilib是一个开源的C++图形界面库,它提供了丰富的UI控件和界面布局管理功能,使开发者可以快速、灵活地构建界面。而云SDK是网易公司开发的一套实时音视频通解决方案,它提供了丰富的音视频通功能,包括语音通话、视频通话、实时消息等。 duilibtable结合了duilib的UI控件和云的实时消息功能,使得开发者可以在应用程序中展示表格数据,并且可以通过实时消息功能实现对表格数据的实时更新和同步。 duilibtable具有以下特点和优势: 1. 界面美观:duilib框架提供了丰富的UI控件和界面布局管理功能,开发者可以自由设计和定制表格的外观和样式,使得表格界面更加美观和符合用户需求。 2. 功能丰富:duilibtable支持表格的显示、编辑、排序、过滤等常用功能,方便开发者对表格数据进行操作和管理。同时,云SDK提供的实时消息功能可以实现对表格数据的实时更新和同步,方便多人协作和实时数据交互。 3. 扩展性强:duilibtable是基于duilib框架和云SDK的开发,开发者可以自由扩展和定制该控件的功能和行为,满足不同应用场景的需求。 总之,duilibtable是一个功能强大、界面美观的表格控件,可以方便地展示和编辑表格数据,并通过云SDK实现实时数据的更新和同步。它的出现为表格数据展示和管理提供了一种简单、高效的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值