首页 - 通讯 - vs2010 闪屏_cocos2dx vs2010运行或真机测试时,出现闪屏的情况,

vs2010 闪屏_cocos2dx vs2010运行或真机测试时,出现闪屏的情况,

2023-09-16 11:33

一、 概述

Skin++是一款通用的软件换肤套件,目前支持各种版本操作系统,Windows2000、WindowsXP、Windows7。支持各种开发语言,VC、VB、C#、PB、Delphi、C++Builder、易语言。Skin++ 目前已经拥有数量众多的用户,并且有很多的国内外大公司客户。无论其换肤的效果还是程序本身的稳定性,都堪称一流。要做出漂亮风格的界面,使用Skin++变得非常简单,只要一行代码,就能让你的程序彻底换肤,并拥有动态换肤的功能。

二、 VC++中的使用

1、创建一个多文档程序

2、拷贝Skin++相关文件

到安装的目录下面找到Skin++ v2.0.1目录中的lib文件夹,将其中的SkinPPWTL.dll ? 、SkinPPWTL.h和SkinPPWTL.lib?拷贝到刚才创建的工程目录中。SkinPPWTL.h添加工程中。

到安装的目录下面找到Skins目录,我们选择AquaOS作为我们测试皮肤,把AquaOS.ssk皮肤文件拷贝到当前的工程目录中来。

3、工程设置

在(VS2010)"Project->Settings->Link->Object/library(输入)->附加依赖项"中加入SkinPlusPlusDLL.lib? 4、包含Skin++头文件

在StdAfx.h中写上下面两句

#include "SkinPPWTL.h" #pragma comment(lib,"SkinPPWTL.lib")

5、加载Skin++代码

进入CxxxApp::InitInstance(),在该函数的第一句写上:skinppLoadSkin(_T("AquaOS.ssk"));

skinppLoadSkin有两参数,第一个参数为皮肤路径,如果直接写皮肤名称,那么程序运行的时候,会到程序所在的目录下去查找,如果在该目录下没有该皮肤文件,那么加载Skin++失败,运行程序将看不到效果。该参数接受皮肤的绝对路径和相对路径。第二个参数一般用户不用填写,但对于想要把皮肤文件释放到一个目录里加载Skin++以提高加载速度的情况下有用。这个功能对于正式版用户可用。免费版不支持该功能。 6、卸载Skin++代码

在程序的卸载函数中加入ExitInstance() skinppExitSkin(); //退出界面库,做清理工作。

三、使用Skin++其他问题

1、控件禁用皮肤

针对Skin++皮肤效果是针对整个项目的,无法实现在此基础上对单独的控件进行重绘,最终显示的效果存在 字体普遍偏小,滑动控件刷新存在重叠的问题。

解决方法: 调用skinppSetNoSkinHwnd(GetDlgItem(IDC_xxxx)->m_hWnd,true);

上述函数可以实现该控件的禁用皮肤,利用字体类CFont的SetFont可以改变字体大小,但随之而来带来了禁用的控件与皮肤存在明显对比,视觉效果太差。可以考虑重载,加入以下代码:

if (pWnd->GetDlgCtrlID()==IDC_xxxx|) {?

? ? ? ? ? ? ? ? pDC->SetTextColor(RGB(220,220,220)); ?//字体颜色 pDC->SetBkMode(TRANSPARENT); //设置字体背景为透明 ? return (HBRUSH)::GetStockObject(HOLLOW_BRUSH ); ?// 设置背景色为透明

? ? ? ? }

2、显示控件刷新存在重叠的问题

解决办法:先隐藏,后显示即可

GetDlgItem(IDC_xxx)->ShowWindow(SW_HIDE); GetDlgItem(IDC_xxx)->ShowWindow(SW_SHOW);

3、闪屏问题不太好解决,产生的原因终究是视图刷新速度太快(上面第二点未完全解决问题带来的弊端)

暂时通过在OnCtlColor()函数中将设置背景色为黑色或不设置控件背景色:

return (HBRUSH)::GetStockObject(BLACK_BRUSH); ?// 设置背景色为黑色?

只需在AppDelegate.cpp的init()方法中插入以下这段话:

??????? CCDirector::sharedDirector()->setDepthTest(false);??

?

前几天在我的win7上安装了Visual Studio 2010 Beta2版本。

换了个LOGO,闪屏有变化,整个IDE环境看起来很舒服,启动速度以及代码智能提示的速度都比之前版本有了很大的提高。

?

VS的每次升级都会给开发者带来新的体验,开发效率的提升。Office开发方面也有不少新的特性。

以往的office开发,最难掌握的莫过于那一堆的参数了,Office对象模型难于全部掌握,开发语言对Office开发支持不够等等,这些都使得Office开发就像一头笨重的大象,虽然稳定,但是行动却有些迟缓,开发效率不高。

不过这很快就会成为历史了。在Visual Studio 2010 Beta2中,它提供了很多新的特性,来解决上述的这些Office开发中的主要问题,以更好地支持Office开发。当然,这些特性也可以应用在其他场合。这些新的特性包括:

动态编程:C# 4.0中引入了一种新的静态类型dynamic,这使得我们在使用COM进行Office开发的时候,无需再进行复杂而繁琐的对象类型转换。

可选参数:Office提供的函数往往有很多参数,在大多数情况下,很多参数使用默认值就可以了,无需全部指定。但是在C# 3.0中,因为它不支持可选参数,导致每次调用函数都必须给定全部参数,代码繁琐而臃肿。C# 4.0通过对可选参数的支持,很好地解决了这一问题。

No-PIA部署:以前的Office开发,都要求目标机器(用户机器)上同样安装了Office,有时甚至对Office的版本还有特殊的要求。这给Office程序的部署带来了极大的困难:目标机器千差万别,有的安装了Office,有的没有安装,安装了Office的机器,Office版本又各不相同。在VS2010 Beta2中,因为有了No-PIA部署的支持,这些问题都得到了很好的解决。

有了上述特性的支持,VS2010 Beta2中Office开发开始变得简洁而自然。大家期待实用的话,就在近期多多关注WIN中文官网的相关信息吧。

转载于:https://www.gsm-guard.net/seanli888/263482