wxWidgets中贴图操作

这个问题曾经困惑了我很久,因为wxWidgets的资料在网上并不是很多,所幸在工期的压力下还是捣鼓出来了。向窗体上贴图,一般图片格式采用的是JPG或者是BMP。在这里做一个申明。
        //添加jpg和bmp文件支持
        wxImage::AddHandler(new wxJPEGHandler);
        wxImage::AddHandler(new wxBMPHandler);
 
贴图函数.
//在指定位置进行贴图
//pt_x为x坐标,pt_y为y坐标,strImagePath为要加载图片的相对路径
void iringFrame::DrawPicture()
{


    wxBitmap bitmap;
    bitmap.LoadFile(strImagePath,wxBITMAP_TYPE_JPEG);
    //判断图片是否加载成功
    if (bitmap.Ok())
    {
//dc绘图
//dc.DrawBitmap(bitmap,rCallOpenX,rCallOpenY,1);
//m_bitmap7为贴图的区域
        m_bitmap7->SetBitmap(bitmap); 
    }
    else
    {
        //图片加载失败
        strImagePath.Printf(wxT("The picture adds to carry a mistake!!!"));
        wxMessageBox(strImagePath,_("cicatel"));

    }
}
另外按需求,对鼠标移动时光标的改变也做了处理,没什么难度,主要是文档资料都是英文,理解起来比较困难,所以权且做一个备忘吧.
//鼠标移动到按钮上时光标的变化
void iringFrame::getMousePoint()
{
     //默认状态的光标 
    if (checkKeyArea() == keyNoTouch)
    {
        wxCursor down_cursor = wxCursor(wxCURSOR_ARROW);
        SetStyle(down_cursor);
    }
    else
    { //处于按钮位置的光标
        wxCursor down_cursor = wxCursor(wxCURSOR_HAND);
        SetStyle(down_cursor);
    }

}

你可能感兴趣的:(wxWidgets中贴图操作)