原本用CxImage实现这个loading的效果的。但是在后续工作中用到boost::log。
他们中有一些冲突。如果两个都是设置了文件路径:
cximage动态加载。log设置写路径之后。
他们分别需要下面设置为不同的值,因为字符集采用Unicode,所以编译cximage相关dll的时候设置为否,同时用的时候也要用否。
然而log中需要用是。真他妈蛋疼。
因为不想再用cximage(当然可以用流的方式加载,但是不想再出差错,要加快进度),采用的方式如下。
1.用flash把gif导出序列(*.png)。
2.在vs中添加资源。
3.然后写上这个代码。
这里不能用loadfromresource,因为这个只能处理bmp文件,如果用png,需要采用从流中加载的方式。
写得比较菜。
void CTSLodingDialog::DrawBitmap(bool isFirst/*=false*/)
{
HINSTANCE hInst = AfxGetResourceHandle();
HRSRC hRsrc = ::FindResource (hInst,MAKEINTRESOURCE(IDB_PNG1+m_nFrame),_T("PNG"));
if(!hRsrc)
{
return;
}
CImage image;
auto len = SizeofResource(hInst, hRsrc);
auto lpRsrc = (BYTE*)LoadResource(hIn