/************************************************************************
* SetLayeredWindowAttributes函数参数说明
* hWnd是透明窗体的句柄,
* crKey为掩码的颜色,可以用RGB(r,g,b)来指定。
* bAlpha是不透明度,取值范围是(0,255),其中0代表全透明,255代表不透明。
* dwFlags是透明方式,可以取两个值:
* 当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;
* 当取值为LWA_COLORKEY时,窗体中的所有颜色为crKey的地方将变为透明,bAlpha参数无效。
* LWA_ALPHA = 0x2
* LWA_COLORKEY=0x1
* 也可以取两个值的组合:LWA_ALPHA Or LWA_COLORKEY。这样crKey的地方将变为全透明,而其它地方根据bAlpha参数确定透明度
************************************************************************/
BOOL WindowTranslucence(HWND hWnd,COLORREF crKey,int nTranValue,int dwFlags)
{
if(nTranValue<0)
nTranValue=0;
if(nTranValue>255)
nTranValue=255;
///////////////////////////////
//实现半透明
//加入WS_EX_LAYERED扩展属性
//SetWindowLong(hWnd,GWL_EXSTYLE,GetWindowLong(hWnd,GWL_EXSTYLE)^0x80000);
//现改为下面这句,就不会一会儿半透明,在运行一次就又恢复了。
SetWindowLong(hWnd,GWL_EXSTYLE,GetWindowLong(hWnd,GWL_EXSTYLE) | 0x80000);
HINSTANCE hInst = LoadLibrary("User32.DLL");
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttributes函数指针
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)fun(hWnd,crKey,nTranValue,dwFlags);
FreeLibrary(hInst);
return TRUE;
}
return FALSE;
}
符号 含义
COLOR_3DLIGHT 以亮色显示时立体元件的颜色
COLOR_3DSHADOW 立体元件的阴影颜色
COLOR_BTNSHADOW 按钮阴影颜色
COLOR_ACTIVEBORDER 边界颜色
COLOR_ACTIVECAPTION 标题颜色
COLOR_BACKGROUND 背景颜色
COLOR_BTNTEXT 按钮颜色
COLOR_CAPTIONTEXT 窗口拦字符颜色
COLOR_GRAYTEXT 灰色显示的文本的颜色
COLOR_DESKTOP 桌面的颜色
COLOR_HIGHLIGHT 选定项的背景颜色
COLOR_HEGHLIGHTTEXT 选定项的字符的颜色
COLOR_MENUTEXT 菜单栏的颜色
COLOR_INFOTEXT 工具提示的文本的颜色
COLOR_INFOBK 工具提示的背景的颜色
COLOR_INACTIVECAPTIONTEXT 非活动标题栏中文本的颜色
COLOR_INACTIVECAPTION 非活动标题栏的颜色
COLOR_INACTIVEBORDER 非活动边界的颜色
COLOR_WINDOWTEXT 窗口字符的颜色
COLOR_WINDOWFRAME 窗口边框的颜色
COLOR_WINDOW 窗口背景颜色
COLOR_SCROLLBAR 滚动条的颜色
COLOR_3DHILIGHT 立体元件高亮显示时的颜色
COLOR_3DHIGHLIGHT 立体元件高亮显示时的颜色
COLOR_3DFACE 立体显示的元件的表面的颜色
COLOR_BTNFACE 立体显示的元件的表面的颜色
COLOR_3DDKSHADOW 立体显示的元件的阴影的颜色
//by dk1st
int GetFileCode(CString str)
{
//返值i:0---Ansi 1---UTF-8 2---Unicode 3---Big Unicode
FILE *f = fopen(str,"r+b");
unsigned char* chFileFlag = new unsigned char[3];
fread(chFileFlag, 1, 3, f);
fclose(f);
int i;
if (chFileFlag[0] == 0xEF && chFileFlag[1] == 0xBB && chFileFlag[2] == 0xBF)
i=1;
else if (chFileFlag[0] == 0xFF && chFileFlag[1] == 0xFE)
i=2;
else if (chFileFlag[0] == 0xFE && chFileFlag[1] == 0xFF)
i=3;
else
i=0;
delete chFileFlag;
return i;
}
前不久同学叫我帮他给他女朋友用飞信发送一篇文章,那文章特长,飞信每次发送又有次数限制,每次复制完后还得去找是从哪个地方完的,太费事也费时了,那天下午就自己做了一个工具帮助我们发送,就不用那么麻烦了,并且还发现可以突破飞信每次字数的限制,不过在这个工具中我把这个功能屏蔽了,相信你们都知道怎么实现,用此工具时请打开飞信的群发功能发送才能用
下载地址(要源码的mail我):
下载文件 (已下载 32 次)让咱们的5310也可以看电子书吧
最近想在手机上面看资料,发现5310不支持TXT文件,有人说转为Unicode编码后便可以看了,但是转换后英文的能看,可是有中文时就出现乱码了。
后面经过研究发现原来可以将TXT文件的编码改为Unicode后再转化为HTML文件便可以正常观看了,每个文件都手动转换很麻烦,在网上找了找这方面的工具,结果没找到,只好看己编一个了。
注意:文件名不要包含中文,否则容易出错
下载文件 (已下载 38 次)





