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,休闲)