wxWidgets滚动窗口刷新问题

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
xueyicool
In need of some credit
In need of some credit
Posts: 6
Joined: Tue Apr 24, 2012 1:50 am

wxWidgets滚动窗口刷新问题

Post by xueyicool »

我最近新学编程,第一个学的就是wxWidgets,遇到了关于滚动窗口刷新的问题。我是在MySubCanvas绘制区用for循环生成了数量可变的wxSpinCtrl,并对它用wxFlexGridSizer布局。但是生成的窗口在我最大化后再恢复小窗口,滚动条会消失,要拖拽窗口边框滚动条才会重新出现,而且最大化过程会出现闪烁。请问这个问题怎么解决?
最初生成的窗口
最初生成的窗口
最大化后恢复的小窗口,没有水平滚动条
最大化后恢复的小窗口,没有水平滚动条
Attachments
wxWidgets滚动窗口实现.txt
我的滚动窗口实现部分程序
(3.25 KiB) Downloaded 345 times
ollydbg23
Super wx Problem Solver
Super wx Problem Solver
Posts: 438
Joined: Fri Dec 12, 2008 10:31 am

Re: wxWidgets滚动窗口刷新问题

Post by ollydbg23 »

不知道你用什么版本的wxWidgets?

如果可能,你可以用一下最新的wxWidgets2.9.x的版本,或者直接编译trunk版本。

如果这个问题只出现在wx2.8.x版本中,而在trunk中不存在,那么说明这个bug已经修复了。
xueyicool
In need of some credit
In need of some credit
Posts: 6
Joined: Tue Apr 24, 2012 1:50 am

Re: wxWidgets滚动窗口刷新问题

Post by xueyicool »

ollydbg23 wrote:不知道你用什么版本的wxWidgets?

如果可能,你可以用一下最新的wxWidgets2.9.x的版本,或者直接编译trunk版本。

如果这个问题只出现在wx2.8.x版本中,而在trunk中不存在,那么说明这个bug已经修复了。


我用的是2.9版本的,我想知道这是窗口刷新的问题吗?怎么解决呢?
samsam598
Super wx Problem Solver
Super wx Problem Solver
Posts: 340
Joined: Mon Oct 06, 2008 12:55 pm

Re: wxWidgets滚动窗口刷新问题

Post by samsam598 »

Win7下很多语言都碰到过scrollbar不见了的囧事,比如FreePascal+Lazarus,Ecere
Regards,
Sam
-------------------------------------------------------------------
Windows 10 64bit
VS Community 2019
msys2-mingw13.2.0 C::B character set: UTF-8/GBK(Chinese)
wxWidgets 3.3/3.2.4 Unicode Mono Static gcc static build
xueyicool
In need of some credit
In need of some credit
Posts: 6
Joined: Tue Apr 24, 2012 1:50 am

Re: wxWidgets滚动窗口刷新问题

Post by xueyicool »

samsam598 wrote:Win7下很多语言都碰到过scrollbar不见了的囧事,比如FreePascal+Lazarus,Ecere
这里滚动条的问题难道是win7系统的bug引发的???我不想换系统啊,电脑里软件太多,重装麻烦。
ollydbg23
Super wx Problem Solver
Super wx Problem Solver
Posts: 438
Joined: Fri Dec 12, 2008 10:31 am

Re: wxWidgets滚动窗口刷新问题

Post by ollydbg23 »

xueyicool wrote:
samsam598 wrote:Win7下很多语言都碰到过scrollbar不见了的囧事,比如FreePascal+Lazarus,Ecere
这里滚动条的问题难道是win7系统的bug引发的???我不想换系统啊,电脑里软件太多,重装麻烦。
我觉得你这个问题你可以去wxWidgets的英文邮件列表问问,那里牛人多,估计能告诉你原因,呵呵。我帮不了你啊。
xueyicool
In need of some credit
In need of some credit
Posts: 6
Joined: Tue Apr 24, 2012 1:50 am

Re: wxWidgets滚动窗口刷新问题

Post by xueyicool »

以上问题我的解决方法是:
1、滚动条会消失,是因为SetScrollbars(10, 10, 80, 80);中设置的值不太好,可以试着将后两个数改大点。
2、窗口刷新问题,需要在OnDraw函数中画图,而不是OnPaint。具体原因以及这两个函数之间的差别暂时还没弄清楚,以后再加上解释。
Post Reply