TA的每日心情 | 开心 2022-1-9 18:18 |
---|
|
楼主 |
发表于 2012-12-25 18:40:46
|
显示全部楼层
部分代码:
- 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);
-
- HIMAGE hImageStay=XImage_LoadFile(L"image\\skinDlg\\listView_stay.png");
- HIMAGE hImageSelect=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;
- }
复制代码
|
|