├── .gitignore ├── DuiLib ├── Control │ ├── UIActiveX.cpp │ ├── UIActiveX.h │ ├── UIButton.cpp │ ├── UIButton.h │ ├── UICheckBox.cpp │ ├── UICheckBox.h │ ├── UICombo.cpp │ ├── UICombo.h │ ├── UIDateTime.cpp │ ├── UIDateTime.h │ ├── UIEdit.cpp │ ├── UIEdit.h │ ├── UIFlash.cpp │ ├── UIFlash.h │ ├── UIGifAnim.cpp │ ├── UIGifAnim.h │ ├── UILabel.cpp │ ├── UILabel.h │ ├── UIList.cpp │ ├── UIList.h │ ├── UIMenu.cpp │ ├── UIMenu.h │ ├── UIOption.cpp │ ├── UIOption.h │ ├── UIProgress.cpp │ ├── UIProgress.h │ ├── UIRichEdit.cpp │ ├── UIRichEdit.h │ ├── UIScrollBar.cpp │ ├── UIScrollBar.h │ ├── UISlider.cpp │ ├── UISlider.h │ ├── UIText.cpp │ ├── UIText.h │ ├── UITreeView.cpp │ ├── UITreeView.h │ ├── UIWebBrowser.cpp │ └── UIWebBrowser.h ├── Core │ ├── UIBase.cpp │ ├── UIBase.h │ ├── UIContainer.cpp │ ├── UIContainer.h │ ├── UIControl.cpp │ ├── UIControl.h │ ├── UIDefine.h │ ├── UIDlgBuilder.cpp │ ├── UIDlgBuilder.h │ ├── UIImageAttribute.cpp │ ├── UIImageAttribute.h │ ├── UIManager.cpp │ ├── UIManager.h │ ├── UIMarkup.cpp │ ├── UIMarkup.h │ ├── UIRender.cpp │ └── UIRender.h ├── DuiLib.vcproj ├── DuiLib.vcxproj ├── DuiLib.vcxproj.filters ├── Layout │ ├── UIChildLayout.cpp │ ├── UIChildLayout.h │ ├── UIHorizontalLayout.cpp │ ├── UIHorizontalLayout.h │ ├── UITabLayout.cpp │ ├── UITabLayout.h │ ├── UITileLayout.cpp │ ├── UITileLayout.h │ ├── UIVerticalLayout.cpp │ └── UIVerticalLayout.h ├── StdAfx.cpp ├── StdAfx.h ├── UIlib.cpp ├── UIlib.h └── Utils │ ├── Flash11.tlb │ ├── FlashEventHandler.h │ ├── ThirdParty.cpp │ ├── ThirdParty.h │ ├── UIDelegate.cpp │ ├── UIDelegate.h │ ├── UIShadow.cpp │ ├── UIShadow.h │ ├── Utils.cpp │ ├── Utils.h │ ├── WebBrowserEventHandler.h │ ├── WinImplBase.cpp │ ├── WinImplBase.h │ ├── XUnzip.cpp │ ├── downloadmgr.h │ ├── flash11.tlh │ ├── stb_image.c │ └── stb_image.h ├── DuiLib_vs2008.sln ├── DuiLib_vs2010.sln ├── Duilib更新日志.txt ├── ReadMe.md ├── directui license.txt ├── doc ├── 2. duilib进阶教程.chm ├── 3. 仿迅雷播放器教程.chm ├── CActiveXUI类结构图.jpg ├── DUILIB入门简明教程.chm ├── Duilib入门文档.doc ├── Duilib源码注释.doc ├── duilib.jpg ├── 图解corner属性.png ├── 教程.txt ├── 绘制动态滚动条.txt └── 解决Richedit和容器滚动条不同步问题.txt ├── duilib license.txt ├── 各个Demo ├── Redrain仿酷狗播放器源码,无素材 │ └── Redrain仿酷狗播放器 │ │ ├── UiLib │ │ ├── Control │ │ │ ├── UIActiveX.cpp │ │ │ ├── UIActiveX.h │ │ │ ├── UIAnimation.cpp │ │ │ ├── UIAnimation.h │ │ │ ├── UIButton.cpp │ │ │ ├── UIButton.h │ │ │ ├── UIChartView.cpp │ │ │ ├── UIChartView.h │ │ │ ├── UICheckBox.cpp │ │ │ ├── UICheckBox.h │ │ │ ├── UICombo.cpp │ │ │ ├── UICombo.h │ │ │ ├── UIComboBox.cpp │ │ │ ├── UIComboBox.h │ │ │ ├── UIDateTime.cpp │ │ │ ├── UIDateTime.h │ │ │ ├── UIEdit.cpp │ │ │ ├── UIEdit.h │ │ │ ├── UIFadeButton.cpp │ │ │ ├── UIFadeButton.h │ │ │ ├── UIFlash.cpp │ │ │ ├── UIFlash.h │ │ │ ├── UIGifAnim.cpp │ │ │ ├── UIGifAnim.h │ │ │ ├── UILabel bak.cpp │ │ │ ├── UILabel bak.h │ │ │ ├── UILabel.cpp │ │ │ ├── UILabel.h │ │ │ ├── UIList.cpp │ │ │ ├── UIList.h │ │ │ ├── UIOption.cpp │ │ │ ├── UIOption.h │ │ │ ├── UIProgress.cpp │ │ │ ├── UIProgress.h │ │ │ ├── UIRichEdit.cpp │ │ │ ├── UIRichEdit.h │ │ │ ├── UIScrollBar.cpp │ │ │ ├── UIScrollBar.h │ │ │ ├── UISlider.cpp │ │ │ ├── UISlider.h │ │ │ ├── UIText.cpp │ │ │ ├── UIText.h │ │ │ ├── UITreeView.cpp │ │ │ ├── UITreeView.h │ │ │ ├── UIWebBrowser.cpp │ │ │ └── UIWebBrowser.h │ │ ├── Core │ │ │ ├── UIBase.cpp │ │ │ ├── UIBase.h │ │ │ ├── UIContainer.cpp │ │ │ ├── UIContainer.h │ │ │ ├── UIControl.cpp │ │ │ ├── UIControl.h │ │ │ ├── UIDefine.h │ │ │ ├── UIDlgBuilder.cpp │ │ │ ├── UIDlgBuilder.h │ │ │ ├── UIDxAnimation.cpp │ │ │ ├── UIDxAnimation.h │ │ │ ├── UIManager - 副本.cpp │ │ │ ├── UIManager - 副本.h │ │ │ ├── UIManager.cpp │ │ │ ├── UIManager.h │ │ │ ├── UIMarkup.cpp │ │ │ ├── UIMarkup.h │ │ │ ├── UIRender.cpp │ │ │ ├── UIRender.h │ │ │ ├── UITimer.cpp │ │ │ └── UITimer.h │ │ ├── Layout │ │ │ ├── UIAnimationTabLayout.cpp │ │ │ ├── UIAnimationTabLayout.h │ │ │ ├── UIChildLayout.cpp │ │ │ ├── UIChildLayout.h │ │ │ ├── UIHorizontalLayout.cpp │ │ │ ├── UIHorizontalLayout.h │ │ │ ├── UITabLayout.cpp │ │ │ ├── UITabLayout.h │ │ │ ├── UITileLayout.cpp │ │ │ ├── UITileLayout.h │ │ │ ├── UIVerticalLayout.cpp │ │ │ └── UIVerticalLayout.h │ │ ├── StdAfx.cpp │ │ ├── StdAfx.h │ │ ├── UIlib.cpp │ │ ├── UIlib.h │ │ ├── UiLib.vcproj │ │ ├── UiLib.vcproj.Panke-PC.Administrator.user │ │ ├── UiLib.vcxproj │ │ ├── UiLib.vcxproj.filters │ │ ├── UiLib.vcxproj.user │ │ ├── Utils │ │ │ ├── DuiAutoComplete.cpp │ │ │ ├── DuiAutoComplete.h │ │ │ ├── DuiPointer.h │ │ │ ├── DuiTrayIcon.cpp │ │ │ ├── DuiTrayIcon.h │ │ │ ├── FlashEventHandler.h │ │ │ ├── IWindowBase.cpp │ │ │ ├── IWindowBase.h │ │ │ ├── Internal.h │ │ │ ├── UIDelegate.cpp │ │ │ ├── UIDelegate.h │ │ │ ├── Utils.cpp │ │ │ ├── Utils.h │ │ │ ├── WebBrowserEventHandler.h │ │ │ ├── WinImplBase.cpp │ │ │ ├── WinImplBase.h │ │ │ ├── XUnzip.cpp │ │ │ ├── downloadmgr.h │ │ │ ├── flash11.tlh │ │ │ └── stb_image.c │ │ └── 属性列表.xml │ │ ├── cloneKuGou.sln │ │ ├── cloneKuGou.suo │ │ ├── cloneKuGou.v11.suo │ │ ├── cloneKuGou │ │ ├── ControlNames.h │ │ ├── Controls │ │ │ ├── PopupWidget.cpp │ │ │ ├── PopupWidget.h │ │ │ ├── SkinPickerPictureItem.cpp │ │ │ ├── SkinPickerPictureItem.h │ │ │ ├── UIColorPalette.cpp │ │ │ ├── UIColorPalette.h │ │ │ ├── UIHotButton.cpp │ │ │ ├── UIHotButton.h │ │ │ ├── UIMenu.cpp │ │ │ ├── UIMenu.h │ │ │ ├── UIMusicList.cpp │ │ │ ├── UIMusicList.h │ │ │ ├── UIRadioList.cpp │ │ │ └── UIRadioList.h │ │ ├── Discard │ │ │ ├── CreateControlEx.h │ │ │ └── CustomWebEventHandler.h │ │ ├── DropTargetEx.cpp │ │ ├── DropTargetEx.h │ │ ├── Duilib.aps │ │ ├── Duilib.rc │ │ ├── Duilib.res │ │ ├── FrameWnd.cpp │ │ ├── FrameWnd.h │ │ ├── MessageDialog.cpp │ │ ├── MessageDialog.h │ │ ├── MusicInfoDialog.cpp │ │ ├── MusicInfoDialog.h │ │ ├── PalletDialog.cpp │ │ ├── PalletDialog.h │ │ ├── SettingDialog.cpp │ │ ├── SettingDialog.h │ │ ├── SkinPickerDialog.cpp │ │ ├── SkinPickerDialog.h │ │ ├── Utils │ │ │ ├── FileUtil.cpp │ │ │ ├── FileUtil.h │ │ │ ├── WndShadow.cpp │ │ │ └── WndShadow.h │ │ ├── cloneKuGou.filters │ │ ├── cloneKuGou.user │ │ ├── cloneKuGou.vcproj │ │ ├── cloneKuGou.vcxproj │ │ ├── cloneKuGou.vcxproj.filters │ │ ├── duilib.h │ │ ├── duilib.ico │ │ ├── ico16.ico │ │ ├── ico24.ico │ │ ├── ico72.ico │ │ ├── libzplay.lib │ │ ├── localStorage │ │ │ ├── http_fanxing.kugou.com_0.localstorage │ │ │ └── http_www.kugou.com_0.localstorage │ │ ├── main.cpp │ │ ├── resource.h │ │ ├── wke.lib │ │ ├── wke │ │ │ ├── WkeWebkit.cpp │ │ │ ├── WkeWebkit.h │ │ │ └── wke.h │ │ └── zplay │ │ │ ├── MusicPlayer.cpp │ │ │ ├── MusicPlayer.h │ │ │ └── libzplay.h │ │ ├── xml │ │ ├── Redrain音乐盒.exe │ │ ├── Redrain音乐盒加特效无网页.exe │ │ ├── Redrain音乐盒附带素材效果.exe │ │ ├── UI │ │ │ └── BKImage │ │ │ │ ├── 1.jpg │ │ │ │ ├── 10.jpg │ │ │ │ ├── 10small.jpg │ │ │ │ ├── 11.jpg │ │ │ │ ├── 11small.jpg │ │ │ │ ├── 12.jpg │ │ │ │ ├── 12small.jpg │ │ │ │ ├── 13.jpg │ │ │ │ ├── 13small.jpg │ │ │ │ ├── 14.jpg │ │ │ │ ├── 14small.jpg │ │ │ │ ├── 15.jpg │ │ │ │ ├── 15small.jpg │ │ │ │ ├── 16.jpg │ │ │ │ ├── 16small.jpg │ │ │ │ ├── 17.jpg │ │ │ │ ├── 17small.jpg │ │ │ │ ├── 18.jpg │ │ │ │ ├── 18small.jpg │ │ │ │ ├── 19.jpg │ │ │ │ ├── 19small.jpg │ │ │ │ ├── 1small.jpg │ │ │ │ ├── 2.jpg │ │ │ │ ├── 2small.jpg │ │ │ │ ├── 3.jpg │ │ │ │ ├── 3small.jpg │ │ │ │ ├── 4.jpg │ │ │ │ ├── 4small.jpg │ │ │ │ ├── 5.jpg │ │ │ │ ├── 5small.jpg │ │ │ │ ├── 6.jpg │ │ │ │ ├── 6small.jpg │ │ │ │ ├── 7.jpg │ │ │ │ ├── 7small.jpg │ │ │ │ ├── 8.jpg │ │ │ │ ├── 8small.jpg │ │ │ │ ├── 9.jpg │ │ │ │ └── 9small.jpg │ │ ├── Uilib_u.dll │ │ ├── Uilib_ud.dll │ │ ├── libzplay.dll │ │ ├── localStorage │ │ │ └── http_www.kugou.com_0.localstorage │ │ ├── plugins │ │ │ └── NPSWF32.dll │ │ ├── wke.dll │ │ └── xmls │ │ │ ├── Default.xml │ │ │ ├── Main_dlg.xml │ │ │ ├── Menus │ │ │ ├── Menu_List_Loop.xml │ │ │ ├── Menu_Main.xml │ │ │ ├── Menu_Music_Group.xml │ │ │ ├── Menu_Music_Item.xml │ │ │ ├── Menu_Radio.xml │ │ │ └── Menu_Tray.xml │ │ │ ├── MessageBoxDialog.xml │ │ │ ├── MusicList │ │ │ ├── MusicInfoWnd.xml │ │ │ ├── music_list_group.xml │ │ │ ├── music_list_item.xml │ │ │ └── radio_list_item.xml │ │ │ ├── PalletDialog.xml │ │ │ ├── SettingsDialog.xml │ │ │ ├── Skin │ │ │ └── ListTrans.xml │ │ │ ├── SkinPickerDialog.xml │ │ │ └── Volume │ │ │ └── Volume.xml │ │ ├── 关于开源的说明.txt │ │ └── 未完成的功能.txt ├── duilib webkit内核浏览器控件 │ ├── duilib wke │ │ ├── Bin │ │ │ ├── Html │ │ │ │ ├── images │ │ │ │ │ ├── aboutme.png │ │ │ │ │ ├── album.png │ │ │ │ │ ├── navig_01.png │ │ │ │ │ ├── navig_02.png │ │ │ │ │ ├── navig_03.png │ │ │ │ │ ├── navig_04.png │ │ │ │ │ ├── navig_05.png │ │ │ │ │ ├── navig_1.png │ │ │ │ │ ├── navig_2.png │ │ │ │ │ ├── navig_3.png │ │ │ │ │ ├── navig_4.png │ │ │ │ │ ├── navig_5.png │ │ │ │ │ ├── note.png │ │ │ │ │ ├── other.png │ │ │ │ │ └── university.png │ │ │ │ ├── index.html │ │ │ │ ├── jquery.min.js │ │ │ │ ├── main.css │ │ │ │ ├── redrain_slide.js │ │ │ │ └── redrain_snow.js │ │ │ ├── Skin │ │ │ │ ├── Main_dlg.xml │ │ │ │ ├── SKIN_BK.png │ │ │ │ ├── Tab_seperator.png │ │ │ │ ├── WindowsBack.png │ │ │ │ ├── button │ │ │ │ │ ├── BT_CLOSE.png │ │ │ │ │ ├── BT_MIN.png │ │ │ │ │ ├── btn_copy_disable.png │ │ │ │ │ ├── btn_copy_down.png │ │ │ │ │ ├── btn_copy_hover.png │ │ │ │ │ ├── btn_copy_normal.png │ │ │ │ │ ├── btn_delete_disable.png │ │ │ │ │ ├── btn_delete_down.png │ │ │ │ │ ├── btn_delete_hover.png │ │ │ │ │ ├── btn_delete_normal.png │ │ │ │ │ ├── btn_edit_disable.png │ │ │ │ │ ├── btn_edit_down.png │ │ │ │ │ ├── btn_edit_hover.png │ │ │ │ │ ├── btn_edit_normal.png │ │ │ │ │ ├── btn_new_disable.png │ │ │ │ │ ├── btn_new_down.png │ │ │ │ │ ├── btn_new_hover.png │ │ │ │ │ └── btn_new_normal.png │ │ │ │ └── rp_line.png │ │ │ ├── js控制命令.txt │ │ │ ├── plugins │ │ │ │ └── NPSWF32.dll │ │ │ └── wke.dll │ │ ├── Duilib │ │ │ ├── Duilib.rc │ │ │ ├── Duilib.res │ │ │ ├── FrameWnd.cpp │ │ │ ├── FrameWnd.h │ │ │ ├── WkeWebkit.cpp │ │ │ ├── WkeWebkit.h │ │ │ ├── duilib.ico │ │ │ ├── main.cpp │ │ │ ├── resource.h │ │ │ ├── stdafx.cpp │ │ │ ├── stdafx.h │ │ │ ├── wke.h │ │ │ ├── wke.lib │ │ │ ├── wke_demo.filters │ │ │ └── wke_demo.vcxproj │ │ ├── Wke浏览器控件windowless版本.rar │ │ └── wke_demo.sln │ └── 说明.txt ├── 半透明异形窗体demo │ ├── Bin │ │ └── Skin │ │ │ ├── MainWnd.xml │ │ │ ├── bk │ │ │ ├── background.png │ │ │ └── gif1.gif │ │ │ ├── button │ │ │ ├── btn_copy_disable.png │ │ │ ├── btn_copy_down.png │ │ │ ├── btn_copy_hover.png │ │ │ ├── btn_copy_normal.png │ │ │ ├── btn_delete_disable.png │ │ │ ├── btn_delete_down.png │ │ │ ├── btn_delete_hover.png │ │ │ ├── btn_delete_normal.png │ │ │ ├── btn_edit_disable.png │ │ │ ├── btn_edit_down.png │ │ │ ├── btn_edit_hover.png │ │ │ ├── btn_edit_normal.png │ │ │ ├── btn_new_disable.png │ │ │ ├── btn_new_down.png │ │ │ ├── btn_new_hover.png │ │ │ └── btn_new_normal.png │ │ │ └── title │ │ │ ├── close.png │ │ │ └── min.png │ ├── Desktop │ │ ├── Desktop.aps │ │ ├── Desktop.ico │ │ ├── Desktop.rc │ │ ├── Desktop.vcxproj │ │ ├── Desktop.vcxproj.filters │ │ ├── FrameWnd.cpp │ │ ├── FrameWnd.h │ │ ├── main.cpp │ │ ├── resource.h │ │ ├── small.ico │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ └── targetver.h │ └── transparent_demo.sln ├── 窗体动画demo │ ├── Bin │ │ └── Skin │ │ │ ├── MainWnd.xml │ │ │ ├── bk │ │ │ ├── background.png │ │ │ └── gif1.gif │ │ │ ├── button │ │ │ ├── btn_copy_disable.png │ │ │ ├── btn_copy_down.png │ │ │ ├── btn_copy_hover.png │ │ │ ├── btn_copy_normal.png │ │ │ ├── btn_delete_disable.png │ │ │ ├── btn_delete_down.png │ │ │ ├── btn_delete_hover.png │ │ │ ├── btn_delete_normal.png │ │ │ ├── btn_edit_disable.png │ │ │ ├── btn_edit_down.png │ │ │ ├── btn_edit_hover.png │ │ │ ├── btn_edit_normal.png │ │ │ ├── btn_new_disable.png │ │ │ ├── btn_new_down.png │ │ │ ├── btn_new_hover.png │ │ │ └── btn_new_normal.png │ │ │ └── title │ │ │ ├── close.png │ │ │ └── min.png │ ├── Desktop │ │ ├── Controls │ │ │ ├── AnimLayout.cpp │ │ │ └── AnimLayout.h │ │ ├── Desktop.aps │ │ ├── Desktop.ico │ │ ├── Desktop.rc │ │ ├── Desktop.vcxproj │ │ ├── Desktop.vcxproj.filters │ │ ├── FrameWnd.cpp │ │ ├── FrameWnd.h │ │ ├── MacroDefine.h │ │ ├── UIEffect │ │ │ ├── IUiEffectManagerImpl.cpp │ │ │ └── IUiEffectManagerImpl.h │ │ ├── main.cpp │ │ ├── resource.h │ │ ├── small.ico │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ └── targetver.h │ ├── UiFeatureEffect │ │ ├── CPUID │ │ │ └── CPUID.h │ │ ├── Effect.cpp │ │ ├── Effect.h │ │ ├── Graph │ │ │ ├── Graph_Def.h │ │ │ ├── Graph_Line.h │ │ │ ├── Graph_Math.h │ │ │ ├── Graph_Matrix.h │ │ │ ├── Graph_Projection.h │ │ │ ├── Graph_Rect.h │ │ │ ├── Graph_Vector.h │ │ │ ├── Graph_View.h │ │ │ └── Graph_WarpMatrix.h │ │ ├── IEffect.h │ │ ├── Image │ │ │ ├── ColorHelper.cpp │ │ │ ├── ColorHelper.h │ │ │ ├── ImageProcess.cpp │ │ │ └── ImageProcess.h │ │ ├── Interface │ │ │ └── IUIEffect.h │ │ ├── Motion │ │ │ └── Motion.h │ │ ├── UIFeatureEffect.cpp │ │ ├── UIFeatureEffect.def │ │ ├── UIFeatureEffect.h │ │ ├── UIFeatureEffect.rc │ │ ├── UIFeatureEffect.sln │ │ ├── UIFeatureEffect.vcproj │ │ ├── UIFeatureEffect.vcxproj │ │ ├── UIFeatureEffect.vcxproj.filters │ │ ├── UIFeatureEffect2010.sln │ │ ├── dllmain.cpp │ │ ├── resource.h │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ └── targetver.h │ └── animation_demo.sln └── 菜单和窗体阴影demo │ ├── Bin │ └── Skin │ │ ├── BT_CLOSE.png │ │ ├── BT_MIN.png │ │ ├── Main_dlg.xml │ │ ├── SKIN_PIC_2.png │ │ ├── Virus.png │ │ ├── WebSit.png │ │ ├── WindowsBack.png │ │ ├── check_hover.png │ │ ├── check_normal.png │ │ ├── check_pressed.png │ │ ├── error.png │ │ ├── menu_bk.png │ │ ├── menu_expand.png │ │ ├── menutest.xml │ │ ├── right.png │ │ └── shadow.png │ ├── Duilib │ ├── Duilib.rc │ ├── Duilib.res │ ├── FrameWnd.cpp │ ├── FrameWnd.h │ ├── duilib.ico │ ├── main.cpp │ ├── menu_demo.filters │ ├── menu_demo.vcxproj │ ├── resource.h │ └── stdafx.h │ └── menu_demo.sln └── 属性列表.xml /.gitignore: -------------------------------------------------------------------------------- 1 | DuiLib_vs2008.suo 2 | *.exp 3 | *.pdb 4 | *.idb 5 | *.ilk 6 | 各个Demo/半透明异形窗体demo/Desktop.v11.suo 7 | DuiLib/DuiLib.vcproj.REDRAIN-PC.Redrain.user 8 | *.ncb -------------------------------------------------------------------------------- /DuiLib/Control/UIActiveX.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIActiveX.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIActiveX.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIACTIVEX_H__ 2 | #define __UIACTIVEX_H__ 3 | 4 | #pragma once 5 | 6 | struct IOleObject; 7 | 8 | 9 | namespace DuiLib { 10 | ///////////////////////////////////////////////////////////////////////////////////// 11 | // 12 | 13 | class CActiveXCtrl; 14 | 15 | template< class T > 16 | class CSafeRelease 17 | { 18 | public: 19 | CSafeRelease(T* p) : m_p(p) { }; 20 | ~CSafeRelease() { if( m_p != NULL ) m_p->Release(); }; 21 | T* Detach() { T* t = m_p; m_p = NULL; return t; }; 22 | T* m_p; 23 | }; 24 | 25 | ///////////////////////////////////////////////////////////////////////////////////// 26 | // 27 | 28 | class UILIB_API CActiveXUI : public CControlUI, public IMessageFilterUI 29 | { 30 | friend class CActiveXCtrl; 31 | public: 32 | CActiveXUI(); 33 | virtual ~CActiveXUI(); 34 | 35 | LPCTSTR GetClass() const; 36 | LPVOID GetInterface(LPCTSTR pstrName); 37 | 38 | HWND GetHostWindow() const; 39 | 40 | bool IsDelayCreate() const; 41 | void SetDelayCreate(bool bDelayCreate = true); 42 | 43 | bool CreateControl(const CLSID clsid); 44 | bool CreateControl(LPCTSTR pstrCLSID); 45 | HRESULT GetControl(const IID iid, LPVOID* ppRet); 46 | CLSID GetClisd() const; 47 | CDuiString GetModuleName() const; 48 | void SetModuleName(LPCTSTR pstrText); 49 | 50 | void SetVisible(bool bVisible = true); 51 | void SetInternVisible(bool bVisible = true); 52 | void SetPos(RECT rc); 53 | void DoPaint(HDC hDC, const RECT& rcPaint); 54 | 55 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 56 | 57 | LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled); 58 | 59 | protected: 60 | virtual void ReleaseControl(); 61 | virtual bool DoCreateControl(); 62 | 63 | protected: 64 | CLSID m_clsid; 65 | CDuiString m_sModuleName; 66 | bool m_bCreated; 67 | bool m_bDelayCreate; 68 | IOleObject* m_pUnk; 69 | CActiveXCtrl* m_pControl; 70 | HWND m_hwndHost; 71 | }; 72 | 73 | } // namespace DuiLib 74 | 75 | #endif // __UIACTIVEX_H__ 76 | -------------------------------------------------------------------------------- /DuiLib/Control/UIButton.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIBUTTON_H__ 2 | #define __UIBUTTON_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CButtonUI : public CLabelUI 9 | { 10 | public: 11 | CButtonUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | UINT GetControlFlags() const; 16 | 17 | bool Activate(); 18 | void SetEnabled(bool bEnable = true); 19 | void DoEvent(TEventUI& event); 20 | 21 | LPCTSTR GetHotForeImage(); 22 | void SetHotForeImage(LPCTSTR pStrImage); 23 | LPCTSTR GetPushedForeImage(); 24 | void SetPushedForeImage(LPCTSTR pStrImage); 25 | 26 | void BindTabIndex(int _BindTabIndex); 27 | void BindTabLayoutName(LPCTSTR _TabLayoutName); 28 | void BindTriggerTabSel(int _SetSelectIndex = -1); 29 | void RemoveBindTabIndex(); 30 | int GetBindTabLayoutIndex(); 31 | CDuiString GetBindTabLayoutName(); 32 | 33 | void SetHotBkColor(DWORD dwColor); 34 | DWORD GetHotBkColor() const; 35 | void SetHotTextColor(DWORD dwColor); 36 | DWORD GetHotTextColor() const; 37 | void SetPushedTextColor(DWORD dwColor); 38 | DWORD GetPushedTextColor() const; 39 | void SetFocusedTextColor(DWORD dwColor); 40 | DWORD GetFocusedTextColor() const; 41 | SIZE EstimateSize(SIZE szAvailable); 42 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 43 | 44 | void PaintText(HDC hDC); 45 | void PaintStatusImage(HDC hDC); 46 | 47 | protected: 48 | UINT m_uButtonState; 49 | 50 | DWORD m_dwHotBkColor; 51 | DWORD m_dwHotTextColor; 52 | DWORD m_dwPushedTextColor; 53 | DWORD m_dwFocusedTextColor; 54 | 55 | CImageAttribute m_hotForeImage; 56 | CImageAttribute m_pushedForeImage; 57 | 58 | int m_iBindTabIndex; 59 | CDuiString m_sBindTabLayoutName; 60 | }; 61 | 62 | } // namespace DuiLib 63 | 64 | #endif // __UIBUTTON_H__ -------------------------------------------------------------------------------- /DuiLib/Control/UICheckBox.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "UICheckBox.h" 3 | 4 | namespace DuiLib 5 | { 6 | LPCTSTR CCheckBoxUI::GetClass() const 7 | { 8 | return _T("CheckBoxUI"); 9 | } 10 | 11 | void CCheckBoxUI::SetCheck(bool bCheck) 12 | { 13 | Selected(bCheck); 14 | } 15 | 16 | bool CCheckBoxUI::GetCheck() const 17 | { 18 | return IsSelected(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /DuiLib/Control/UICheckBox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UICheckBox.h -------------------------------------------------------------------------------- /DuiLib/Control/UICombo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UICombo.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIDateTime.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIDateTime.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIDateTime.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIDateTime.h -------------------------------------------------------------------------------- /DuiLib/Control/UIEdit.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIEDIT_H__ 2 | #define __UIEDIT_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class CEditWnd; 9 | 10 | class UILIB_API CEditUI : public CLabelUI 11 | { 12 | friend class CEditWnd; 13 | public: 14 | CEditUI(); 15 | 16 | LPCTSTR GetClass() const; 17 | LPVOID GetInterface(LPCTSTR pstrName); 18 | UINT GetControlFlags() const; 19 | 20 | void SetEnabled(bool bEnable = true); 21 | void SetText(LPCTSTR pstrText); 22 | void SetMaxChar(UINT uMax); 23 | UINT GetMaxChar(); 24 | void SetReadOnly(bool bReadOnly); 25 | bool IsReadOnly() const; 26 | void SetPasswordMode(bool bPasswordMode); 27 | bool IsPasswordMode() const; 28 | void SetPasswordChar(TCHAR cPasswordChar); 29 | TCHAR GetPasswordChar() const; 30 | void SetNumberOnly(bool bNumberOnly); 31 | bool IsNumberOnly() const; 32 | int GetWindowStyls() const; 33 | 34 | void SetNativeEditBkColor(DWORD dwBkColor); 35 | DWORD GetNativeEditBkColor() const; 36 | void SetNativeEditTextColor( LPCTSTR pStrColor ); 37 | DWORD GetNativeEditTextColor() const; 38 | 39 | void SetSel(long nStartChar, long nEndChar); 40 | void SetSelAll(); 41 | void SetReplaceSel(LPCTSTR lpszReplace); 42 | 43 | void SetTipValue(LPCTSTR pStrTipValue); 44 | LPCTSTR GetTipValue(); 45 | void SetTipValueColor(LPCTSTR pStrColor); 46 | DWORD GetTipValueColor(); 47 | 48 | void SetPos(RECT rc); 49 | void SetVisible(bool bVisible = true); 50 | void SetInternVisible(bool bVisible = true); 51 | SIZE EstimateSize(SIZE szAvailable); 52 | void DoEvent(TEventUI& event); 53 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 54 | 55 | void PaintStatusImage(HDC hDC); 56 | void PaintText(HDC hDC); 57 | 58 | protected: 59 | CEditWnd* m_pWindow; 60 | 61 | UINT m_uMaxChar; 62 | bool m_bReadOnly; 63 | bool m_bPasswordMode; 64 | TCHAR m_cPasswordChar; 65 | UINT m_uButtonState; 66 | CDuiString m_sTipValue; 67 | DWORD m_dwTipValueColor; 68 | DWORD m_dwEditbkColor; 69 | DWORD m_dwEditTextColor; 70 | int m_iWindowStyls; 71 | }; 72 | } 73 | #endif // __UIEDIT_H__ -------------------------------------------------------------------------------- /DuiLib/Control/UIFlash.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIFlash.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIFlash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIFlash.h -------------------------------------------------------------------------------- /DuiLib/Control/UIGifAnim.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIGifAnim.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIGifAnim.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIGifAnim.h -------------------------------------------------------------------------------- /DuiLib/Control/UILabel.h: -------------------------------------------------------------------------------- 1 | #ifndef __UILABEL_H__ 2 | #define __UILABEL_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CLabelUI : public CControlUI 9 | { 10 | public: 11 | CLabelUI(); 12 | ~CLabelUI(); 13 | 14 | LPCTSTR GetClass() const; 15 | LPVOID GetInterface(LPCTSTR pstrName); 16 | 17 | void SetTextStyle(UINT uStyle); 18 | UINT GetTextStyle() const; 19 | void SetTextColor(DWORD dwTextColor); 20 | DWORD GetTextColor() const; 21 | void SetDisabledTextColor(DWORD dwTextColor); 22 | DWORD GetDisabledTextColor() const; 23 | void SetFont(int index); 24 | int GetFont() const; 25 | RECT GetTextPadding() const; 26 | void SetTextPadding(RECT rc); 27 | bool IsShowHtml(); 28 | void SetShowHtml(bool bShowHtml = true); 29 | 30 | SIZE EstimateSize(SIZE szAvailable); 31 | void DoEvent(TEventUI& event); 32 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 33 | 34 | void PaintText(HDC hDC); 35 | 36 | virtual bool GetAutoCalcWidth() const; 37 | virtual void SetAutoCalcWidth(bool bAutoCalcWidth); 38 | 39 | protected: 40 | DWORD m_dwTextColor; 41 | DWORD m_dwDisabledTextColor; 42 | int m_iFont; 43 | UINT m_uTextStyle; 44 | RECT m_rcTextPadding; 45 | bool m_bShowHtml; 46 | bool m_bAutoCalcWidth; 47 | 48 | }; 49 | } 50 | 51 | #endif // __UILABEL_H__ -------------------------------------------------------------------------------- /DuiLib/Control/UIList.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIList.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIList.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIList.h -------------------------------------------------------------------------------- /DuiLib/Control/UIMenu.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIMenu.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIMenu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIMenu.h -------------------------------------------------------------------------------- /DuiLib/Control/UIOption.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIOPTION_H__ 2 | #define __UIOPTION_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API COptionUI : public CButtonUI 9 | { 10 | public: 11 | COptionUI(); 12 | ~COptionUI(); 13 | 14 | LPCTSTR GetClass() const; 15 | LPVOID GetInterface(LPCTSTR pstrName); 16 | 17 | void SetManager(CPaintManagerUI* pManager, CControlUI* pParent, bool bInit = true); 18 | 19 | bool Activate(); 20 | void SetEnabled(bool bEnable = true); 21 | 22 | LPCTSTR GetSelectedImage(); 23 | void SetSelectedImage(LPCTSTR pStrImage); 24 | 25 | LPCTSTR GetSelectedHotImage(); 26 | void SetSelectedHotImage(LPCTSTR pStrImage); 27 | 28 | LPCTSTR GetSelectedPushedImage(); 29 | void SetSelectedPushedImage(LPCTSTR pStrImage); 30 | 31 | void SetSelectedTextColor(DWORD dwTextColor); 32 | DWORD GetSelectedTextColor(); 33 | 34 | void SetSelectedBkColor(DWORD dwBkColor); 35 | DWORD GetSelectBkColor(); 36 | 37 | LPCTSTR GetSelectedForedImage(); 38 | void SetSelectedForedImage(LPCTSTR pStrImage); 39 | 40 | LPCTSTR GetGroup() const; 41 | void SetGroup(LPCTSTR pStrGroupName = NULL); 42 | bool IsSelected() const; 43 | virtual void Selected(bool bSelected); 44 | 45 | SIZE EstimateSize(SIZE szAvailable); 46 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 47 | 48 | void PaintStatusImage(HDC hDC); 49 | void PaintText(HDC hDC); 50 | 51 | protected: 52 | bool m_bSelected; 53 | CDuiString m_sGroupName; 54 | 55 | DWORD m_dwSelectedBkColor; 56 | DWORD m_dwSelectedTextColor; 57 | 58 | CImageAttribute m_selectedImage; 59 | CImageAttribute m_selectedHotImage; 60 | CImageAttribute m_selectedPushedImage; 61 | CImageAttribute m_selectedForeImage; 62 | }; 63 | 64 | } // namespace DuiLib 65 | 66 | #endif // __UIOPTION_H__ -------------------------------------------------------------------------------- /DuiLib/Control/UIProgress.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIPROGRESS_H__ 2 | #define __UIPROGRESS_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CProgressUI : public CLabelUI 9 | { 10 | public: 11 | CProgressUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | 16 | bool IsHorizontal(); 17 | void SetHorizontal(bool bHorizontal = true); 18 | bool IsStretchForeImage(); 19 | void SetStretchForeImage(bool bStretchForeImage = true); 20 | int GetMinValue() const; 21 | void SetMinValue(int nMin); 22 | int GetMaxValue() const; 23 | void SetMaxValue(int nMax); 24 | int GetValue() const; 25 | void SetValue(int nValue); 26 | 27 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 28 | void PaintStatusImage(HDC hDC); 29 | 30 | protected: 31 | bool m_bHorizontal; 32 | bool m_bStretchForeImage; 33 | int m_nMax; 34 | int m_nMin; 35 | int m_nValue; 36 | 37 | CDuiString m_sForeImageModify; 38 | }; 39 | 40 | } // namespace DuiLib 41 | 42 | #endif // __UIPROGRESS_H__ 43 | -------------------------------------------------------------------------------- /DuiLib/Control/UIRichEdit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIRichEdit.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIRichEdit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIRichEdit.h -------------------------------------------------------------------------------- /DuiLib/Control/UISlider.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UISlider.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UISlider.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UISlider.h -------------------------------------------------------------------------------- /DuiLib/Control/UIText.h: -------------------------------------------------------------------------------- 1 | #ifndef __UITEXT_H__ 2 | #define __UITEXT_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CTextUI : public CLabelUI 9 | { 10 | public: 11 | CTextUI(); 12 | ~CTextUI(); 13 | 14 | LPCTSTR GetClass() const; 15 | UINT GetControlFlags() const; 16 | LPVOID GetInterface(LPCTSTR pstrName); 17 | void SetText(LPCTSTR pstrText) override; 18 | 19 | CDuiString* GetLinkContent(int iIndex); 20 | 21 | void DoEvent(TEventUI& event); 22 | SIZE EstimateSize(SIZE szAvailable); 23 | 24 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 25 | void SetShadowColor(DWORD dwTextColor); 26 | DWORD GetShadowColor() const; 27 | void PaintText(HDC hDC); 28 | 29 | protected: 30 | enum { MAX_LINK = 8 }; 31 | int m_nLinks; 32 | RECT m_rcLinks[MAX_LINK]; 33 | CDuiString m_sLinks[MAX_LINK]; 34 | int m_nHoverLink; 35 | 36 | DWORD m_dwShadowColor; 37 | }; 38 | 39 | } // namespace DuiLib 40 | 41 | #endif //__UITEXT_H__ -------------------------------------------------------------------------------- /DuiLib/Control/UITreeView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UITreeView.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UITreeView.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UITreeView.h -------------------------------------------------------------------------------- /DuiLib/Control/UIWebBrowser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIWebBrowser.cpp -------------------------------------------------------------------------------- /DuiLib/Control/UIWebBrowser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Control/UIWebBrowser.h -------------------------------------------------------------------------------- /DuiLib/Core/UIBase.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIBase.cpp -------------------------------------------------------------------------------- /DuiLib/Core/UIBase.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIBase.h -------------------------------------------------------------------------------- /DuiLib/Core/UIContainer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIContainer.cpp -------------------------------------------------------------------------------- /DuiLib/Core/UIContainer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIContainer.h -------------------------------------------------------------------------------- /DuiLib/Core/UIControl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIControl.cpp -------------------------------------------------------------------------------- /DuiLib/Core/UIControl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIControl.h -------------------------------------------------------------------------------- /DuiLib/Core/UIDefine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIDefine.h -------------------------------------------------------------------------------- /DuiLib/Core/UIDlgBuilder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIDlgBuilder.cpp -------------------------------------------------------------------------------- /DuiLib/Core/UIDlgBuilder.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIDLGBUILDER_H__ 2 | #define __UIDLGBUILDER_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib { 7 | 8 | class IDialogBuilderCallback 9 | { 10 | public: 11 | virtual CControlUI* CreateControl(LPCTSTR pstrClass) = 0; 12 | }; 13 | 14 | 15 | class UILIB_API CDialogBuilder 16 | { 17 | public: 18 | CDialogBuilder(); 19 | CControlUI* Create(STRINGorID xml, LPCTSTR type = NULL, IDialogBuilderCallback* pCallback = NULL, 20 | CPaintManagerUI* pManager = NULL, CControlUI* pParent = NULL); 21 | CControlUI* Create(IDialogBuilderCallback* pCallback = NULL, CPaintManagerUI* pManager = NULL, 22 | CControlUI* pParent = NULL); 23 | 24 | CMarkup* GetMarkup(); 25 | 26 | void GetLastErrorMessage(LPTSTR pstrMessage, SIZE_T cchMax) const; 27 | void GetLastErrorLocation(LPTSTR pstrSource, SIZE_T cchMax) const; 28 | private: 29 | CControlUI* _Parse(CMarkupNode* parent, CControlUI* pParent = NULL, CPaintManagerUI* pManager = NULL); 30 | 31 | CMarkup m_xml; 32 | IDialogBuilderCallback* m_pCallback; 33 | LPCTSTR m_pstrtype; 34 | }; 35 | 36 | } // namespace DuiLib 37 | 38 | #endif // __UIDLGBUILDER_H__ 39 | -------------------------------------------------------------------------------- /DuiLib/Core/UIImageAttribute.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIImageAttribute.cpp -------------------------------------------------------------------------------- /DuiLib/Core/UIImageAttribute.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIIMAGE_ATTRIBUTE_H__ 2 | #define __UIIMAGE_ATTRIBUTE_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib { 7 | 8 | ///////////////////////////////////////////////////////////////////////////////////// 9 | // 10 | 11 | class UILIB_API CImageAttribute 12 | { 13 | public: 14 | CImageAttribute(); 15 | CImageAttribute(const CImageAttribute&); 16 | const CImageAttribute& operator=(const CImageAttribute&); 17 | virtual ~CImageAttribute(); 18 | 19 | const CDuiString& GetAttributeString() const; 20 | void SetAttributeString(LPCTSTR pStrImageAttri); 21 | void ModifyAttribute(LPCTSTR pStrModify); 22 | bool LoadImage(CPaintManagerUI* pManager); 23 | bool IsLoadSuccess(); 24 | 25 | RECT GetDest() const; 26 | void SetDest(const RECT &rcDest); 27 | const TImageInfo* GetImageInfo() const; 28 | private: 29 | void Clone(const CImageAttribute&); 30 | void Clear(); 31 | void ParseAttribute(LPCTSTR pStrImageAttri); 32 | 33 | protected: 34 | friend class CRenderEngine; 35 | CDuiString m_sImageAttribute; 36 | 37 | CDuiString m_sImage; 38 | CDuiString m_sResType; 39 | TImageInfo *m_imageInfo; 40 | bool m_bLoadSuccess; 41 | 42 | RECT m_rcDest; 43 | RECT m_rcSource; 44 | RECT m_rcCorner; 45 | BYTE m_bFade; 46 | DWORD m_dwMask; 47 | bool m_bHole; 48 | bool m_bTiledX; 49 | bool m_bTiledY; 50 | 51 | }; 52 | 53 | } // namespace DuiLib 54 | 55 | #endif // __UIIMAGE_ATTRIBUTE_H__ 56 | -------------------------------------------------------------------------------- /DuiLib/Core/UIManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIManager.cpp -------------------------------------------------------------------------------- /DuiLib/Core/UIManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIManager.h -------------------------------------------------------------------------------- /DuiLib/Core/UIMarkup.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIMarkup.cpp -------------------------------------------------------------------------------- /DuiLib/Core/UIRender.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIRender.cpp -------------------------------------------------------------------------------- /DuiLib/Core/UIRender.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Core/UIRender.h -------------------------------------------------------------------------------- /DuiLib/Layout/UIChildLayout.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "UIChildLayout.h" 3 | 4 | namespace DuiLib 5 | { 6 | CChildLayoutUI::CChildLayoutUI() 7 | { 8 | 9 | } 10 | 11 | void CChildLayoutUI::Init() 12 | { 13 | if (!m_pstrXMLFile.IsEmpty()) 14 | { 15 | CDialogBuilder builder; 16 | CContainerUI* pChildWindow = static_cast(builder.Create(m_pstrXMLFile.GetData(), (UINT)0, NULL, m_pManager)); 17 | if (pChildWindow) 18 | { 19 | this->Add(pChildWindow); 20 | } 21 | else 22 | { 23 | this->RemoveAll(); 24 | } 25 | } 26 | } 27 | 28 | void CChildLayoutUI::SetAttribute( LPCTSTR pstrName, LPCTSTR pstrValue ) 29 | { 30 | if( _tcscmp(pstrName, _T("xmlfile")) == 0 ) 31 | SetChildLayoutXML(pstrValue); 32 | else 33 | CContainerUI::SetAttribute(pstrName,pstrValue); 34 | } 35 | 36 | void CChildLayoutUI::SetChildLayoutXML( DuiLib::CDuiString pXML ) 37 | { 38 | m_pstrXMLFile=pXML; 39 | } 40 | 41 | DuiLib::CDuiString CChildLayoutUI::GetChildLayoutXML() 42 | { 43 | return m_pstrXMLFile; 44 | } 45 | 46 | LPVOID CChildLayoutUI::GetInterface( LPCTSTR pstrName ) 47 | { 48 | if( _tcscmp(pstrName, DUI_CTR_CHILDLAYOUT) == 0 ) return static_cast(this); 49 | return CControlUI::GetInterface(pstrName); 50 | } 51 | 52 | LPCTSTR CChildLayoutUI::GetClass() const 53 | { 54 | return _T("ChildLayoutUI"); 55 | } 56 | } // namespace DuiLib 57 | -------------------------------------------------------------------------------- /DuiLib/Layout/UIChildLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UICHILDLAYOUT_H__ 2 | #define __UICHILDLAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CChildLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CChildLayoutUI(); 12 | 13 | void Init(); 14 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 15 | void SetChildLayoutXML(CDuiString pXML); 16 | DuiLib::CDuiString GetChildLayoutXML(); 17 | virtual LPVOID GetInterface(LPCTSTR pstrName); 18 | virtual LPCTSTR GetClass() const; 19 | 20 | private: 21 | DuiLib::CDuiString m_pstrXMLFile; 22 | }; 23 | } // namespace DuiLib 24 | #endif // __UICHILDLAYOUT_H__ 25 | -------------------------------------------------------------------------------- /DuiLib/Layout/UIHorizontalLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIHORIZONTALLAYOUT_H__ 2 | #define __UIHORIZONTALLAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CHorizontalLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CHorizontalLayoutUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | UINT GetControlFlags() const; 16 | 17 | void SetSepWidth(int iWidth); 18 | int GetSepWidth() const; 19 | void SetSepImmMode(bool bImmediately); 20 | bool IsSepImmMode() const; 21 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 22 | void DoEvent(TEventUI& event); 23 | 24 | void SetPos(RECT rc); 25 | void DoPostPaint(HDC hDC, const RECT& rcPaint); 26 | 27 | RECT GetThumbRect(bool bUseNew = false) const; 28 | 29 | protected: 30 | int m_iSepWidth; 31 | UINT m_uButtonState; 32 | POINT ptLastMouse; 33 | RECT m_rcNewPos; 34 | bool m_bImmMode; 35 | }; 36 | } 37 | #endif // __UIHORIZONTALLAYOUT_H__ 38 | -------------------------------------------------------------------------------- /DuiLib/Layout/UITabLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UITABLAYOUT_H__ 2 | #define __UITABLAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CTabLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CTabLayoutUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | 16 | bool Add(CControlUI* pControl); 17 | bool AddAt(CControlUI* pControl, int iIndex); 18 | bool Remove(CControlUI* pControl); 19 | void RemoveAll(); 20 | int GetCurSel() const; 21 | virtual bool SelectItem(int iIndex); 22 | virtual bool SelectItem(CControlUI* pControl); 23 | 24 | void SetPos(RECT rc); 25 | 26 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 27 | 28 | protected: 29 | int m_iCurSel; 30 | }; 31 | } 32 | #endif // __UITABLAYOUT_H__ 33 | -------------------------------------------------------------------------------- /DuiLib/Layout/UITileLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UITILELAYOUT_H__ 2 | #define __UITILELAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CTileLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CTileLayoutUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | 16 | void SetPos(RECT rc); 17 | 18 | SIZE GetItemSize() const; 19 | void SetItemSize(SIZE szItem); 20 | int GetColumns() const; 21 | void SetColumns(int nCols); 22 | 23 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 24 | 25 | protected: 26 | SIZE m_szItem; 27 | int m_nColumns; 28 | }; 29 | } 30 | #endif // __UITILELAYOUT_H__ 31 | -------------------------------------------------------------------------------- /DuiLib/Layout/UIVerticalLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIVERTICALLAYOUT_H__ 2 | #define __UIVERTICALLAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace DuiLib 7 | { 8 | class UILIB_API CVerticalLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CVerticalLayoutUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | UINT GetControlFlags() const; 16 | 17 | void SetSepHeight(int iHeight); 18 | int GetSepHeight() const; 19 | void SetSepImmMode(bool bImmediately); 20 | bool IsSepImmMode() const; 21 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 22 | void DoEvent(TEventUI& event); 23 | 24 | void SetPos(RECT rc); 25 | void DoPostPaint(HDC hDC, const RECT& rcPaint); 26 | 27 | RECT GetThumbRect(bool bUseNew = false) const; 28 | 29 | protected: 30 | int m_iSepHeight; 31 | UINT m_uButtonState; 32 | POINT ptLastMouse; 33 | RECT m_rcNewPos; 34 | bool m_bImmMode; 35 | }; 36 | } 37 | #endif // __UIVERTICALLAYOUT_H__ 38 | -------------------------------------------------------------------------------- /DuiLib/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // UIlib.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "StdAfx.h" 6 | 7 | 8 | #pragma comment( lib, "winmm.lib" ) 9 | #pragma comment( lib, "comctl32.lib" ) 10 | -------------------------------------------------------------------------------- /DuiLib/StdAfx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/StdAfx.h -------------------------------------------------------------------------------- /DuiLib/Utils/Flash11.tlb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Utils/Flash11.tlb -------------------------------------------------------------------------------- /DuiLib/Utils/FlashEventHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Utils/FlashEventHandler.h -------------------------------------------------------------------------------- /DuiLib/Utils/ThirdParty.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Utils/ThirdParty.h -------------------------------------------------------------------------------- /DuiLib/Utils/UIShadow.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Utils/UIShadow.h -------------------------------------------------------------------------------- /DuiLib/Utils/Utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Utils/Utils.cpp -------------------------------------------------------------------------------- /DuiLib/Utils/WebBrowserEventHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Utils/WebBrowserEventHandler.h -------------------------------------------------------------------------------- /DuiLib/Utils/WinImplBase.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Utils/WinImplBase.cpp -------------------------------------------------------------------------------- /DuiLib/Utils/WinImplBase.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/DuiLib/Utils/WinImplBase.h -------------------------------------------------------------------------------- /DuiLib_vs2008.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DuiLib", "DuiLib\DuiLib.vcproj", "{E106ACD7-4E53-4AEE-942B-D0DD426DB34E}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Debug|Win32.Build.0 = Debug|Win32 14 | {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Release|Win32.ActiveCfg = Release|Win32 15 | {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /DuiLib_vs2010.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DuiLib", "DuiLib\DuiLib.vcxproj", "{E106ACD7-4E53-4AEE-942B-D0DD426DB34E}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Debug|Win32.Build.0 = Debug|Win32 14 | {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Release|Win32.ActiveCfg = Release|Win32 15 | {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /Duilib更新日志.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/Duilib更新日志.txt -------------------------------------------------------------------------------- /ReadMe.md: -------------------------------------------------------------------------------- 1 | # Redrain DuiLib 2 | 我自己使用的Duilib库中,修复了我在博客中说明的所有bug以及很多还没有去说明的bug,同样也包含别人修复过的bug。修复的部分bug可以看"Duilib更新日志.txt",完整的修复过程描述请看我博客。 3 | 4 | - 库里面包含我扩展过的部分控件。修复了编译duilib时出现的““IDispatchEx”: 重定义;不同的基类型”和'ICanHandleException' : 重定义错误。 5 | 6 | - 修改duilib和uilib支持半透明异形窗体,RichEdit支持在透明窗体中使用,可以显示光标。Edit控件可以支持透明窗体。增加gif控件。增加窗体阴影类,可以设置图片阴影或者算法阴影。增加菜单通用类。 7 | 8 | - 修改渲染类为Gdi+和Gdi混合方式,默认使用Gdi+绘制,使用USE_GDI_RENDER宏控制渲染方式 9 | 10 | - 优化图片属性解析功能,提高程序性能 11 | 12 | - 带有文本功能的控件增加了autocalcwidth属性,可以让控件自动根据文字长度计算宽度。库中修复了relativepos属性,可以让绝对布局用起来更方便。更多属性的增强和添加,详见各个博客和提交代码的提交说明。 13 | 14 | - 附带了基于wke内核的webkit浏览器控件的源码和demo、半透明异形窗体demo、Redrain仿酷狗播放器源码、Redrain菜单demo。 15 | 16 | - 我附带了vs2008的工程解决方案。使用更高版本的vs打开时,如果提示升级工程,点“是”,然后询问是否覆盖原来的工程配置信息,一定记住要选“否”! 17 | 18 | - 工程支持UnicodeRelease、UnicodeDebug两种配置方案。其他情况如果你无法正常打开我的库或者编译有问题,那么建议把你需要的.h或者.cpp文件替换掉你自己的duilib库对应的文件来使用。 19 | 20 | 库中我修改过的代码,一般可以通过搜索“redrain”找到对应的位置和修改时间 21 | 22 | 此库是我个人使用,由于我水平所限,所以不保证我修改的代码的质量。请你看过代码后再决定是否使用。使用这个库出现问题,不承担任何责任. 23 | 24 | **by:Redrain 2014.11.4QQ:491646717** 25 | 26 | blog:[http://blog.csdn.net/zhuhongshu?viewmode=contents](http://blog.csdn.net/zhuhongshu?viewmode=contents) 27 | 28 | # DuiLib更新日志 29 | [Duilib更新日志](./Duilib更新日志.txt) -------------------------------------------------------------------------------- /directui license.txt: -------------------------------------------------------------------------------- 1 | DirectUI - UI Library 2 | 3 | Written by Bjarke Viksoe (bjarke@viksoe.dk) 4 | Copyright (c) 2006-2007 Bjarke Viksoe. 5 | 6 | This code may be used in compiled form in any way you desire. These 7 | source files may be redistributed by any means PROVIDING it is 8 | not sold for profit without the authors written consent, and 9 | providing that this notice and the authors name is included. 10 | 11 | This file is provided "as is" with no expressed or implied warranty. 12 | The author accepts no liability if it causes any damage to you or your 13 | computer whatsoever. It's free, so don't hassle me about it. 14 | Beware of bugs. -------------------------------------------------------------------------------- /doc/2. duilib进阶教程.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/2. duilib进阶教程.chm -------------------------------------------------------------------------------- /doc/3. 仿迅雷播放器教程.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/3. 仿迅雷播放器教程.chm -------------------------------------------------------------------------------- /doc/CActiveXUI类结构图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/CActiveXUI类结构图.jpg -------------------------------------------------------------------------------- /doc/DUILIB入门简明教程.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/DUILIB入门简明教程.chm -------------------------------------------------------------------------------- /doc/Duilib入门文档.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/Duilib入门文档.doc -------------------------------------------------------------------------------- /doc/Duilib源码注释.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/Duilib源码注释.doc -------------------------------------------------------------------------------- /doc/duilib.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/duilib.jpg -------------------------------------------------------------------------------- /doc/图解corner属性.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/图解corner属性.png -------------------------------------------------------------------------------- /doc/教程.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/教程.txt -------------------------------------------------------------------------------- /doc/绘制动态滚动条.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/doc/绘制动态滚动条.txt -------------------------------------------------------------------------------- /doc/解决Richedit和容器滚动条不同步问题.txt: -------------------------------------------------------------------------------- 1 | void CRichEditUI::LineUp() 2 | { 3 | TxSendMessage(WM_VSCROLL, SB_LINEUP, 0L, 0); 4 | CContainerUI::LineUp(); 5 | } 6 | 7 | void CRichEditUI::LineDown() 8 | { 9 | // int iPos = 0; 10 | // if( m_pTwh && !m_bRich && m_pVerticalScrollBar && m_pVerticalScrollBar->IsVisible() ) 11 | // iPos = m_pVerticalScrollBar->GetScrollPos(); 12 | TxSendMessage(WM_VSCROLL, SB_LINEDOWN, 0L, 0); 13 | // if( m_pTwh && !m_bRich && m_pVerticalScrollBar && m_pVerticalScrollBar->IsVisible() ) { 14 | // if( m_pVerticalScrollBar->GetScrollPos() <= iPos ) 15 | // m_pVerticalScrollBar->SetScrollPos(m_pVerticalScrollBar->GetScrollRange()); 16 | // } 17 | 18 | CContainerUI::LineDown(); 19 | } 20 | 21 | void CRichEditUI::PageUp() 22 | { 23 | TxSendMessage(WM_VSCROLL, SB_PAGEUP, 0L, 0); 24 | CContainerUI::PageUp(); 25 | } 26 | 27 | void CRichEditUI::PageDown() 28 | { 29 | TxSendMessage(WM_VSCROLL, SB_PAGEDOWN, 0L, 0); 30 | CContainerUI::PageUp(); 31 | } 32 | 33 | void CRichEditUI::HomeUp() 34 | { 35 | TxSendMessage(WM_VSCROLL, SB_TOP, 0L, 0); 36 | CContainerUI::HomeUp(); 37 | } 38 | 39 | void CRichEditUI::EndDown() 40 | { 41 | TxSendMessage(WM_VSCROLL, SB_BOTTOM, 0L, 0); 42 | CContainerUI::EndDown(); 43 | } 44 | 45 | void CRichEditUI::LineLeft() 46 | { 47 | TxSendMessage(WM_HSCROLL, SB_LINELEFT, 0L, 0); 48 | 49 | CContainerUI::LineLeft(); 50 | } 51 | 52 | void CRichEditUI::LineRight() 53 | { 54 | TxSendMessage(WM_HSCROLL, SB_LINERIGHT, 0L, 0); 55 | CContainerUI::LineRight(); 56 | } 57 | 58 | void CRichEditUI::PageLeft() 59 | { 60 | TxSendMessage(WM_HSCROLL, SB_PAGELEFT, 0L, 0); 61 | CContainerUI::PageLeft(); 62 | } 63 | 64 | void CRichEditUI::PageRight() 65 | { 66 | TxSendMessage(WM_HSCROLL, SB_PAGERIGHT, 0L, 0); 67 | CContainerUI::PageRight(); 68 | } 69 | 70 | void CRichEditUI::HomeLeft() 71 | { 72 | TxSendMessage(WM_HSCROLL, SB_LEFT, 0L, 0); 73 | CContainerUI::HomeLeft(); 74 | } 75 | 76 | void CRichEditUI::EndRight() 77 | { 78 | TxSendMessage(WM_HSCROLL, SB_RIGHT, 0L, 0); 79 | CContainerUI::EndRight(); 80 | } -------------------------------------------------------------------------------- /duilib license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2011, duilib develop team(www.duilib.com).All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met. 4 | 5 | Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 | 7 | Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | 9 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 10 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIActiveX.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIActiveX.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIActiveX.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIACTIVEX_H__ 2 | #define __UIACTIVEX_H__ 3 | 4 | #pragma once 5 | 6 | struct IOleObject; 7 | 8 | namespace UiLib { 9 | ///////////////////////////////////////////////////////////////////////////////////// 10 | // 11 | 12 | class CActiveXCtrl; 13 | 14 | ///////////////////////////////////////////////////////////////////////////////////// 15 | // 16 | 17 | class UILIB_API CActiveXUI : public CControlUI, public IMessageFilterUI 18 | { 19 | friend class CActiveXCtrl; 20 | public: 21 | CActiveXUI(); 22 | virtual ~CActiveXUI(); 23 | 24 | LPCTSTR GetClass() const; 25 | LPVOID GetInterface(LPCTSTR pstrName); 26 | 27 | HWND GetHostWindow() const; 28 | 29 | bool IsDelayCreate() const; 30 | void SetDelayCreate(bool bDelayCreate = true); 31 | 32 | bool CreateControl(const CLSID clsid); 33 | bool CreateControl(LPCTSTR pstrCLSID); 34 | HRESULT GetControl(const IID iid, LPVOID* ppRet); 35 | CLSID GetClisd() const; 36 | CDuiString GetModuleName() const; 37 | void SetModuleName(LPCTSTR pstrText); 38 | 39 | void SetVisible(bool bVisible = true); 40 | void SetInternVisible(bool bVisible = true); 41 | void SetPos(RECT rc); 42 | void DoPaint(HDC hDC, const RECT& rcPaint); 43 | 44 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 45 | 46 | LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled); 47 | 48 | protected: 49 | virtual void ReleaseControl(); 50 | virtual bool DoCreateControl(); 51 | 52 | protected: 53 | CLSID m_clsid; 54 | CDuiString m_sModuleName; 55 | bool m_bCreated; 56 | bool m_bDelayCreate; 57 | IOleObject* m_pUnk; 58 | CActiveXCtrl* m_pControl; 59 | HWND m_hwndHost; 60 | }; 61 | 62 | } // namespace DuiLib 63 | 64 | #endif // __UIACTIVEX_H__ 65 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIChartView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIChartView.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UICheckBox.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "UICheckBox.h" 3 | 4 | namespace UiLib 5 | { 6 | 7 | LPCTSTR CCheckBoxUI::GetClass() const 8 | { 9 | return _T("CheckBoxUI"); 10 | } 11 | 12 | void CCheckBoxUI::SetCheck(bool bCheck) 13 | { 14 | Selected(bCheck); 15 | } 16 | 17 | bool CCheckBoxUI::GetCheck() const 18 | { 19 | return IsSelected(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UICheckBox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UICheckBox.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UICombo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UICombo.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIComboBox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIComboBox.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIDateTime.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIDateTime.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIDateTime.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIDateTime.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIEdit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIEdit.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIFadeButton.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIFADEBUTTON_H__ 2 | #define __UIFADEBUTTON_H__ 3 | 4 | #include "UIAnimation.h" 5 | #pragma once 6 | 7 | namespace UiLib { 8 | 9 | class UILIB_API CFadeButtonUI : public CButtonUI, public CUIAnimation 10 | { 11 | public: 12 | CFadeButtonUI(); 13 | virtual ~CFadeButtonUI(); 14 | 15 | LPCTSTR GetClass() const; 16 | LPVOID GetInterface(LPCTSTR pstrName); 17 | void SetNormalImage(LPCTSTR pStrImage); 18 | 19 | void DoEvent(TEventUI& event); 20 | void OnTimer( int nTimerID ); 21 | void PaintStatusImage(HDC hDC); 22 | 23 | virtual void OnAnimationStart(INT nAnimationID, BOOL bFirstLoop) {} 24 | virtual void OnAnimationStep(INT nTotalFrame, INT nCurFrame, INT nAnimationID); 25 | virtual void OnAnimationStop(INT nAnimationID) {} 26 | 27 | protected: 28 | CDuiString m_sOldImage; 29 | CDuiString m_sNewImage; 30 | CDuiString m_sLastImage; 31 | BYTE m_bFadeAlpha; 32 | BOOL m_bMouseHove; 33 | BOOL m_bMouseLeave; 34 | enum{ 35 | FADE_IN_ID = 8, 36 | FADE_OUT_ID = 9, 37 | 38 | FADE_ELLAPSE = 10, 39 | FADE_FRAME_COUNT = 30, 40 | }; 41 | }; 42 | 43 | } // namespace UiLib 44 | 45 | #endif // __UIFADEBUTTON_H__ -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIFlash.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIFlash.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIFlash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIFlash.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIGifAnim.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIGifAnim.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIGifAnim.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIGifAnim.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UILabel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UILabel.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIList.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIList.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIList.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIList.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIOption.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIOPTION_H__ 2 | #define __UIOPTION_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | class UILIB_API COptionUI : public CButtonUI 9 | { 10 | public: 11 | COptionUI(); 12 | ~COptionUI(); 13 | 14 | LPCTSTR GetClass() const; 15 | LPVOID GetInterface(LPCTSTR pstrName); 16 | 17 | void SetManager(CPaintManagerUI* pManager, CControlUI* pParent, bool bInit = true); 18 | 19 | bool Activate(); 20 | void SetEnabled(bool bEnable = true); 21 | 22 | LPCTSTR GetSelectedImage(); 23 | void SetSelectedImage(LPCTSTR pStrImage); 24 | 25 | LPCTSTR GetSelectedHotImage(); 26 | void SetSelectedHotImage(LPCTSTR pStrImage); 27 | 28 | LPCTSTR GetSelectedPushedImage(); 29 | void SetSelectedPushedImage(LPCTSTR pStrImage); 30 | 31 | void SetSelectedTextColor(DWORD dwTextColor); 32 | DWORD GetSelectedTextColor(); 33 | 34 | void SetSelectedBkColor(DWORD dwBkColor); 35 | DWORD GetSelectBkColor(); 36 | 37 | LPCTSTR GetForeImage(); 38 | void SetForeImage(LPCTSTR pStrImage); 39 | 40 | LPCTSTR GetGroup() const; 41 | void SetGroup(LPCTSTR pStrGroupName = NULL); 42 | bool IsSelected() const; 43 | virtual void Selected(bool bSelected); 44 | 45 | SIZE EstimateSize(SIZE szAvailable); 46 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 47 | 48 | void PaintStatusImage(HDC hDC); 49 | void PaintText(HDC hDC); 50 | 51 | protected: 52 | bool m_bSelected; 53 | CDuiString m_sGroupName; 54 | 55 | DWORD m_dwSelectedBkColor; 56 | DWORD m_dwSelectedTextColor; 57 | 58 | CDuiString m_sSelectedImage; 59 | CDuiString m_sSelectedHotImage; 60 | CDuiString m_sSelectedPushedImage; 61 | CDuiString m_sForeImage; 62 | }; 63 | 64 | } // namespace UiLib 65 | 66 | #endif // __UIOPTION_H__ -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIProgress.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIPROGRESS_H__ 2 | #define __UIPROGRESS_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | class UILIB_API CProgressUI : public CLabelUI 9 | { 10 | public: 11 | CProgressUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | 16 | bool IsHorizontal(); 17 | void SetHorizontal(bool bHorizontal = true); 18 | bool IsStretchForeImage(); 19 | void SetStretchForeImage(bool bStretchForeImage = true); 20 | int GetMinValue() const; 21 | void SetMinValue(int nMin); 22 | int GetMaxValue() const; 23 | void SetMaxValue(int nMax); 24 | int GetValue() const; 25 | void SetValue(int nValue); 26 | LPCTSTR GetForeImage() const; 27 | void SetForeImage(LPCTSTR pStrImage); 28 | 29 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 30 | void PaintStatusImage(HDC hDC); 31 | 32 | protected: 33 | bool m_bHorizontal; 34 | bool m_bStretchForeImage; 35 | int m_nMax; 36 | int m_nMin; 37 | int m_nValue; 38 | 39 | CDuiString m_sForeImage; 40 | CDuiString m_sForeImageModify; 41 | }; 42 | 43 | } // namespace UiLib 44 | 45 | #endif // __UIPROGRESS_H__ 46 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIRichEdit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIRichEdit.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIRichEdit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIRichEdit.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UISlider.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UISlider.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UISlider.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UISlider.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIText.h: -------------------------------------------------------------------------------- 1 | #ifndef __UITEXT_H__ 2 | #define __UITEXT_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | class UILIB_API CTextUI : public CLabelUI 9 | { 10 | public: 11 | CTextUI(); 12 | ~CTextUI(); 13 | 14 | LPCTSTR GetClass() const; 15 | UINT GetControlFlags() const; 16 | LPVOID GetInterface(LPCTSTR pstrName); 17 | 18 | CDuiString* GetLinkContent(int iIndex); 19 | 20 | void DoEvent(TEventUI& event); 21 | SIZE EstimateSize(SIZE szAvailable); 22 | 23 | void PaintText(HDC hDC); 24 | 25 | protected: 26 | enum { MAX_LINK = 8 }; 27 | int m_nLinks; 28 | RECT m_rcLinks[MAX_LINK]; 29 | CDuiString m_sLinks[MAX_LINK]; 30 | int m_nHoverLink; 31 | }; 32 | 33 | } // namespace UiLib 34 | 35 | #endif //__UITEXT_H__ -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UITreeView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UITreeView.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIWebBrowser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIWebBrowser.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIWebBrowser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Control/UIWebBrowser.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIBase.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIBase.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIContainer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIContainer.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIContainer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIContainer.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIControl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIControl.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIControl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIControl.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIDefine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIDefine.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIDlgBuilder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIDlgBuilder.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIDlgBuilder.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIDLGBUILDER_H__ 2 | #define __UIDLGBUILDER_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib { 7 | 8 | class IDialogBuilderCallback 9 | { 10 | public: 11 | virtual CControlUI* CreateControl(LPCTSTR pstrClass) = 0; 12 | }; 13 | 14 | 15 | class UILIB_API CDialogBuilder 16 | { 17 | public: 18 | CDialogBuilder(); 19 | CControlUI* Create(STRINGorID xml, LPCTSTR type = NULL, IDialogBuilderCallback* pCallback = NULL, 20 | CPaintManagerUI* pManager = NULL, CControlUI* pParent = NULL); 21 | CControlUI* Create(IDialogBuilderCallback* pCallback = NULL, CPaintManagerUI* pManager = NULL, 22 | CControlUI* pParent = NULL); 23 | 24 | CMarkup* GetMarkup(); 25 | 26 | void GetLastErrorMessage(LPTSTR pstrMessage, SIZE_T cchMax) const; 27 | void GetLastErrorLocation(LPTSTR pstrSource, SIZE_T cchMax) const; 28 | private: 29 | CControlUI* _Parse(CMarkupNode* parent, CControlUI* pParent = NULL, CPaintManagerUI* pManager = NULL); 30 | 31 | CMarkup m_xml; 32 | IDialogBuilderCallback* m_pCallback; 33 | LPCTSTR m_pstrtype; 34 | }; 35 | 36 | } // namespace UiLib 37 | 38 | #endif // __UIDLGBUILDER_H__ 39 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIDxAnimation.h: -------------------------------------------------------------------------------- 1 | #ifndef UIDxAnimation_h__ 2 | #define UIDxAnimation_h__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | typedef enum 9 | { 10 | UIANIMTYPE_FLAT, 11 | UIANIMTYPE_SWIPE, 12 | } UITYPE_ANIM; 13 | 14 | class UILIB_API CDxAnimationUI 15 | { 16 | public: 17 | CDxAnimationUI(const CDxAnimationUI& src); 18 | CDxAnimationUI(UITYPE_ANIM AnimType, DWORD dwStartTick, DWORD dwDuration, COLORREF clrBack, COLORREF clrKey, RECT rcFrom, int xtrans, int ytrans, int ztrans, int alpha, float zrot); 19 | ~CDxAnimationUI(void); 20 | 21 | typedef enum 22 | { 23 | INTERPOLATE_LINEAR, 24 | INTERPOLATE_COS, 25 | } INTERPOLATETYPE; 26 | 27 | typedef struct PLOTMATRIX 28 | { 29 | int xtrans; 30 | int ytrans; 31 | int ztrans; 32 | int alpha; 33 | float zrot; 34 | } PLOTMATRIX; 35 | 36 | UITYPE_ANIM AnimType; 37 | DWORD dwStartTick; 38 | DWORD dwDuration; 39 | int iBufferStart; 40 | int iBufferEnd; 41 | union 42 | { 43 | struct 44 | { 45 | COLORREF clrBack; 46 | COLORREF clrKey; 47 | RECT rcFrom; 48 | PLOTMATRIX mFrom; 49 | INTERPOLATETYPE iInterpolate; 50 | } plot; 51 | } data; 52 | }; 53 | } 54 | 55 | #endif // UIDxAnimation_h__ 56 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIManager - 副本.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIManager - 副本.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIManager.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIMarkup.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIMarkup.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIRender.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIRender.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIRender.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Core/UIRender.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Layout/UIAnimationTabLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIANIMATIONTABLAYOUT_H__ 2 | #define __UIANIMATIONTABLAYOUT_H__ 3 | 4 | #pragma once 5 | using namespace std; 6 | namespace UiLib 7 | { 8 | 9 | class UILIB_API CAnimationTabLayoutUI : public CTabLayoutUI, public CUIAnimation 10 | { 11 | public: 12 | CAnimationTabLayoutUI(); 13 | 14 | LPCTSTR GetClass() const; 15 | LPVOID GetInterface(LPCTSTR pstrName); 16 | 17 | bool SelectItem( int iIndex ); 18 | void AnimationSwitch(); 19 | void DoEvent(TEventUI& event); 20 | void OnTimer( int nTimerID ); 21 | 22 | virtual void OnAnimationStart(INT nAnimationID, BOOL bFirstLoop) {} 23 | virtual void OnAnimationStep(INT nTotalFrame, INT nCurFrame, INT nAnimationID); 24 | virtual void OnAnimationStop(INT nAnimationID); 25 | 26 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 27 | 28 | protected: 29 | bool m_bIsVerticalDirection; 30 | int m_nPositiveDirection; 31 | RECT m_rcCurPos; 32 | RECT m_rcItemOld; 33 | CControlUI* m_pCurrentControl; 34 | bool m_bControlVisibleFlag; 35 | enum 36 | { 37 | TAB_ANIMATION_ID = 1, 38 | 39 | TAB_ANIMATION_ELLAPSE = 10, 40 | TAB_ANIMATION_FRAME_COUNT = 15, 41 | }; 42 | }; 43 | } 44 | #endif // __UIANIMATIONTABLAYOUT_H__ -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Layout/UIChildLayout.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "UIChildLayout.h" 3 | 4 | namespace UiLib 5 | { 6 | 7 | CChildLayoutUI::CChildLayoutUI() 8 | { 9 | 10 | } 11 | 12 | void CChildLayoutUI::Init() 13 | { 14 | if (!m_pstrXMLFile.IsEmpty()) 15 | { 16 | CDialogBuilder builder; 17 | CContainerUI* pChildWindow = static_cast(builder.Create(m_pstrXMLFile.GetData(), (UINT)0)); 18 | if (pChildWindow) 19 | { 20 | this->Add(pChildWindow); 21 | } 22 | else 23 | { 24 | this->RemoveAll(); 25 | } 26 | } 27 | } 28 | 29 | void CChildLayoutUI::SetAttribute( LPCTSTR pstrName, LPCTSTR pstrValue ) 30 | { 31 | if( _tcscmp(pstrName, _T("xmlfile")) == 0 ) 32 | SetChildLayoutXML(pstrValue); 33 | else 34 | CContainerUI::SetAttribute(pstrName,pstrValue); 35 | } 36 | 37 | void CChildLayoutUI::SetChildLayoutXML( UiLib::CDuiString pXML ) 38 | { 39 | m_pstrXMLFile=pXML; 40 | } 41 | 42 | UiLib::CDuiString CChildLayoutUI::GetChildLayoutXML() 43 | { 44 | return m_pstrXMLFile; 45 | } 46 | 47 | LPVOID CChildLayoutUI::GetInterface( LPCTSTR pstrName ) 48 | { 49 | if( _tcscmp(pstrName, DUI_CTR_CHILDLAYOUT) == 0 ) return static_cast(this); 50 | return CContainerUI::GetInterface(pstrName); 51 | } 52 | 53 | LPCTSTR CChildLayoutUI::GetClass() const 54 | { 55 | return _T("ChildLayoutUI"); 56 | } 57 | } // namespace UiLib 58 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Layout/UIChildLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UICHILDLAYOUT_H__ 2 | #define __UICHILDLAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | class UILIB_API CChildLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CChildLayoutUI(); 12 | 13 | void Init(); 14 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 15 | void SetChildLayoutXML(CDuiString pXML); 16 | UiLib::CDuiString GetChildLayoutXML(); 17 | virtual LPVOID GetInterface(LPCTSTR pstrName); 18 | virtual LPCTSTR GetClass() const; 19 | 20 | private: 21 | UiLib::CDuiString m_pstrXMLFile; 22 | }; 23 | } // namespace UiLib 24 | #endif // __UICHILDLAYOUT_H__ 25 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Layout/UIHorizontalLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIHORIZONTALLAYOUT_H__ 2 | #define __UIHORIZONTALLAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | class UILIB_API CHorizontalLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CHorizontalLayoutUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | UINT GetControlFlags() const; 16 | 17 | void SetSepWidth(int iWidth); 18 | int GetSepWidth() const; 19 | void SetSepImmMode(bool bImmediately); 20 | bool IsSepImmMode() const; 21 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 22 | void DoEvent(TEventUI& event); 23 | 24 | void SetPos(RECT rc); 25 | void DoPostPaint(HDC hDC, const RECT& rcPaint); 26 | 27 | RECT GetThumbRect(bool bUseNew = false) const; 28 | 29 | protected: 30 | int m_iSepWidth; 31 | UINT m_uButtonState; 32 | POINT ptLastMouse; 33 | RECT m_rcNewPos; 34 | bool m_bImmMode; 35 | }; 36 | } 37 | #endif // __UIHORIZONTALLAYOUT_H__ 38 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Layout/UITabLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UITABLAYOUT_H__ 2 | #define __UITABLAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | class UILIB_API CTabLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CTabLayoutUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | 16 | bool Add(CControlUI* pControl); 17 | bool AddAt(CControlUI* pControl, int iIndex); 18 | bool Remove(CControlUI* pControl); 19 | void RemoveAll(); 20 | int GetCurSel() const; 21 | bool SelectItem(int iIndex); 22 | bool SelectItem(CControlUI* pControl); 23 | 24 | void SetPos(RECT rc); 25 | 26 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 27 | 28 | protected: 29 | int m_iCurSel; 30 | }; 31 | } 32 | #endif // __UITABLAYOUT_H__ 33 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Layout/UITileLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UITILELAYOUT_H__ 2 | #define __UITILELAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | class UILIB_API CTileLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CTileLayoutUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | 16 | void SetPos(RECT rc); 17 | 18 | SIZE GetItemSize() const; 19 | void SetItemSize(SIZE szItem); 20 | int GetColumns() const; 21 | void SetColumns(int nCols); 22 | 23 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 24 | 25 | protected: 26 | SIZE m_szItem; 27 | int m_nColumns; 28 | }; 29 | } 30 | #endif // __UITILELAYOUT_H__ 31 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Layout/UIVerticalLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef __UIVERTICALLAYOUT_H__ 2 | #define __UIVERTICALLAYOUT_H__ 3 | 4 | #pragma once 5 | 6 | namespace UiLib 7 | { 8 | class UILIB_API CVerticalLayoutUI : public CContainerUI 9 | { 10 | public: 11 | CVerticalLayoutUI(); 12 | 13 | LPCTSTR GetClass() const; 14 | LPVOID GetInterface(LPCTSTR pstrName); 15 | UINT GetControlFlags() const; 16 | 17 | void SetSepHeight(int iHeight); 18 | int GetSepHeight() const; 19 | void SetSepImmMode(bool bImmediately); 20 | bool IsSepImmMode() const; 21 | void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); 22 | void DoEvent(TEventUI& event); 23 | 24 | void SetPos(RECT rc); 25 | void DoPostPaint(HDC hDC, const RECT& rcPaint); 26 | 27 | RECT GetThumbRect(bool bUseNew = false) const; 28 | 29 | protected: 30 | int m_iSepHeight; 31 | UINT m_uButtonState; 32 | POINT ptLastMouse; 33 | RECT m_rcNewPos; 34 | bool m_bImmMode; 35 | }; 36 | } 37 | #endif // __UIVERTICALLAYOUT_H__ 38 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // UIlib.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/StdAfx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/StdAfx.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/UIlib.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "UIlib.h" 3 | 4 | 5 | BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID /*lpReserved*/) 6 | { 7 | switch( dwReason ) 8 | { 9 | case DLL_PROCESS_ATTACH: 10 | case DLL_THREAD_ATTACH: 11 | case DLL_THREAD_DETACH: 12 | case DLL_PROCESS_DETACH: 13 | ::DisableThreadLibraryCalls((HMODULE)hModule); 14 | break; 15 | } 16 | return TRUE; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/UiLib.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/UiLib.vcproj -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/UiLib.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/DuiAutoComplete.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/DuiAutoComplete.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/DuiAutoComplete.h: -------------------------------------------------------------------------------- 1 | #ifndef DuiAutoComplete_h__ 2 | #define DuiAutoComplete_h__ 3 | 4 | #pragma once 5 | #include 6 | #include 7 | #include 8 | 9 | namespace UiLib 10 | { 11 | class UILIB_API CDuiAutoComplete : public IEnumString 12 | { 13 | private: 14 | TStdPtrArray m_sStringArrayMap; 15 | CComPtr& GetIAutoComplete(); 16 | 17 | ULONG m_nCurrentElement; 18 | ULONG m_nRefCount; 19 | BOOL m_fBound; 20 | int m_iMaxItemCount; 21 | 22 | public: 23 | CDuiAutoComplete(); 24 | ~CDuiAutoComplete(); 25 | 26 | public: 27 | BOOL Bind(HWND p_hWndEdit, DWORD p_dwOptions = 0, LPCTSTR p_lpszFormatString = NULL); 28 | VOID Unbind(); 29 | BOOL IsBound() const { return m_fBound; } 30 | 31 | const TStdPtrArray& GetStringArray() const; 32 | int GetItemCount(); 33 | 34 | BOOL AddItem(const CDuiString& p_sItem, int iPos = -1); 35 | BOOL RemoveItem(const CDuiString& p_sItem); 36 | CDuiString GetItem(int pos); 37 | 38 | BOOL Clear(); 39 | BOOL Disable(); 40 | BOOL Enable(VOID); 41 | 42 | BOOL LoadList(LPCTSTR pszFileName); 43 | BOOL SaveList(LPCTSTR pszFileName); 44 | 45 | public: 46 | STDMETHOD_(ULONG,AddRef)(); 47 | STDMETHOD_(ULONG,Release)(); 48 | STDMETHOD(QueryInterface)(REFIID riid, void** ppvObject); 49 | 50 | public: 51 | STDMETHOD(Next)(ULONG celt, LPOLESTR* rgelt, ULONG* pceltFetched); 52 | STDMETHOD(Skip)(ULONG celt); 53 | STDMETHOD(Reset)(void); 54 | STDMETHOD(Clone)(IEnumString** ppenum); 55 | 56 | private: 57 | void InternalInit(); 58 | HRESULT EnDisable(BOOL p_fEnable); 59 | int FindItem(const CDuiString& rstr); 60 | }; 61 | } 62 | #endif // DuiAutoComplete_h__ 63 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/DuiTrayIcon.h: -------------------------------------------------------------------------------- 1 | #ifndef DuiTrayIcon_h__ 2 | #define DuiTrayIcon_h__ 3 | 4 | #pragma once 5 | #include 6 | 7 | namespace UiLib 8 | { 9 | class IDuiTimer; 10 | class UILIB_API CDuiTrayIcon 11 | { 12 | public: 13 | CDuiTrayIcon(void); 14 | ~CDuiTrayIcon(void); 15 | 16 | public: 17 | void CreateTrayIcon( HWND _RecvHwnd,UINT _IconIDResource,LPCTSTR _ToolTipText = NULL,UINT _Message = NULL/*(UIEVENT_TRAYICON)*/); 18 | void DeleteTrayIcon(); 19 | bool SetTooltipText(LPCTSTR _ToolTipText); 20 | bool SetTooltipText(UINT _IDResource); 21 | CDuiString GetTooltipText() const; 22 | 23 | bool SetIcon(HICON _Hicon); 24 | bool SetIcon(LPCTSTR _IconFile); 25 | bool SetIcon(UINT _IDResource); 26 | HICON GetIcon() const; 27 | void SetHideIcon(); 28 | void SetShowIcon(); 29 | void RemoveIcon(); 30 | bool StartTwinkling(); 31 | void StopTwinkling(); 32 | 33 | bool Enabled(){return m_bEnabled;}; 34 | bool IsVisible(){return !m_bVisible;}; 35 | bool IsTwinkling(){return m_bTwinkling;}; 36 | 37 | void OnTimer(IDuiTimer* pTimer); 38 | private: 39 | bool m_bEnabled; 40 | bool m_bVisible; 41 | bool m_bTwinkling; 42 | HWND m_hWnd; 43 | UINT m_uMessage; 44 | HICON m_hIcon; 45 | IDuiTimer* pIDuiTimer; 46 | NOTIFYICONDATA m_trayData; 47 | }; 48 | } 49 | #endif // DuiTrayIcon_h__ 50 | 51 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/FlashEventHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/FlashEventHandler.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/IWindowBase.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/IWindowBase.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/IWindowBase.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/IWindowBase.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/Internal.h: -------------------------------------------------------------------------------- 1 | #ifndef Internal_h__ 2 | #define Internal_h__ 3 | 4 | #if _MSC_VER > 1000 5 | #pragma once 6 | #endif // _MSC_VER > 1000 7 | 8 | #include 9 | #include 10 | #include "../Core/UIDxAnimation.h" 11 | 12 | namespace UiLib 13 | { 14 | template< class T > 15 | class CSafeRelease 16 | { 17 | public: 18 | CSafeRelease(T* p) : m_p(p) { }; 19 | ~CSafeRelease() { if( m_p != NULL ) m_p->Release(); }; 20 | T* Detach() { T* t = m_p; m_p = NULL; return t; }; 21 | T* m_p; 22 | }; 23 | 24 | 25 | class CAnimationSpooler 26 | { 27 | public: 28 | CAnimationSpooler(); 29 | ~CAnimationSpooler(); 30 | 31 | enum { MAX_BUFFERS = 80 }; 32 | 33 | bool Init(HWND hWnd); 34 | bool PrepareAnimation(HWND hWnd); 35 | void CancelJobs(); 36 | bool Render(); 37 | 38 | bool IsAnimating() const; 39 | bool IsJobScheduled() const; 40 | bool AddJob(CDxAnimationUI* pJob); 41 | 42 | protected: 43 | void Term(); 44 | 45 | COLORREF TranslateColor(LPDIRECT3DSURFACE9 pSurface, COLORREF clr) const; 46 | bool SetColorKey(LPDIRECT3DTEXTURE9 pTexture, LPDIRECT3DSURFACE9 pSurface, int iTexSize, COLORREF clrColorKey); 47 | 48 | bool PrepareJob_Flat(CDxAnimationUI* pJob); 49 | bool RenderJob_Flat(const CDxAnimationUI* pJob, LPDIRECT3DSURFACE9 pSurface, DWORD dwTick); 50 | 51 | protected: 52 | struct CUSTOMVERTEX 53 | { 54 | FLOAT x, y, z; 55 | FLOAT rhw; 56 | DWORD color; 57 | FLOAT tu, tv; 58 | }; 59 | typedef CUSTOMVERTEX CUSTOMFAN[4]; 60 | 61 | HWND m_hWnd; 62 | bool m_bIsAnimating; 63 | bool m_bIsInitialized; 64 | CStdPtrArray m_aJobs; 65 | D3DFORMAT m_ColorFormat; 66 | LPDIRECT3D9 m_pD3D; 67 | LPDIRECT3DDEVICE9 m_p3DDevice; 68 | LPDIRECT3DSURFACE9 m_p3DBackSurface; 69 | // 70 | LPDIRECT3DVERTEXBUFFER9 m_p3DVertices[MAX_BUFFERS]; 71 | LPDIRECT3DTEXTURE9 m_p3DTextures[MAX_BUFFERS]; 72 | CUSTOMFAN m_fans[MAX_BUFFERS]; 73 | int m_nBuffers; 74 | }; 75 | 76 | } 77 | #endif // Internal_h__ 78 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/Utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/Utils.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/WinImplBase.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/WinImplBase.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/WinImplBase.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/UiLib/Utils/WinImplBase.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou.suo -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou.v11.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou.v11.suo -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/ControlNames.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/ControlNames.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/PopupWidget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/PopupWidget.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/PopupWidget.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/PopupWidget.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/SkinPickerPictureItem.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/SkinPickerPictureItem.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/SkinPickerPictureItem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/SkinPickerPictureItem.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIColorPalette.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIColorPalette.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIColorPalette.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIColorPalette.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIHotButton.cpp: -------------------------------------------------------------------------------- 1 | #include "..\duilib.h" 2 | 3 | /////////////////////////////////////////////////////////////////////// 4 | // 5 | // 6 | CHotButtonUI::CHotButtonUI() 7 | { 8 | 9 | } 10 | LPCTSTR CHotButtonUI::GetClass() const 11 | { 12 | return kHotButtonClassName; 13 | } 14 | 15 | LPVOID CHotButtonUI::GetInterface(LPCTSTR pstrName) 16 | { 17 | if( _tcscmp(pstrName, kHotButtonInterface) == 0 ) return static_cast(this); 18 | return CButtonUI::GetInterface(pstrName); 19 | } 20 | 21 | void CHotButtonUI::DoEvent(TEventUI& event) 22 | { 23 | if( !IsMouseEnabled() && event.Type > UIEVENT__MOUSEBEGIN && event.Type < UIEVENT__MOUSEEND ) { 24 | if( m_pParent != NULL ) m_pParent->DoEvent(event); 25 | else CButtonUI::DoEvent(event); 26 | return; 27 | } 28 | 29 | if( event.Type == UIEVENT_MOUSEENTER ) 30 | { 31 | if( IsEnabled() ) { 32 | m_uButtonState |= UISTATE_HOT; 33 | m_pManager->SendNotify(this, DUI_MSGTYPE_BUTTON_HOT, event.wParam, event.lParam); 34 | Invalidate(); 35 | } 36 | return; 37 | } 38 | 39 | CButtonUI::DoEvent(event); 40 | } 41 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIHotButton.h: -------------------------------------------------------------------------------- 1 | #ifndef UI_HOT_BUTTON_H 2 | #define UI_HOT_BUTTON_H 3 | 4 | const TCHAR kHotButtonClassName[] = _T("HotButtonUI"); 5 | const TCHAR kHotButtonInterface[] = _T("HotButton"); 6 | 7 | #define DUI_MSGTYPE_BUTTON_HOT (_T("buttonhot")) 8 | 9 | class CHotButtonUI : public CButtonUI 10 | { 11 | public: 12 | CHotButtonUI(); 13 | 14 | LPCTSTR GetClass() const; 15 | LPVOID GetInterface(LPCTSTR pstrName); 16 | 17 | void DoEvent(TEventUI& event); 18 | }; 19 | 20 | #endif // UI_HOT_BUTTON_H -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIMenu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIMenu.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIMusicList.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIMusicList.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIMusicList.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIMusicList.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIRadioList.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Controls/UIRadioList.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Discard/CreateControlEx.h: -------------------------------------------------------------------------------- 1 | #ifndef CREATE_CONTROL_EX_H 2 | #define CREATE_CONTROL_EX_H 3 | 4 | class CDialogBuilderCallbackEx : public IDialogBuilderCallback 5 | { 6 | public: 7 | CControlUI* CDialogBuilderCallbackEx::CreateControl(LPCTSTR pstrClass) 8 | { 9 | if (_tcsicmp(pstrClass, kMusicListItemUIInferFace) == 0) 10 | return new CMusicListItemUI(); 11 | return NULL; 12 | } 13 | }; 14 | 15 | 16 | #endif CREATE_CONTROL_EX_H -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Discard/CustomWebEventHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Discard/CustomWebEventHandler.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/DropTargetEx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/DropTargetEx.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/DropTargetEx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/DropTargetEx.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Duilib.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Duilib.aps -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Duilib.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Duilib.rc -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Duilib.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Duilib.res -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/FrameWnd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/FrameWnd.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/FrameWnd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/FrameWnd.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/MessageDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/MessageDialog.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/MessageDialog.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/MessageDialog.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/MusicInfoDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/MusicInfoDialog.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/MusicInfoDialog.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CMusicInfoDialog: public CWindowWnd 4 | { 5 | public: 6 | explicit CMusicInfoDialog(); 7 | 8 | protected: 9 | virtual ~CMusicInfoDialog(); 10 | 11 | public: 12 | LPCTSTR GetWindowClassName() const; 13 | UINT GetClassStyle() const; 14 | void OnFinalMessage(HWND /*hWnd*/); 15 | 16 | void ResetWindow(LONG pty, MEDIA* pMedia); 17 | void Init(LPCTSTR pszXMLPath, HWND hWmdParent, LONG ptx); 18 | 19 | LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 20 | LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 21 | LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 22 | LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 23 | LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 24 | LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 25 | LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 26 | LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 27 | LRESULT OnMouseLeave(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 28 | LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam); 29 | 30 | protected: 31 | CDuiString m_strXMLPath; 32 | CPaintManagerUI m_pm; 33 | MEDIA *m_pMedia; 34 | HWND m_hParentWnd; 35 | POINT m_pt; 36 | 37 | }; 38 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/PalletDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/PalletDialog.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/PalletDialog.h: -------------------------------------------------------------------------------- 1 | #ifndef PALLET_DIALOG_H 2 | #define PALLET_DIALOG_H 3 | #include "SkinPickerDialog.h" 4 | 5 | const TCHAR kPalletPallet[] = _T("Pallet"); 6 | const TCHAR kPalletOk[] = _T("Pallet_BTN_OK"); 7 | const TCHAR kPalletCancel[] = _T("Pallet_BTN_CANCEL"); 8 | 9 | 10 | class CPalletDialog : public CWindowWnd, public INotifyUI, public IDialogBuilderCallback 11 | { 12 | public: 13 | CPalletDialog(LPCTSTR pszXMLPath, CSkinPickerDialog *pSkinPickerWnd); 14 | ~CPalletDialog(); 15 | 16 | LPCTSTR GetWindowClassName() const; 17 | UINT GetClassStyle() const; 18 | void OnFinalMessage(HWND /*hWnd*/); 19 | DWORD GetSelectColor() ; 20 | 21 | void Init(); 22 | void Notify(TNotifyUI& msg); 23 | CControlUI* CreateControl(LPCTSTR pstrClass) ; 24 | 25 | void SetBkColor(DWORD dwBackColor); 26 | DWORD GetBkColor() const; 27 | void SetBkImage(CDuiString strBkImage); 28 | LPCTSTR GetBkImage(); 29 | 30 | LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 31 | LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 32 | LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 33 | LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 34 | LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 35 | LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 36 | LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 37 | LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 38 | LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 39 | LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 40 | LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam); 41 | 42 | protected: 43 | CSkinPickerDialog*m_pSkinPickerWnd; 44 | CPaintManagerUI m_pm; 45 | CDuiString m_strXMLPath; 46 | CWndShadow m_WndShadow; 47 | CColorPaletteUI *m_pPallet; 48 | CButtonUI *m_pBtnOk; 49 | CButtonUI *m_pBtnCancel; 50 | DWORD m_SelectedColor; 51 | }; 52 | 53 | #endif PALLET_DIALOG_H 54 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/SettingDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/SettingDialog.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/SettingDialog.h: -------------------------------------------------------------------------------- 1 | #ifndef SETTING_DIALOG_H 2 | #define SETTING_DIALOG_H 3 | 4 | 5 | const TCHAR kSetting[] = _T("SkinPictureItem"); 6 | 7 | 8 | 9 | 10 | class CSettingDialog : public CWindowWnd, public INotifyUI 11 | { 12 | public: 13 | CSettingDialog(LPCTSTR pszXMLPath, CFrameWnd *pMainWnd); 14 | ~CSettingDialog(); 15 | 16 | LPCTSTR GetWindowClassName() const; 17 | UINT GetClassStyle() const; 18 | void OnFinalMessage(HWND /*hWnd*/); 19 | 20 | void Init(); 21 | void Notify(TNotifyUI& msg); 22 | 23 | void SetBkColor(DWORD dwBackColor); 24 | DWORD GetBkColor() const; 25 | void SetBkImage(CDuiString strBkImage); 26 | LPCTSTR GetBkImage(); 27 | 28 | LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 29 | LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 30 | LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 31 | LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 32 | LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 33 | LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 34 | LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 35 | LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 36 | LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 37 | LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 38 | LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam); 39 | 40 | protected: 41 | CFrameWnd *m_pMainWnd; 42 | CPaintManagerUI m_pm; 43 | CDuiString m_strXMLPath; 44 | CWndShadow m_WndShadow; 45 | 46 | }; 47 | 48 | #endif SETTING_DIALOG_H 49 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/SkinPickerDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/SkinPickerDialog.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Utils/FileUtil.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Utils/FileUtil.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Utils/FileUtil.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/Utils/FileUtil.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/cloneKuGou.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/cloneKuGou.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/cloneKuGou.vcproj -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/duilib.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "UIlib.h" 4 | #include "resource.h" 5 | #include "ControlNames.h" 6 | #include "string" 7 | #include "map" 8 | using namespace std; 9 | using namespace DuiLib; 10 | 11 | #ifdef _UNICODE 12 | typedef wstring tstring; 13 | #else 14 | typedef string tstring; 15 | #endif 16 | /*************************************************/ 17 | 18 | #include "Utils\FileUtil.h" 19 | #include "Utils\WndShadow.h" 20 | 21 | /*************************************************/ 22 | //#include "Controls\CreateControlEx.h" 23 | //#include "Controls\CustomWebEventHandler.h" 24 | #include "Controls\UIHotButton.h" 25 | 26 | #include "Controls\SkinPickerPictureItem.h" 27 | 28 | #include "zplay\libzplay.h" 29 | #include "zplay\MusicPlayer.h" 30 | 31 | #include "wke\wke.h" 32 | #include "wke\WkeWebkit.h" 33 | 34 | #include "Controls\PopupWidget.h" 35 | 36 | #include "Controls\UIRadioList.h" 37 | #include "Controls\UIMusicList.h" 38 | 39 | #include "Controls\\UIColorPalette.h" 40 | 41 | /*************************************************/ 42 | #include "MessageDialog.h" 43 | #include "MusicInfoDialog.h" 44 | #include "Controls\UIMenu.h" 45 | #include "FrameWnd.h" 46 | #include "SettingDialog.h" 47 | #include "PalletDialog.h" 48 | #include "SkinPickerDialog.h" 49 | 50 | #include "DropTargetEx.h" -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/duilib.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/duilib.ico -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/ico16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/ico16.ico -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/ico24.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/ico24.ico -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/ico72.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/ico72.ico -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/libzplay.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/libzplay.lib -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/localStorage/http_fanxing.kugou.com_0.localstorage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/localStorage/http_fanxing.kugou.com_0.localstorage -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/localStorage/http_www.kugou.com_0.localstorage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/localStorage/http_www.kugou.com_0.localstorage -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/main.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/resource.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/wke.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/wke.lib -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/wke/WkeWebkit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/wke/WkeWebkit.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/zplay/MusicPlayer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/zplay/MusicPlayer.cpp -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/zplay/MusicPlayer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/cloneKuGou/zplay/MusicPlayer.h -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Redrain音乐盒.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Redrain音乐盒.exe -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Redrain音乐盒加特效无网页.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Redrain音乐盒加特效无网页.exe -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Redrain音乐盒附带素材效果.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Redrain音乐盒附带素材效果.exe -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/1.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/10.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/10small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/10small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/11.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/11small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/11small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/12.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/12small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/12small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/13.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/13small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/13small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/14.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/14small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/14small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/15.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/15small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/15small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/16.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/16small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/16small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/17.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/17small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/17small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/18.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/18small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/18small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/19.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/19small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/19small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/1small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/1small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/2.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/2small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/2small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/3.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/3small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/3small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/4.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/4small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/4small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/5.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/5small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/5small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/6.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/6small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/6small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/7.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/7small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/7small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/8.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/8small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/8small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/9.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/9small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/UI/BKImage/9small.jpg -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Uilib_u.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Uilib_u.dll -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Uilib_ud.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/Uilib_ud.dll -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/libzplay.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/libzplay.dll -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/localStorage/http_www.kugou.com_0.localstorage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/localStorage/http_www.kugou.com_0.localstorage -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/plugins/NPSWF32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/plugins/NPSWF32.dll -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/wke.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redrains/DuiLib_Redrain/7da0805090bfdc7ca87ba223501ab4af061a60a4/各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/wke.dll -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/xmls/Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/xmls/Menus/Menu_List_Loop.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/xmls/Menus/Menu_Music_Group.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/xmls/Menus/Menu_Radio.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /各个Demo/Redrain仿酷狗播放器源码,无素材/Redrain仿酷狗播放器/xml/xmls/MessageBoxDialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |