
wxWidget
文章平均质量分 51
TinyHum
本人unity QQ群:291633884
展开
-
wxWidget的tree control和加入图标(icon)
wxWidget的tree由wxTreeCtrl来实现,如果想要在自己的窗口中加入树形控件,就让自己的相关窗口继承这个类吧。下面是从相关的头文件出来的继承列表:class WXDLLEXPORT wxTreeCtrl : public wxTreeCtrlBaseclass WXDLLEXPORT wxTreeCtrlBase : public wxControlclass W原创 2012-07-16 20:39:50 · 2541 阅读 · 0 评论 -
wxWidgets文件操作-file operation
wxWidgets的文件类或者方法比较散,用的时候要查的资料比较多。所以这里整理相关的操作1、得到一个文件的修改时间#include "wx/filename.h"wxDateTime wxFileName::GetModificationTime();2、创建文件wxFile::Create()3、打开文件wxFile::Read()4原创 2012-09-05 11:12:13 · 3776 阅读 · 0 评论 -
wxWidgets的图像能力
这类支持还是相当的多的,分在两个类里面:wxBitmap 和 wxImage。两者的关系是:wxImage更倾向于逻辑层的组织,可以有loadFile这样的方法来从磁盘读取图像文件。wxBitmap则是在绘制的时候需要用到的,dc只能通过这个来得到图像信息。这两者相辅相成,所以,wxBitmap::ConvertToImage()可以把一个bitmap转化成image,而wxBitma原创 2012-09-15 12:09:10 · 4066 阅读 · 0 评论 -
wxWidgets用平台相关的命令打开文件,执行命令
cmd /c start xxx如果xxx是一个全路径的话(如一个exe,一张图片),就会让windows根据相应的文件类型执行相应的打开方式。譬如,如果是一个exe,就会执行该exe;如果是一张图片,就会用关联程序打开该图片。上述的命令遇上空格会有问题,需要用如下的方式cmd /C /S start "" "c:/Program files/"第一个双引号原创 2012-08-09 21:16:38 · 1722 阅读 · 0 评论 -
wxWidgets的DC为何不用明示的拷贝就能完成对clientDC的内容的改变?
本来是没有这一篇记录的,因为之前猜是肯定用了C++的析构函数做拷贝,因此很多dc看起来只要是对dc画东西,然后出了栈后,内容就自然而然的到了画面上(clientDC上)。今天无意中撞到了wxBufferedDC的代码,索性就这个猜测证实了一下。wxBufferedDC,一般我们用的时候,会用某个clientDC作为参数传入,这样,其实在内部被m_dc记录下来,dcbuffe原创 2012-10-30 23:10:38 · 1679 阅读 · 0 评论 -
DirectX10输出内容到wxWidgets窗口
int Engine::Init(wxWindow* handle, bool windowed){ m_WindowHandle = handle; wxRect rc = handle->GetClientRect(); int width = rc.width; int height = rc.height; //Set up DX swapchain DXGI_SWA原创 2012-11-25 19:30:46 · 2151 阅读 · 1 评论 -
wxWidgets的drag和drop
在两个不同窗口之间的drag和drop,或者是从应用程序外面传进来的drop(如从某个文件夹拖入文件到应用程序的窗口中),需要下面的知识:接收drop的窗口:1、接受drop的窗口在初始化的时候用SetDropTarget()方法来说明自己接受某类物体的drop;2、SetDropTarget()的参数是一个wxDropTarget的子类,常用的有wxTextDropT原创 2012-07-18 19:26:48 · 1664 阅读 · 0 评论 -
zlib跟C++文件混用的时候发生C4996的处理方法
在用到zlib的时候,很容易碰到warning C4996,个人觉得最好的方式是把#pragma warning(disable:4996) 这个放到zconf.h里,这个文件本身就是做各个平台的config用的。非常适合。在这个头文件的最上面,用下面这一段,完全可以解决这个类型的warning。实验环境:VC2008 SP1#ifdef原创 2012-08-24 17:24:48 · 1062 阅读 · 0 评论 -
wxWidgets的Timer,wxTimer
wxWidgets的timer有一个相应的类,就是wxTimer。这个类的用法步骤:1、在想要用到的类中用这个类创建一个对象,栈上的或者是堆里的,看你需要和喜欢wxTimer timer;2、包含这个对象的类能中用申明event的宏包含DECLARE_EVENT_TABLE()3、相应的消息处理申明的地方加入EVT_TIMER(x原创 2012-08-18 18:37:13 · 3959 阅读 · 0 评论 -
wxWidgets的光标Caret
wxWidgets是提供光标类的,大体上,你只要设置好闪烁时间(blinkTime)、光标宽度,高度,一个受wxWidgets控制的光标就能帮助你在窗口中闪烁,提示文字的输入了。 wxCaret *caret = new wxCaret(this, m_widthChar, m_heightChar); SetCaret(caret); caret->Move(原创 2012-08-17 17:39:57 · 1466 阅读 · 0 评论 -
wxWidget的fileDialog, dirDialog
使用窗口惯了,一旦需要用上打开文件和文件夹,就会看是否有相关的类。wxWidget用wxFileDialog和wxDirDialog来实现打开文件、打开文件夹的对话框,非常方便。如wxFileDialog fileDialog(parentWnd, "Open file");fileDialog.ShowModel();就能弹出一个标准的本地对话框,用户可以在对话框中选择文件原创 2012-07-16 22:55:56 · 2266 阅读 · 0 评论 -
wxWidget treecontrol响应drag的步骤
前提是窗口继承wxTreeCtrl, 1, 在类的声明的结束部分的前面,加入DECLARE_EVENT_TABLE()来指示代码这个类需要消息路由。2, 给自己的窗口一个ID,头文件中加入enum{ TreeControlId = 3265;};3,类的实现文件中,加入消息映射的具体表格BEGIN_EVEN原创 2012-07-17 22:29:47 · 1338 阅读 · 0 评论 -
wxWidgets的上下文菜单
window有方法PopupMenu(),用来弹出菜单。在用这个PopupMenu()之前,我们需要在内存中创建一个菜单wxMenu aMenu;然后,用aMenu.Append(itemID, function)方法来在此菜单中加入各个项。在CPP文件中,我们得用EVT_MENU(itemID, function)来告知内核遇到某个ID消息,调用哪原创 2012-07-19 19:21:51 · 1311 阅读 · 0 评论 -
wxWidgets为什么没有立即显示?
OnPaint()是每个窗口画自己的内容的地方,如果在这个画面中调用dc.DrawBitmap()之类的draw方法,是不会马上显示到窗口的区域的。原因在于OnPaint()对应的消息EVT_PAINT在窗口没有改变大小或者被覆盖或者失去焦点或者类似的情况的时候根本就不会产生,因此OnPaint()就没有被调用到。如果程序的情况是在把窗口缩小,然后放大后就能画出想画的东西,那么肯定属于原创 2012-07-23 09:42:00 · 1183 阅读 · 0 评论 -
wxWidgets对keyboard的支持
如果wxWidgets窗口需要截取键盘消息,最简单的方式就是创建窗口的时候用上wxWANTS_CHARS这个标志。有这个标志的窗口,会被wxWidgest底层感知,然后只要窗口在焦点上,就能收到键盘消息。只要:1、用上 EVT_KEY_DOWN消息宏2、写好改宏要的一个方法在上面2的方法中,我们就能截取到wxKeyEvent类型的消息,可以通原创 2012-08-07 16:16:18 · 1656 阅读 · 0 评论 -
wxWidgets避免闪烁, 绘制卡的原因
MFC里面是CMemDC,能让每一步画的结果都绘制在一个memory dc中。实际上也就是在RAM中跟windows的DC尺寸一样的一块内存,数据绘画的结果如果启用该DC,就会绘到该memory中。对于闪烁,深层次的原因是在没有启用memory的时候,绘制的每一步的结果(画线的过程中,可能会逐步影响到绘制表面的一个一个像素;绘制图像更是;)都直接作用到了显示器会来抓取画面的内存中,所以原创 2012-07-24 14:43:12 · 1806 阅读 · 0 评论 -
wxWidgets的Pen Style
Window编程中,有所谓的Pen Style,能让画出的线呈现不同的形式,如由点形成的线、有短划线形成的线等。下面的是从pen.h萃取出来的这些Pen Style:enum wxPenStyle{ wxPENSTYLE_INVALID = -1, wxPENSTYLE_SOLID = wxSOLID, wxPENSTYLE_DOT = wx原创 2012-08-14 21:28:11 · 1518 阅读 · 0 评论 -
wxFormBuilder怎么制作继承于wxWindow的窗口,便于集成在frame中
以前都是拿合作者制作好的UI框架,偶尔这次需要亲自操刀。事情是这样:用wxWidgets做一个窗口框架,左边是个可浮动的树列表窗口,右边需要一个自定义的窗口,作为框架的客户绘制区域。用wxFormBuilder,拖出一个frame,然后里面拖一个树形列表窗,这两步很简单,而且正如自己想要。结果最后的客户绘制窗口却找不到适合的控件来拖动。差点想直接用代码得了,无意中想起wxFormBuilder的自原创 2014-02-20 21:22:30 · 4498 阅读 · 2 评论