wxMenuBar、wxPanel、wxTextCtrl、およびwxStaticBitmapのみを含む単純なフレームのみを表示するwxPerlアプリケーションを作成しました。開発および展開プラットフォームは、WindowsXP以降です。
画像は次のようにフォームに追加されます。
my $logoData = Wx::Bitmap->new(App::Resource::Images::getLogoPath(), wxBITMAP_TYPE_BMP);
my $logo = Wx::StaticBitmap->new($self, -1, $logoData);
画像の表示に問題はありませんでした。ユーザーのデスクトップにアイコンを追加するInnoSetupを使用してインストーラーを作成しました。アプリケーションがそのショートカットを使用して開始した場合、ウィンドウは私のwxStaticBitmapを描画しません。アプリケーションがフォーカスを失い、他のウィンドウがその上に移動している場合にのみ、wxStaticBitmapが描画されます。
スタートメニュー、クイックスタート、またはwxparでコンパイルした直後、またはperl interperterでアプリケーションを起動すると、wxStaticBitmapが正常に表示されます。
私が見つけた唯一のものは、私のwxFrameでの呼び出しRefresh()
ですUpdate()
。このwxFrameを作成しShow(1)
た後、その直後Refresh()
に呼び出しますUpdate()
。しかし、これまでのところ運がありませんでした。