Search found 33 matches

by ccnyou
Mon Dec 17, 2012 8:51 am
Forum: wxWidgets Development (Chinese)
Topic: 求助! 使用 wxWidgets 多线程问题(wxThread)?
Replies: 2
Views: 3137

Re: 求助! 使用 wxWidgets 多线程问题(wxThread)?

zhiji wrote:我从wxThread继承一个自己的工作线程, 在wxWidgets的控制台程序下用着没问题.

可到wxWidgets的图形界面下, 一启动线程就出现对话框: An unhandled exception occurred. *****

不知道出了什么事????
或者发代码
by ccnyou
Mon Dec 17, 2012 8:50 am
Forum: wxWidgets Development (Chinese)
Topic: wxPaintDC::GetMultiLineTextExtent 有 Bug?
Replies: 4
Views: 4060

Re: wxPaintDC::GetMultiLineTextExtent 有 Bug?

kipade wrote:原来是这么的,不细看还真发现不了
只是,我也很好奇,你为什么把该用\n的地方都用\r\n呢?
之前用MFC时候不知不觉养成的的一个习惯吧,感觉在windows下\r\n才能保证换行
by ccnyou
Fri Nov 16, 2012 4:46 pm
Forum: wxWidgets Development (Chinese)
Topic: wxPaintDC::GetMultiLineTextExtent 有 Bug?
Replies: 4
Views: 4060

Re: wxPaintDC::GetMultiLineTextExtent 有 Bug?

QQ截图20121117003723.png
QQ截图20121117003723.png (24.51 KiB) Viewed 4045 times
现在的效果图
by ccnyou
Fri Nov 16, 2012 3:53 pm
Forum: wxWidgets Development (Chinese)
Topic: wxPaintDC::GetMultiLineTextExtent 有 Bug?
Replies: 4
Views: 4060

Re: wxPaintDC::GetMultiLineTextExtent 有 Bug?

貌似问题解决,将字符串改成这样就OK了(\r\n => \n 或 \r 都行) const wxString c_usageString( wxT("请将文件拖到窗口内\n") wxT("*文件中的第一个串作为空节点的标志,如 # \n") wxT("*以后的每个串都将作为先序遍历的结点插入到树中 \n") wxT("*建议结点串不要太长,不然容易超出框框长度 \n") wxT("*支持左键拖动,滚轮缩放 \n") ); 问题由来大概是,在wxDC实现 GetMultiLineTextExtent 时,遇到 \r\n都算一行,但是在输出的时候,却将两个合并了,所以计算出来的 高度就是实际的两倍...
by ccnyou
Fri Nov 16, 2012 1:51 pm
Forum: wxWidgets Development (Chinese)
Topic: wxPaintDC::GetMultiLineTextExtent 有 Bug?
Replies: 4
Views: 4060

wxPaintDC::GetMultiLineTextExtent 有 Bug?

一段代码: void BinaryTreeViewerFrame::DrawUsage(wxPaintDC& paintDC, const wxRect& clientRect) { wxSize textSize = paintDC.GetMultiLineTextExtent( c_usageString ); wxPoint point( clientRect.GetX() + (clientRect.GetWidth() - textSize.GetWidth()) / 2, clientRect.GetY() + (clientRect.GetHeight() - textSize....
by ccnyou
Fri Oct 26, 2012 10:44 am
Forum: wxWidgets Development (Chinese)
Topic: wxWidgets 正确地获取文件大小的方法?
Replies: 1
Views: 2015

Re: wxWidgets 正确地获取文件大小的方法?

google找到一个未文档的方法:

Code: Select all

	wxFileOffset fileLength = -1;
	wxStructStat strucStat;
	int statRet = wxStat( *pathStringRef , &strucStat);
	if (statRet == 0)
	{
		fileLength = strucStat.st_size;
	}
个人纠结的是,为何文档找不到呢?那么好的方法。。。
by ccnyou
Thu Oct 25, 2012 11:43 pm
Forum: wxWidgets Development (Chinese)
Topic: wxWidgets 正确地获取文件大小的方法?
Replies: 1
Views: 2015

wxWidgets 正确地获取文件大小的方法?

我尝试这样获取文件大小,我的系统是 Ubuntu 和 WinXP。在windows下这样工作良好,但是在Ubuntu下经常会报权限不足,例如: wxFile file( wxT("/vmlinuz") ); if( file.IsOpened() ) { int length = file.Length(); cout << length << endl; } 另一方面,我发现这样可以正确获取linux系统的文件大小而不会得到警告: struct stat buf; stat("/vmlinuz", &buf); cout << buf.st_size << endl; 请问,在wxWidge...
by ccnyou
Sun Oct 14, 2012 11:49 pm
Forum: wxWidgets Development (Chinese)
Topic: PHPnow.org
Replies: 1
Views: 1796

Re: PHPnow.org

楼主想说明什么?
by ccnyou
Sat Oct 13, 2012 11:56 am
Forum: wxWidgets Development (Chinese)
Topic: wxString中是否存在内存泄露?
Replies: 8
Views: 5510

Re: wxString中是否存在内存泄露?

这些都是无关紧要的了,其实,如果还要继续沿于之前的main入口,也不是不可以,只是得调用wx的初始化函数,退出之前调用wx的清理函数 如下: int main(int argc,char* argv[]) { wxInitialize(); ....//这里放置你的程序代码 wxUninitialize(); return 0; } 这样是不是省了你app部分代码? 你看一下这两个函数的实现就很明了了 这样也可以,但是wxWidgets中的example的做法是 wxInitializer initializer; 或者 wxInitializer initializer(argc,argv);
by ccnyou
Sat Oct 13, 2012 6:04 am
Forum: wxWidgets Development (Chinese)
Topic: wxSocket 问题 的一些经验之谈
Replies: 1
Views: 2129

Re: wxSocket 问题 的一些经验之谈

感谢楼主分享,学习之
by ccnyou
Thu Oct 11, 2012 3:00 pm
Forum: wxWidgets Development (Chinese)
Topic: wxString中是否存在内存泄露?
Replies: 8
Views: 5510

Re: wxString中是否存在内存泄露?

原因很简单,wx有不少全局变量哦,是new出来的。 至于你使用wxInitializer的办法,你自己试过了才好,这个在WX的宏定定义都做好了 其实,要是都遵循WX的基本结构问题就简单了。这一点挺像MFC的 class testApp : public wxApp { virtual bool OnInit() { //把你原来在main函数里面完成的东西放这儿来就行了 return false;//这里的返回false很重要! } }; IMPLEMENT_APP_CONSOLE(testApp) 你看上面的宏定义就明白了,如果是GUI程序就是IMPLEMENT_APP了 这个办法很像MF...
by ccnyou
Tue Oct 09, 2012 1:50 pm
Forum: wxWidgets Development (Chinese)
Topic: wxListCtrl如何响应 EVT_SIZE 消息?
Replies: 1
Views: 2227

wxListCtrl如何响应 EVT_SIZE 消息?

我试图让我的派生自wxListCtrl的类 wxFileListCtrl 响应 EVT_SIZE 消息,一遍用户将窗口最大化时我能调整各个 column 的宽度。 但是遇到了点问题,windows环境下工作良好,但是在Ubuntu下总是遇到问题,不是看不到第一行就是list整个看不到。 我觉得是响应的方式不对,请问我该怎么做呢? 刚才有事急着出去,补充一下,我的实现方式是这样的: BEGIN_EVENT_TABLE(wxFileListCtrl, wxListCtrl) EVT_SIZE(wxFileListCtrl::OnSize) END_EVENT_TABLE() 其中,wxFileLi...
by ccnyou
Mon Oct 08, 2012 7:54 am
Forum: wxWidgets Development (Chinese)
Topic: =自我介绍=(新人可来这里对自己作自我介绍)
Replies: 146
Views: 179991

Re: =自我介绍=(新人可来这里对自己作自我介绍)

偶是专职业余酱油党,喜欢写写小代码,学习开源项目,特别享受那种写一次代码在多个平台可以同样运行的感觉。
在各个平台使用过codeblocks后感叹它的强大,查了下原来是wxWidgets写的,所以想学习之
by ccnyou
Mon Oct 08, 2012 7:44 am
Forum: wxWidgets Development (Chinese)
Topic: wxString中是否存在内存泄露?
Replies: 8
Views: 5510

Re: wxString中是否存在内存泄露?

事实上我应该先初始化,像这样:

Code: Select all

    wxInitializer initializer;
    if ( !initializer )
    {
        fprintf(stderr, "Failed to initialize the wxWidgets library, aborting.");
        return -1;
    }
by ccnyou
Mon Oct 08, 2012 7:14 am
Forum: wxWidgets Development (Chinese)
Topic: wxString中是否存在内存泄露?
Replies: 8
Views: 5510

Re: wxString中是否存在内存泄露?

kipade wrote:当然不是
应用这么频繁的类要是再有内存泄露,wx根本就不会面世见人
你的这些代码,就算你的main函数里面只写一个return 0;
也丝毫影响不了你的结论

--你是不是想拿过来就用啊?得先了解一下子的哦,再就是,出这样的问题之后要看问题出在哪里
thank you a lot for your help !
恩,我了解过Dialog Base 和 Frame Base的编写,由于单元测试的需要,想要编写基于控制台的程序来测试,
所以就这样建立了个demo。或许我应该去了解下 Console Base App 的编写。