2014-10-01 3 views
0

Я хочу всплывать подсказку, когда мышь перемещается по кнопке, чтобы объяснить, что произойдет, если пользователь нажмет на кнопку.Кнопка подсказки подсказки инструмента

Этот код, кажется, делает работу (за большой коряге за исключением)

wxHelpProvider::Set(new wxSimpleHelpProvider); 

... 

btnDisplay = new wxButton(this, -1, 
          "DISPLAY", wxPoint(10,35)); 
btnDisplay->SetHelpText("Click to display this dimension"); 
btnDisplay->Bind(wxEVT_ENTER_WINDOW, &cHiddenDimensionPanel::OnDisplayHelp, this); 

... 

void cHiddenDimensionPanel::OnDisplayHelp(wxMouseEvent& event) 
{ 
wxHelpProvider::Get()->ShowHelp((wxWindowBase*)event.GetEventObject()); 
} 

enter image description here

загвоздка в том, что подсказка затеняет кнопку! Если я нажму на него, наконечник инструмента исчезнет на мгновение, но сразу появится. Невозможно нажать кнопку под подсказкой.

ответ

1

Вы должны использовать метод SetToolTip(const wxString &tipString) и позволять дескриптору wx показывать/скрывать всплывающую подсказку - не повторно присваивать свойство HelpText и вручную управлять всплывающей подсказкой.