云信duilib 学习一 VListBox 虚拟列表

简单示例:



  
    
    
      
      

 

 

    
    
    

 

代码:
 

void BasicForm::InitWindow()
{

	/* Initialize ListBox data */
	ui::ListBox* list = dynamic_cast(FindControl(L"list"));
	for (auto i = 0; i < 30; i++)
	{
		ui::ListContainerElement* element = new ui::ListContainerElement;
		element->SetText(nbase::StringPrintf(L"ListElement %d", i));
		element->SetClass(L"listitem");
	//	element->SetFixedHeight(20);
		list->Add(element);
	}

}

 

云信duilib 学习一 VListBox 虚拟列表_第1张图片

 

扩展

列表现一般是比较丰富的,这个只是最基本的文字样式,下面将其扩展

主要思想是 单独写一个ListContainerElement 布局文件




         
        
            
                 
                 
            
            
                
                     
                     
                      

                              
                
                    
                
                
                    
                    
                        
                        
                    
                    
                        
                    
                

                
                 

 

主窗口还是与之前一样

云信duilib 学习一 VListBox 虚拟列表_第2张图片

 

代码实现,加载这个自定义列表文件 ,

	/* Initialize ListBox data */
	ui::ListBox* list = dynamic_cast(FindControl(L"list"));
	for (auto i = 0; i < 30; i++)
	{
		//添加列表中
		ui::ListContainerElement* element = dynamic_cast(ui::GlobalManager::CreateBoxWithCache(L"basic/my_list_item.xml"));
		
		list->Add(element);
	}

就可实现 丰富的自定义列表项

 

云信duilib 学习一 VListBox 虚拟列表_第3张图片

 

你可能感兴趣的:(duilib界面,网易云信开发)