当前位置:编程学习 > VC++ >>

急!!!VC++ 关于背景图

绿色是背景图片的一部分,显示的时间有一部分在背景图片上,之后我要改变显示的时间时,会重叠在上面,我该怎么解决,谢谢各位了,最好是告诉我怎么能把背景图片上的字去掉
答案:背景图片用单独的一张图片来做,上面不保存数字信息
然后需要往上面写数字的时候,其实并不是写在背景图片上,而是写在背景图片所加载到的那个handle所对应的那个dc上,然后显示的是这个dc,dc改了,字有了,背景在上面,而最初始的那张背景图片却没有改
其他:你可以将背景图先用底色填充,再在上面输出数字,不就可以了。 把你显示时间的控件属性设为不透明的,把背景挡住,不就可以啦。 在onpaint画,ontimer提供计数功能,用全局变量保存变量, 将背景图先用底色填充 上面的程序只能实现新建Excel文件的功能,但大多数情况我们需要的是导入excel中的数据,即要打开现存的xls文件,那么可用如下代码: 
    _Application app; Workbooks books;
    _Workbook book;
    Worksheets sheets;
    _Worksheet sheet;
    LPDISPATCH lpDisp; //接口指针
    COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); 
    if( !app.CreateDispatch("Excel.Application") ){
       this->MessageBox("无法创建Excel应用!");
       return;
    }

    books=app.GetWorkbooks();
    lpDisp = books.Open("C:\\a.xls",covOptional,covOptional,
            covOptional, covOptional, covOptional, covOptional,
            covOptional, covOptional, covOptional, covOptional,
            covOptional, covOptional, covOptional, covOptional
            );
    book.AttachDispatch( lpDisp );
    sheets=book.GetSheets();
    sheet=sheets.GetItem(COleVariant((short)1));
    range=sheet.GetRange(COleVariant("A1"),COleVariant("A1"));

    COleVariant rValue;
    rValue=COleVariant(range.GetValue());
    rValue.ChangeType(VT_BSTR);
    this->MessageBox(CString(rValue.bstrVal));

    book.SetSaved(TRUE);
    app.Quit();
运行上面程序,单击Button1按钮,会显示出C:\a.xls文件中A1单元格中的内容。注意看以下代码,实现了Variant数据类型转换为CString类,这个只是一个示例,转换较为简单。

上一个:破解vc++的程序
下一个:VC++新建工程为什么不能包含.c文件

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,