3

wxFRAME_NO_TASKBAR | で簡単なアプリケーションを作成すると wxBORDER_NONE 以下のように

#include <wx/wx.h>class Simple : public wxFrame

class Simple : public wxFrame
{
public:
    Simple(const wxString& title);

};


Simple::Simple(const wxString& title)
       : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250,     150),wxFRAME_NO_TASKBAR | wxBORDER_NONE)
{
  Centre();
}


class MyApp : public wxApp
{
  public:
    virtual bool OnInit();
};


IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    Simple *simple = new Simple(wxT("Simple"));
simple->Show(true);

return true;
}

このアプリケーションの実行中にコンピューターをシャットダウンしようとすると、「0x00780065 の命令が 0x00780065 のメモリを参照しました。メモリに書き込むことができませんでした」と表示されます。

ログオフを防ぐには、次のようにします。メモ帳を起動し、何か入力します。次に、コンパイルされたプログラムを開始します。次に、ログオフを試みます。エラーが表示されます。メモ帳に保存するかどうか尋ねられたら、何もしません。数秒後、ログオフを強制するオプションを含むウィンドウがポップアップします。キャンセルをクリックします。このようにして、ログオフせずに問題を繰り返すことができます。

4

1 に答える 1

0

close イベントを処理する必要があると思います。

http://docs.wxwidgets.org/trunk/classwx_close_event.html

特に EVT_END_SESSION の説明に注意してください

于 2012-10-11T22:00:18.963 に答える