我已经制作了一个wxPerl应用程序,它只包含一个简单的框架,其中包括wxMenuBar、wxPanel、wxTextCtrl和wxStaticBitmap。开发和部署平台是Windows XP及以上版本。
将图像添加到表单中的方法如下:
将图像添加到表单中的方法如下:
my $logoData = Wx::Bitmap->new(App::Resource::Images::getLogoPath(), wxBITMAP_TYPE_BMP);
my $logo = Wx::StaticBitmap->new($self, -1, $logoData);
我展示图片时没有任何问题。我使用Inno Setup制作了一个安装程序,将图标添加到用户的桌面上。如果使用该快捷方式启动应用程序,则窗口不会绘制我的wxStaticBitmap。只有当应用程序失去焦点并移动其他窗口时,我的wxStaticBitmap才会被绘制。
从开始菜单、快速启动或直接使用wxpar编译后启动应用程序,或者仅使用perl解释器显示我的wxStaticBitmap都很好。
我发现唯一的方法是在我的wxFrame上调用Refresh()
和Update()
。创建这个wxFrame后,我调用Show(1)
,然后立即调用Refresh()
和Update()
。但是到目前为止还没有成功。