wxGTK アプリケーションで、テキスト フィールドの背景をエラー時には赤に、入力成功時には白に設定して、入力エラーを知らせたいと考えています。ただし、 で背景色を設定SetBackgroundColor
すると、非アクティブな選択範囲の背景色が同じ色に設定されます。これにより、背景色を白に設定すると、非常に望ましくない状況が発生します。選択したテキストの前景色が白で、選択したテキストの背景色も白になるため、テキストが判読できなくなります。
wxTextCtrl の色をリセットして、非アクティブな選択テキストの背景が灰色になるようにするにはどうすればよいですか (SetBackgroundColour の前のデフォルト設定)。SetBackgroundStyle( wxBG_STYLE_SYSTEM)
は私の最初の推測でしたが、wxGTK には影響しません。
コード例:
#include <wx/textctrl.h>
#include <wx/frame.h>
#include <wx/defs.h>
#include <wx/app.h>
class App : public wxApp {
bool OnInit() {
wxFrame* frame = new wxFrame(NULL, wxID_ANY, wxT("Frame"));
wxTextCtrl* text = new wxTextCtrl( frame, wxID_ANY, wxT("foo bar") );
text->SetBackgroundStyle( wxBG_STYLE_COLOUR );
text->SetBackgroundColour( *wxWHITE );
frame->Show();
return true;
}
};
IMPLEMENT_APP( App );