`
dqifa
  • 浏览: 116425 次
社区版块
存档分类
最新评论

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); 
    } 

}
 
from:http://axiii.blog.51cto.com/396236/90137
分享到:
评论

相关推荐

    wxwidget换肤工具wxSkin

    wxWidgets是一个跨平台的C++库,它允许开发者编写一次代码,就能在多个操作系统上运行,包括Windows、Linux和macOS等。这个换肤工具特别适用于那些希望为自己的应用程序添加个性化外观的开发者。 在描述中提到的...

    针对GUI库功能强,但使用问题颇多的现象,决定重构。

    ======================...13〉删除PCRE库,有字符类缓冲区溢出漏洞,对堆有隐含的不稳定操作。 ///////////////////////////////////////////////////////////////////////////// 重构结果:(part source open !) ...

    mpc_asf_shd_源码

    在游戏开发中,图像资源的加载和处理是不可或缺的环节,FreeImage的使用使得mpc_asf_shd能够高效地读取和操作游戏中的图像文件,如角色模型、场景贴图等,为游戏的视觉效果提供强大的支持。 接下来,我们关注mpc_as...

    MFC界面美化

    例如,可以使用CPaintDC类进行画布操作,绘制背景图片、渐变色或者复杂的形状。 3. **资源文件**:MFC中的资源文件(如.rc)可以用来定义界面元素,如菜单、图标、对话框布局等。通过调整资源文件,可以改变界面的...

    btnCtrl.rar_btnctr

    2. **图形用户界面(GUI)编程**:这些类可能与GUI库如Qt、wxWidgets或MFC等结合,用于创建和操作图形界面元素。 3. **事件驱动编程**:按钮的点击、菜单的展开和闭合等操作都是由用户触发的事件驱动的,需要响应...

    水果忍者 c++实现 window编程 计算机图形学

    窗口编程是指在操作系统上创建和管理窗口的应用程序开发。在Windows环境下,我们通常会使用Microsoft提供的Windows API或者更高级的MFC(Microsoft Foundation Classes)库。在“水果忍者”项目中,开发者需要设置...

    Owlet (Open World and Landscape EdiTor)-开源

    在 Owlet 中,wxWidgets 负责提供用户交互界面,让开发者在编辑环境中流畅操作。 3. **开放世界编辑** 开放世界编辑功能允许开发者构建大规模、无缝的地图,用户可以在其中自由探索。这通常涉及到地形生成、物体...

    CS游戏代码

    C++允许开发者直接操作硬件资源,创建高性能的游戏环境。 2. **游戏引擎**:Source引擎是Valve公司开发的游戏开发平台,它包含渲染、物理模拟、音频处理、网络通信等多个模块。开发者使用Source引擎的API(应用程序...

    Autoparty_dll_src_C++_autop_

    "autop tetlele"很可能是一个拼写错误,实际应指“autotile”或“auto-party”,指的是自动化的地图贴图或游戏中的自动组队功能。"source"表明这是该项目的源代码,"lol"在这里可能是“笑”的缩写,也可能是指流行的...

    精通qt4编程(源代码)

    在三大GUI框架GTK+、Qt和wxWidgets 之间,我们选择了Qt 4工具包。作为重量级桌面系统KDE多年的坚实基础,Qt应该是经受了足够的考验。当我们准备编写自己的应用软件时,却发现图书市场上没有一本关于Qt 4的书籍,仅有...

    精通Qt4编程(第二版)源代码

    在三大GUI框架GTK+、Qt和wxWidgets 之间,我们选择了Qt 4工具包。作为重量级桌面系统KDE多年的坚实基础,Qt应该是经受了足够的考验。当我们准备编写自己的应用软件时,却发现图书市场上没有一本关于Qt 4的书籍,仅有...

    创意3D桃心.zip

    3D图形是计算机图形学中的一个重要分支,它允许我们创建、操作和展示立体的虚拟对象。在这个项目中,3D桃心是由一系列几何多边形构建而成,这些多边形通过顶点连接形成表面,再通过光照、纹理映射等技术赋予其真实感...

    GPU编程与CG语言之阳春白雪下里巴人

    GUI(图形用户界面)编程则是构建用户与计算机交互界面的关键技术,它使得用户能够通过图形化的方式进行操作。本资料“GPU编程与CG语言之阳春白雪下里巴人”由半山工作室精心制作,旨在以通俗易懂的语言帮助初学者...

    用OPENGL、C++自制的树状控件

    OpenGL是一种强大的图形库,用于创建2D和3D图形,而C++则是一种广泛使用的编程语言,具有面向对象和性能...在实际项目中,也可以考虑使用现成的库,如Qt或wxWidgets,它们提供了内置的树形控件,可以快速集成到项目中。

    绘图.rar

    3ds Max、Maya和Blender是常用的三维建模软件,它们支持复杂的建模、纹理贴图和动画制作。 4. **图形用户界面(GUI)**:绘图技术也用于构建图形用户界面,通过图标、按钮、菜单等元素提升用户的交互体验。例如,Qt、...

    screencasts:截屏视频的源代码

    6. **图形用户界面(GUI)设计**:虽然描述中没有明确提及,但为了提供用户友好的体验,可能需要构建一个简单的GUI,这可能涉及使用Windows API或第三方库如Qt或wxWidgets。 7. **Microsoft Visual Studio 2019**:...

    高级C++全套教程(4-6).rar

    6. **算法**:如`std::sort`、`std::find`、`std::transform`等,可以应用于容器中的元素,进行排序、查找、变换等操作。 ### 第5天:C++异常处理与命名空间 1. **异常处理**:C++的异常处理机制允许程序在遇到...

    OSG帮助文档

    OSG支持多种几何形状的创建和操作,包括基本形状如立方体、球体、圆柱体,以及自定义的多边形和顶点数据。此外,它还提供了几何优化工具,如顶点合并、索引优化等,以提高渲染效率。 **3. 纹理映射:** OSG提供强大...

    MagicGearEditor3D:一个3D地形编辑器,基于D3D9 API,教学用

    3. **3D图形用户界面**:编辑器的界面设计是关键,需要使用Windows API或者第三方库如Qt、wxWidgets等来实现。用户应能直观地操作如刷子工具、地形平滑、雕刻等,以编辑地形。这些工具的实现涉及到事件处理、鼠标...

    怪物制造者

    7. **文件系统和序列化**:怪物数据和游戏进度可能被保存到文件中,这需要文件操作和序列化技术,如JSON或XML格式。 8. **网络编程**:如果游戏支持多人在线,那么网络编程将很重要,可能需要处理同步、延迟和通信...

Global site tag (gtag.js) - Google Analytics