`
huobengle
  • 浏览: 863847 次
文章分类
社区版块
存档分类
最新评论

C#中动态生成鼠标图案

 
阅读更多

CreateIconIndirect()的API函数可以生成Icon图像

Icon和Cursor实际是同一个结构,fIcon字段区别是否为Icon

字段hbmMask和hbmColor指定掩码图和色彩图

当然,更好的是用Bitmap.MakeTransparent()处理一下透明

这样掩码图和色彩图都指向处理后的位图

publicdoubleDecodeMoneyCn(stringAText)
...{
AText
=AText.Replace("亿亿","");
AText
=AText.Replace("万万","亿");
AText
=AText.Replace("","");
AText
=AText.Replace("","");
AText
=AText.Replace("","");
doublevResult=0;
doublevNumber=0;//当前数字
doublevTemp=0;
intvDecimal=0;//是否出现小数点
foreach(charvCharinAText)
...{
inti="零一二三四五六七八九".IndexOf(vChar);
if(i<0)i="洞幺两三四五六拐八勾".IndexOf(vChar);
if(i<0)i="零壹贰叁肆伍陆柒捌玖".IndexOf(vChar);
if(i>0)
...{
vNumber
=i;
if(vDecimal>0)
...{
vResult
+=vNumber*Math.Pow(10,-vDecimal);
vDecimal
++;
vNumber
=0;
}

}

else
...{
i
="元十百千万亿".IndexOf(vChar);
if(i<0)i="整拾佰仟万亿兆".IndexOf(vChar);
if(i==5)i=8;
if(i==6)i=12;
if(i>0)
...{
if(i>=4)
...{
vTemp
+=vNumber;
if(vTemp==0)vTemp=1;
vResult
+=vTemp*Math.Pow(10,i);
vTemp
=0;
}

elsevTemp+=vNumber*Math.Pow(10,i);
}

else
...{
i
="元角分".IndexOf(vChar);
if(i>0)
...{
vTemp
+=vNumber;
vResult
+=vTemp*Math.Pow(10,-i);
vTemp
=0;
}

elseif(i==0)
...{
vTemp
+=vNumber;
vResult
+=vTemp;
vDecimal
=1;
vTemp
=0;
}

}

vNumber
=0;
}

}

returnvResult+vTemp+vNumber;
}


privatevoidbutton1_Click(objectsender,EventArgse)
...{
string[]vTestText=...{
"十二点五六",
"一亿零一万零五",
"四万万",
"九十八亿七千六百五十四万三千二百一十",
"五元一角四分","壹佰元整",
"三千五百万",
"九块二毛"}
;
foreach(stringvTextinvTestText)
...{
Console.WriteLine(
"DecodeMoneyCn("{0}")={1}",vText,
DecodeMoneyCn(vText));
}


//输出
//DecodeMoneyCn("十二点五六")=2.56
//DecodeMoneyCn("一亿零一万零五")=100010005
//DecodeMoneyCn("四万万")=400000000
//DecodeMoneyCn("九十八亿七千六百五十四万三千二百一十")=9876543210
//DecodeMoneyCn("五元一角四分")=5.14
//DecodeMoneyCn("壹佰元整")=100
//DecodeMoneyCn("三千五百万")=35000000
//DecodeMoneyCn("九块二毛")=9.2
//DecodeMoneyCn("一兆")=1000000000000
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics