Search found 103 matches

by liuqi5521
Mon Apr 21, 2008 8:13 am
Forum: wxWidgets Development (Chinese)
Topic: wxBitmap这样写会释放前面的图像吗?
Replies: 4
Views: 2434

你这样用的话,应该是调用了wxBitmap的拷贝构

你这样用的话,应该是调用了wxBitmap的拷贝构造函数,象这种广泛使用的类库,写的都是很严谨的,肯定考虑到了要释放前一个位图。

我一般用load方法,应该和你的方法达到的目的是一样的,也不用太担心释放的问题
by liuqi5521
Mon Apr 21, 2008 8:10 am
Forum: wxWidgets Development (Chinese)
Topic: wxBitmap这样写会释放前面的图像吗?
Replies: 4
Views: 2434

既然没有提供删除的方法,那么重新赋值应该

既然没有提供删除的方法,那么重新赋值应该是会释放的。
by liuqi5521
Mon Apr 21, 2008 2:12 am
Forum: wxWidgets Development (Chinese)
Topic: wxStaticBox 把字帖设置大了之后,就出现了重影
Replies: 1
Views: 1502

代码也贴出来,哪位高手能帮我分析一下吗?

谢谢!我的开发环境是:wxDev-C++6.10.2
by liuqi5521
Sat Apr 19, 2008 11:04 pm
Forum: wxWidgets Development (Chinese)
Topic: 一个新问题
Replies: 9
Views: 3834

对于这个问题,我专门在博客上写了一篇文章。
当然,如果有错误疏漏之处,欢迎批评指正,文章网址:
http://blog.csdn.net/qiqi5521/archive/2 ... 06816.aspx
by liuqi5521
Sat Apr 19, 2008 10:51 pm
Forum: wxWidgets Development (Chinese)
Topic: 一个新问题
Replies: 9
Views: 3834

Re: 取得了一步进展

我不再使用ExitProcess(0) 或exit(0)之类的写法,而改为这种写法: ::PostMessage((HWND__ *)this->GetHandle(),WM_QUIT,0,0); 现在确实可以引发应用程序的OnExit事件了!这确实是个好消息。 但我很快又发现了新问题,发消息退出程序确实可以引发应用程序对象的OnExit(), 但是却仍然不能引发主对话框的OnClose()事件。 我试过,用窗口右上角的叉退出程序的话,OnClose() OnExit()都可以引发。郁闷中,望高手指点 ///////////////////////////////////////// 不清楚...
by liuqi5521
Sat Apr 19, 2008 10:46 pm
Forum: wxWidgets Development (Chinese)
Topic: 一个新问题
Replies: 9
Views: 3834

至于为什么发送WM_CLOSE消息可以触发主窗口的OnClose和wxAPP实例的OnExit()
而发送WM_QUIT消息则仅仅能够触发OnExit(),我在网上搜索到了答案:

“WM_CLOSE发给窗口或线程/进程通知关闭窗口或退出线程/进程。
你可以处理WM_CLOSE消息。
WM_QUIT通知退出线程/进程,你不能处理WM_QUIT消息,因为它使GetMessage返回0,从而使线程/进程退出。”
by liuqi5521
Sat Apr 19, 2008 10:38 pm
Forum: wxWidgets Development (Chinese)
Topic: 一个新问题
Replies: 9
Views: 3834

问题解决了

经过自己的一番搜索问题终于解决了。 为了后来人不再误解我的意思,我再重申一遍我的问题:如何用代码退出自己的程序。注意:这是很有用的,一些程序中都会用到,比如自动升级、程序出错时自动重启等等。 我自己曾经试过五种方法,加上楼上朋友的那两种建议,一共算7种方法吧 ExitProcess(0); this->EndModal(true); ::PostMessage((HWND__ *)this->GetHandle(),WM_CLOSE,0,0); ::PostMessage((HWND__ *)this->GetHandle(),WM_QUIT,0,0); exit(0); 这些方法中,仅仅有一...
by liuqi5521
Sat Apr 19, 2008 10:28 pm
Forum: wxWidgets Development (Chinese)
Topic: 一个新问题
Replies: 9
Views: 3834

