程序换肤后遇到的问题!帮忙啊大侠们

xxxxxx91116 2010-07-02 06:14:43
这几天做课设~现在处于美化界面阶段~我用了一个skin++的皮肤,然后呢~对话框还载入了背景图片,这时对话框上的静态文本框就会出现一个大方框,特别丑~我想到了把静态文本框的属性改为透明,发现完全没有用,但当我把皮肤去掉后发现静态文本框就没有那个大方框了~请问怎么样可以解决他们之间的矛盾,又能让我用皮肤~又能插图且没有大方框?
...全文
158 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-07-12
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
xxxxxx91116 2010-07-04
  • 打赏
  • 举报
回复
现在我换成了skin2.0,然后打算给用户选择皮肤,关键问题是载入皮肤后,现在静态文本框的字体没发改变了。。。。。我打算用skinppSetNoSkinHwnd(GetDlgItem(IDC_STATIC_NAME)->m_hWnd);,结果发现它又出现了黑框~
psbeond 2010-07-03
  • 打赏
  • 举报
回复
楼主可以把你现在的界面截个图发上来, 我帮你指导一下。
xxxxxx91116 2010-07-03
  • 打赏
  • 举报
回复
额~,貌似现在换不了了。。。我现在整这个皮肤整的好烦~刚试了一个函数发现不行哦。。。。
kemee 2010-07-03
  • 打赏
  • 举报
回复
正常情况下skin++的人应该马上就该出来啊。。。。。这里有他们的人,楼主你标题就该写skin++关键词
xxxxxx91116 2010-07-03
  • 打赏
  • 举报
回复
SKINPLUSPLUS_DLL_DECLARE BOOL __stdcall InitializeSkin(char* SkinFile);

SKINPLUSPLUS_DLL_DECLARE BOOL __stdcall ExitSkin();

SKINPLUSPLUS_DLL_DECLARE BOOL __stdcall LoadSkin(char* SkinFile);

SKINPLUSPLUS_DLL_DECLARE BOOL __stdcall RemoveSkin();

SKINPLUSPLUS_DLL_DECLARE BOOL __stdcall SetMenuItemImage(UINT nID, HIMAGELIST hImgList, int nIndex);

SKINPLUSPLUS_DLL_DECLARE HMENU __stdcall GetMainFrameMenu(void);

SKINPLUSPLUS_DLL_DECLARE void __stdcall DrawSkinObject(HDC hdc,RECT rect,DRAWTYPE eDrawType,int nState);

SKINPLUSPLUS_DLL_DECLARE void __stdcall DrawSkinBitmap(HDC hdc,RECT rect,HBITMAP hBitmap,int nTopHeight = 0,int nBottomHeight = 0,
int nLeftWidth = 0,int nRightWidth = 0,COLORREF colTrans = -1,BOOL bTrans = FALSE);

SKINPLUSPLUS_DLL_DECLARE COLORREF __stdcall GetSkinSysColor(int nColorIndex);

SKINPLUSPLUS_DLL_DECLARE COLORREF __stdcall GetDefaultSysColor(int nColorIndex);

SKINPLUSPLUS_DLL_DECLARE void __stdcall SetNoSkinHwnd(HWND hWnd);
我去看了下~接口函数只有这些,我估计是不是要用DrawSkinBitmap(HDC hdc,RECT rect,HBITMAP hBitmap,int nTopHeight = 0,int nBottomHeight = 0,
int nLeftWidth = 0,int nRightWidth = 0,COLORREF colTrans = -1,BOOL bTrans = FALSE);
不过不知道里面的意思~大概猜了一下,第一个就是当前窗口的HDC,第3个就是位图,后面几个完全不知道了。。。有没有高手再帮忙看看的!!!
psbeond 2010-07-02
  • 打赏
  • 举报
回复
楼主你的设计理念错了。你不应该在程序完成后美化界面, 而是应该在程序开始写之前, 把界面定义好,然后按照定义好的界面去实现。

当然,你已经做完了。skin++应该会有接口,让你指定某个控件不进行换肤。
xxxxxx91116 2010-07-02
  • 打赏
  • 举报
回复
UP,UP
xxxxxx91116 2010-07-02
  • 打赏
  • 举报
回复
自己顶一下!帮帮忙!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