[示例]炫彩界面库-模仿360安全卫士8.8
炫彩界面库-模仿360安全卫士8.8此示例程序使用炫彩界面开发,采用贴图方式实现,控件透明,换肤.
炫彩界面库-模仿360安全卫士8.8 v1.6x 版本下载地址
http://pan.baidu.com/s/1hq4625e
源代码在 炫彩界面库下载包中.
软件截图:
部分代码:
class CXPage1 : public CXEventMsg//电脑体验
{
public:
HELEm_hEle;
HELEm_hPane_right;
HELEm_hBtn_all_opened;//实时防护已开启
voidCreate();
voidCreateListView();
voidCreateRightBottom();
voidAdjustLayout();
};
//查杀木马
class CXPage2 : public CXEventMsg
{
public:
HELEm_hEle;
voidCreate();
voidAdjustLayout();
};
//漏洞扫描
class CXPage3 : public CXEventMsg
{
public:
HELEm_hEle;
HELEm_hList;
HELEm_hRichEdit;
voidCreate();
voidAdjustLayout();
};
//电脑清理
class CXPage5 : public CXEventMsg
{
public:
HELEm_hEle;
voidCreate();
voidAdjustLayout();
};
//功能大全
class CXPage9 : public CXEventMsg
{
public:
HELEm_hEle;
HELEm_hListView;
HELEm_hBottom;
voidCreate();
voidAdjustLayout();
};
class CSkinDlg : public CXEventMsg
{
public:
HWINDOWm_hWindow;
HELE m_hListView;
void Create();
BOOL OnEventListViewSelect(HELE hEle,HELE hEventEle,int groupIndex,int itemIndex);
BOOL OnWndKillFocus(HWINDOW hWindow);
};
//主框架
class CMainWnd : public CXEventMsg
{
public:
HWINDOW m_hWindow; //窗口句柄
HIMAGEm_hThemeBackground; //主题背景图片
HIMAGEm_hThemeBorder; //主题背景图片
int m_SkinIndex; //当前皮肤 默认为0
HIMAGEm_hImage_check_leave;
HIMAGEm_hImage_check_stay;
HIMAGEm_hImage_check_down;
HELE m_hBottomText;
int m_bottomText_width;
HELE m_hBtnClose;
HELE m_hBtnMax;
HELE m_hBtnMin;
HELE m_hBtnMenu;
HELE m_hBtnSkin;
CXPage1 m_page1;
CXPage2 m_page2;
CXPage3 m_page3;
CXPage5 m_page5;
CXPage9 m_page9;
BOOL Create(); //创建窗口和按钮
void CreateToolButtonAndPage();
HELE CreateToolButton(int x,int y,HIMAGE hIcon,wchar_t *pName);
void AdjustLayout();
BOOL OnEventBtnClick_Close(HELE hEle,HELE hEleEvent);
BOOL OnEventBtnClick_ChangeSkin(HELE hEle,HELE hEleEvent);
};
void CSkinDlg::Create()
{
int width=380;
int height=320;
RECT rect;
XEle_GetRect(mainWnd.m_hBtnSkin,&rect);
POINT pt;
pt.x=rect.right-width;
pt.y=rect.bottom;
HWND hMainWnd=XWnd_GetHWnd(mainWnd.m_hWindow);
ClientToScreen(hMainWnd,&pt);
m_hWindow=XWnd_CreateWindow(pt.x,pt.y,width,height,L"Skin",hMainWnd,XC_SY_ROUND);
XWnd_SetRoundSize(m_hWindow,9);
XWnd_SetImageNC(m_hWindow,mainWnd.m_hThemeBackground);
XWnd_SetImage(m_hWindow,mainWnd.m_hThemeBorder);
HELE hPicTitle=XPic_Create(10,10,360,25,m_hWindow);
XEle_SetBkTransparent(hPicTitle,TRUE);
XPic_SetImage(hPicTitle,XImage_LoadFile(L"image\\skinDlg\\titleBG.png"));
HELE hStaticTitle=XStatic_Create(10,5,100,20,L"更换皮肤",hPicTitle);
XEle_SetBkTransparent(hStaticTitle,TRUE);
XEle_SetTextColor(hStaticTitle,RGB(255,255,255));
m_hListView=XListView_Create(20,45,350,205,m_hWindow);
XListView_SetIconSize(m_hListView,97,62);
XListView_SetItemBorderSpacing(m_hListView,3,3,3,3);
XListView_SetViewLeftAlign(m_hListView,0);
XListView_SetViewTopAlign(m_hListView,0);
XEle_SetTextColor(m_hListView,RGB(255,255,255));
XEle_EnableBorder(m_hListView,FALSE);
XEle_SetBkTransparent(m_hListView,TRUE);
XEle_SetBkTransparent(XSView_GetView(m_hListView),TRUE);
HXCGUI hImageList=XImageList_Create(97,62);
XImageList_AddImage(hImageList,XImage_LoadFile(L"image\\skin\\skin1.jpg"));
XImageList_AddImage(hImageList,XImage_LoadFile(L"image\\skin\\skin2.jpg"));
XImageList_AddImage(hImageList,XImage_LoadFile(L"image\\skin\\skin3.jpg"));
XImageList_AddImage(hImageList,XImage_LoadFile(L"image\\skin\\skin4.jpg"));
XImageList_AddImage(hImageList,XImage_LoadFile(L"image\\skin\\skin5.jpg"));
XImageList_AddImage(hImageList,XImage_LoadFile(L"image\\skin\\skin6.jpg"));
XImageList_AddImage(hImageList,XImage_LoadFile(L"image\\skin\\skin7.jpg"));
XListView_SetImageList(m_hListView,hImageList);
XListView_AddItem(m_hListView,L"默认皮肤",0);
XListView_AddItem(m_hListView,L"优雅爵士",1);
XListView_AddItem(m_hListView,L"神秘星空",2);
XListView_AddItem(m_hListView,L"粉色之恋",3);
XListView_AddItem(m_hListView,L"奋斗的小鸟",4);
XListView_AddItem(m_hListView,L"青青世界",5);
XListView_AddItem(m_hListView,L"古典木纹",6);
HIMAGEhImageStay=XImage_LoadFile(L"image\\skinDlg\\listView_stay.png");
HIMAGEhImageSelect=XImage_LoadFile(L"image\\skinDlg\\listView_select.png");
for (int i=0;i<7;i++)
{
XListView_SetItemImageStay(m_hListView,-1,i,hImageStay);
XListView_SetItemImageSelect(m_hListView,-1,i,hImageSelect);
}
XListView_SetSelectItem(m_hListView,-1,mainWnd.m_SkinIndex,TRUE);
HELE hScrollBar=XSView_GetVScrollBar(m_hListView);
XEle_SetBkTransparent(hScrollBar,TRUE);
XSBar_EnableScrollButton2(hScrollBar,FALSE);
XSBar_SetImageLeaveSlider(hScrollBar,XImage_LoadFileAdaptive(L"image\\skinDlg\\ScrollBar_leave.png",1,14,10,40));
XSBar_SetImageStaySlider(hScrollBar,XImage_LoadFileAdaptive(L"image\\skinDlg\\ScrollBar_stay.png",1,14,10,40));
XSBar_SetImageDownSlider(hScrollBar,XImage_LoadFileAdaptive(L"image\\skinDlg\\ScrollBar_stay.png",1,14,10,40));
XCGUI_RegEleEvent(m_hListView,XE_LISTVIEW_SELECT,&CSkinDlg::OnEventListViewSelect);
XCGUI_RegWndMessage(m_hWindow,WM_KILLFOCUS,&CSkinDlg::OnWndKillFocus);
XWnd_ShowWindow(m_hWindow,SW_SHOW);
}
BOOL CSkinDlg::OnEventListViewSelect(HELE hEle,HELE hEventEle,int groupIndex,int itemIndex)
{
if(itemIndex<0) return FALSE;
if(mainWnd.m_SkinIndex!=itemIndex) //切换皮肤
{
mainWnd.m_SkinIndex=itemIndex;
switch(itemIndex)
{
case 0: mainWnd.m_hThemeBackground=XImage_LoadFile(L"image\\skin\\frame1.jpg"); break;
case 1: mainWnd.m_hThemeBackground=XImage_LoadFile(L"image\\skin\\frame2.jpg"); break;
case 2: mainWnd.m_hThemeBackground=XImage_LoadFile(L"image\\skin\\frame3.jpg"); break;
case 3: mainWnd.m_hThemeBackground=XImage_LoadFile(L"image\\skin\\frame4.jpg"); break;
case 4: mainWnd.m_hThemeBackground=XImage_LoadFile(L"image\\skin\\frame5.jpg"); break;
case 5: mainWnd.m_hThemeBackground=XImage_LoadFile(L"image\\skin\\frame6.jpg"); break;
case 6: mainWnd.m_hThemeBackground=XImage_LoadFile(L"image\\skin\\frame7.jpg"); break;
}
XImage_SetDrawType(mainWnd.m_hThemeBackground,XC_IMAGE_TILE);
XWnd_SetImageNC(mainWnd.m_hWindow,mainWnd.m_hThemeBackground);
XWnd_SetImageNC(m_hWindow,mainWnd.m_hThemeBackground);
XWnd_RedrawWnd(mainWnd.m_hWindow);
XWnd_RedrawWnd(m_hWindow);
}
return FALSE;
}
BOOL CSkinDlg::OnWndKillFocus(HWINDOW hWindow)
{
HWND hWnd=XWnd_GetHWnd(m_hWindow);
::DestroyWindow(hWnd);
delete this;
return TRUE;
}
int APIENTRY _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine, int nCmdShow)
{
XInitXCGUI();
if(mainWnd.Create())
{
XRunXCGUI();
}
return 0;
}
下载地址呢:D:lol ▓_小田纯白 发表于 2012-12-25 18:44 static/image/common/back.gif
下载地址呢
源代码在 炫彩界面库下载包中. admin 发表于 2012-12-25 21:33 static/image/common/back.gif
源代码在 炫彩界面库下载包中.
嗯,以找到,谢谢 下了两个1.5的下载包都没找到!!郁闷啊!:o 不会吧, 就是怕你找不到,上面放了张文件夹的截图. :D很好很强大!炫彩加油! 学习一下:) 很不错呀,主要就是方便 简单 。