Re: 取得了一步进展

我不再使用ExitProcess(0) 或exit(0)之类的写法,而改为这种写法: ::PostMessage((HWND__ *)this->GetHandle(),WM_QUIT,0,0); 现在确实可以引发应用程序的OnExit事件了!这确实是个好消息。 但我很快又发现了新问题,发消息退出程序确实可以引发应用程序对象的OnExit(), 但是却仍然不能引发主对话框的OnClose()事件。 我试过,用窗口右上角的叉退出程序的话,OnClose() OnExit()都可以引发。郁闷中,望高手指点 ///////////////////////////////////////// 不清楚...
by liuqi5521
Sat Apr 19, 2008 10:24 pm
Forum: wxWidgets Development (Chinese)
Topic: 一个新问题
Replies: 9
Views: 3834

我想表达的是:用代码退出程序的标准方法

程序不一定要用户按右上角的X来退出。
假设窗体上有一个自己的按钮,在按钮事件中怎样写退出代码?
by liuqi5521
Sat Apr 19, 2008 3:40 am
Forum: wxWidgets Development (Chinese)
Topic: 一个新问题
Replies: 9
Views: 3834

取得了一步进展

我不再使用ExitProcess(0) 或exit(0)之类的写法,而改为这种写法:
::PostMessage((HWND__ *)this->GetHandle(),WM_QUIT,0,0);
现在确实可以引发应用程序的OnExit事件了!这确实是个好消息。

但我很快又发现了新问题,发消息退出程序确实可以引发应用程序对象的OnExit(),
但是却仍然不能引发主对话框的OnClose()事件。

我试过,用窗口右上角的叉退出程序的话,OnClose() OnExit()都可以引发。郁闷中,望高手指点
by liuqi5521
Sat Apr 19, 2008 3:23 am
Forum: wxWidgets Development (Chinese)
Topic: 一个新问题
Replies: 9
Views: 3834

一个新问题

在应用程序退出的时候,我需要执行一些操作,这里就用一个MessageBox代表吧: int test1DlgApp::OnExit() { MessageBox(0,"OnExit","OnExit",MB_OK); return 0; } 问题是,如果我点击窗口上的X退出程序,就可以引发MessageBox,这是没问题的。 但是我自己的按钮,我写上退出代码,却根本不会执行到MessageBox,这说明应用程序的OnExit()没有得到执行啊,为什么呢? /* * WxButton1Click */ void test1Dlg::WxButton1Click(wxCommandEvent& e...
by liuqi5521
Sat Apr 19, 2008 3:19 am
Forum: wxWidgets Development (Chinese)
Topic: wxWidget中的线程编程模型?
Replies: 12
Views: 5579

Re: 如果你的计算时间确实无法确定

Justin2008 wrote:脉动模式的特点是什么?我感觉挺怪的,每一次移动的好慢 :(
liuqi5521 wrote:如果你的计算时间确实无法确定,那么你可以用进度条的脉动模式啊,就是Pulse方法。
每次调用Pulse确实移动的很小。但如果你调用多次,就会移动的很多
for(long i=0;i<20;i++)
wxGuage1->Pulse();

不要仅仅把一句放在那里,应该用一个循环
by liuqi5521
Fri Apr 18, 2008 1:44 pm
Forum: wxWidgets Development (Chinese)
Topic: 如何用滚动窗口显示一张大的图片,可以对图
Replies: 5
Views: 2787

可以用wxStaticBitmap
用SetBitmap方法设置图片。
by liuqi5521
Fri Apr 18, 2008 1:41 pm
Forum: wxWidgets Development (Chinese)
Topic: 怎么写一个函数模板?
Replies: 7
Views: 3565

哦,对,你是对的。是我误用了“深度拷贝”这个词了。
我是觉得传值比引用传的深,所以信口就说了个“深度拷贝”
其实确实应该叫“浅度拷贝”。

如果自己实现了深度拷贝构造函数,才叫深度拷贝。

谢谢!