duilib 滑塊移動消息實時獲取

我的實現方法

查找到Slider控件,設置控件的 m_bImmMode 爲true
處理Notify消息中 valuechanged 消息
具體剪輯代碼如下

CSliderUI* sld = static_cast<CSliderUI*>(m_PaintManager.FindControl(_T("AdjustColorSliderR")));
if (sld) {
    sld->SetImmMode(true);
}


if (msg.sType == DUI_MSGTYPE_VALUECHANGED) {
            DUITRACE(_T("%s"), msg.sType);
            return;
}

這裏寫圖片描述

網上通過自定義控件的方式實現

兩種方法都可以實現,不存在優劣,各自的方法可以實現自己技術的修煉,不過我是各傾向於少寫代碼,實現儘可能重用。

列表框單選按鈕COptionUI,按鈕定義爲 group=”switch” 庫會自動將其它開關設置爲關,只設置一個爲開

<?xml version="1.0" encoding="UTF-8"?>
<Window>
  <ListContainerElement>
    <HorizontalLayout  height="62"  >

      <VerticalLayout >
        <HorizontalLayout>
          <Label name="nickname" bordersize="0" width="260" textcolor="#FF000000" disabledtextcolor="#FF808080" />
          <Label name="description" bordersize="0" textcolor="#FF808080" />
        </HorizontalLayout>
      </VerticalLayout>
       <VerticalLayout name="logo_container" width="54" padding="30,11,10,11">
        <option name="logo" group="switch" width="54" height="22" normalimage="switch_off.png"  selectedimage="switch_on.png"/>
      </VerticalLayout>
      <VerticalLayout name="operation" height="16" visible="false">
      </VerticalLayout >
    </HorizontalLayout>
  </ListContainerElement>
</Window>

duilib深度解析

duilib 窗口禁止最大化

duilib窗口拖動功能

duilib不規則窗口

duilib常用屬性

發佈了121 篇原創文章 · 獲贊 7 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章