Contrôle de liste et contrôle ListContainerElement dans DuiLib

avant-propos

Dans Duilib, le contrôle List est utilisé pour afficher une liste à défilement vertical, et le contrôle ListContainerElement est utilisé comme chaque élément du contrôle List. Voici comment les utiliser en gros.

1. Créer un contrôle de liste

CListUI* pList = new CListUI;
pList->Create(pParent, _T("list"), UI_WNDSTYLE_CHILD | UI_WNDSTYLE_VISIBLE, 0);

insérez la description de l'image ici

2. Créez un élément ListContainerElement et ajoutez-le au contrôle List, où ListContainerElement est représenté par xml

insérez la description de l'image ici

CListContainerElementUI* pElement = new CListContainerElementUI;
pElement->SetFixedHeight(50);  // 设置元素的固定高度
pElement->SetUserData(userData);  // 可以使用 SetUserData 存储自定义数据

pList->Add(pElement);  // 将元素添加到 List 控件中

3. Ajouter des contrôles enfants à l'élément ListContainerElement

// 创建子控件
CLabelUI* pLabel = new CLabelUI;
pLabel->SetText(_T("Item Text"));
pLabel->SetTextColor(0xFF000000);
pLabel->SetBkColor(0xFFFFFFFF);

// 将子控件添加到 ListContainerElement 元素中
pElement->Add(pLabel);

Grâce aux étapes ci-dessus, vous pouvez créer un contrôle List qui contient plusieurs éléments ListContainerElement et ajouter différents sous-contrôles à chaque élément pour afficher le contenu de la liste. Vous pouvez définir la hauteur, le style, les données, etc. de chaque élément en fonction de vos besoins.

1. Contrôle de liste

Dans Duilib, ListContainerElement est utilisé comme conteneur pour chaque élément du contrôle List . Son rôle est d'héberger et de gérer les contrôles enfants de chaque élément de la liste.

Le contrôle List est une liste à défilement vertical et chaque élément de liste est représenté par un élément ListContainerElement . ListContainerElement peut contenir plusieurs sous-contrôles pour afficher et présenter le contenu des éléments de liste.

Avec ListContainerElement , vous pouvez ajouter différents types de sous-contrôles, tels que des étiquettes de texte, des images, des boutons, etc., à chaque élément de liste pour créer des mises en page de liste riches et diverses. Vous pouvez personnaliser l'apparence et le comportement interactif de chaque élément de la liste pour répondre à une variété de besoins de liste différents.

ListContainerElement fournit également certaines méthodes et propriétés couramment utilisées, telles que SetFixedHeight() peut définir la hauteur fixe des éléments de la liste, SetUserData() peut stocker des données personnalisées, etc.

En bref, ListContainerElement joue le rôle d'héberger et de gérer chaque sous-contrôle d'élément de liste dans le contrôle List de Duilib , vous aidant à créer des mises en page de liste flexibles et personnalisables.

2. Contrôle ListContainerElement

Dans Duilib , ListContainerElement est utilisé comme conteneur pour chaque élément du contrôle List . Sa signification est un contrôle enfant utilisé pour héberger et gérer chaque élément de la liste .
insérez la description de l'image ici

ListContainerElement peut être considéré comme un conteneur contenant des contrôles enfants, qui est l'un des contrôles enfants du contrôle List. Chaque objet ListContainerElement correspond àun élément de liste dans le contrôle List et est utilisé pour afficher et présenter le contenu de l'élément de liste.
insérez la description de l'image ici

  • Créez d'abord le champ Liste :
    insérez la description de l'image ici
  • Créez un objet de contrôle pControl via la méthode Create de la classe CDialogBuilder . Ici, vous utilisez deux méthodes différentes pour créer des contrôles.
    insérez la description de l'image ici
  • Si builder_.GetMarkup()->IsValid() renvoie true, cela signifie que builder_ a chargé des données de balisage XML valides, vous pouvez alors utiliser directement builder_ pour créer des contrôles. Sinon, si builder_.GetMarkup()->IsValid() renvoie false, cela signifie que builder_ n'a pas chargé de données de balisage XML valides, vous devez donc utiliser une autre méthode Create de builder_ pour créer le contrôle à partir du fichier XML spécifié.
  • Ici, vous transmettez un fichier XML appelé "list_item.xml" à créer. Ensuite, vous appelez list_ui_->Add(pControl) pour ajouter l'objet de contrôle créé à list_ui_.
  • Il convient de noter qu'avant d'ajouter des contrôles, vous devez vous assurer que list_ui_ a été créé correctement et que pControl n'est pas nullptr.

Je suppose que tu aimes

Origine blog.csdn.net/qq_44918090/article/details/131701493
conseillé
Classement