void OnSlant(wxCommandEvent& event);
void OnUnderline(wxCommandEvent& event);
+ void OnStrikethrough(wxCommandEvent& event);
void OnwxPointerFont(wxCommandEvent& event);
void OnwxSystemSettingsFont(wxCommandEvent& event);
Font_Slant,
Font_Underlined,
+ Font_Strikethrough,
// standard global wxFont objects:
Font_wxNORMAL_FONT,
EVT_MENU(Font_Slant, MyFrame::OnSlant)
EVT_MENU(Font_Underlined, MyFrame::OnUnderline)
+ EVT_MENU(Font_Strikethrough, MyFrame::OnStrikethrough)
EVT_MENU(Font_wxNORMAL_FONT, MyFrame::OnwxPointerFont)
EVT_MENU(Font_wxSMALL_FONT, MyFrame::OnwxPointerFont)
MyFrame *frame = new MyFrame(wxT("Font wxWidgets demo"),
wxPoint(50, 50), wxSize(600, 400));
- // Show it and tell the application that it's our main window
+ // Show it
frame->Show(true);
- SetTopWindow(frame);
// success: wxApp::OnRun() will be called which will enter the main message
// loop and the application will run. If we returned 'false' here, the
menuFile->Append(Font_ViewMsg, wxT("&View...\tCtrl-V"),
wxT("View an email message file"));
menuFile->AppendSeparator();
- menuFile->Append(Font_About, wxT("&About...\tCtrl-A"), wxT("Show about dialog"));
+ menuFile->Append(Font_About, wxT("&About\tCtrl-A"), wxT("Show about dialog"));
menuFile->AppendSeparator();
menuFile->Append(Font_Quit, wxT("E&xit\tAlt-X"), wxT("Quit this program"));
menuFont->AppendSeparator();
menuFont->AppendCheckItem(Font_Underlined, wxT("&Underlined\tCtrl-U"),
wxT("Toggle underlined state"));
+ menuFont->AppendCheckItem(Font_Strikethrough, wxT("&Strikethrough"),
+ wxT("Toggle strikethrough state"));
menuFont->AppendSeparator();
menuFont->Append(Font_SetNativeDesc,
wxFont font;
font.SetNativeFontInfo(fontInfo);
- if ( !font.Ok() )
+ if ( !font.IsOk() )
{
wxLogError(wxT("Font info string \"%s\" is invalid."),
fontInfo.c_str());
wxFont font;
if (font.SetNativeFontInfoUserDesc(fontUserInfo))
{
- wxASSERT_MSG(font.Ok(), wxT("The font should now be valid"));
+ wxASSERT_MSG(font.IsOk(), wxT("The font should now be valid"));
DoChangeFont(font);
}
else
{
- wxASSERT_MSG(!font.Ok(), wxT("The font should now be invalid"));
+ wxASSERT_MSG(!font.IsOk(), wxT("The font should now be invalid"));
wxMessageBox(wxT("Error trying to create a font with such description..."));
}
}
wxFont font(GetCanvas()->GetTextFont());
if (font.SetFaceName(newFaceName)) // change facename only
{
- wxASSERT_MSG(font.Ok(), wxT("The font should now be valid"));
+ wxASSERT_MSG(font.IsOk(), wxT("The font should now be valid"));
DoChangeFont(font);
}
else
{
- wxASSERT_MSG(!font.Ok(), wxT("The font should now be invalid"));
+ wxASSERT_MSG(!font.IsOk(), wxT("The font should now be invalid"));
wxMessageBox(wxT("There is no font with such face name..."),
wxT("Invalid face name"), wxOK|wxICON_ERROR, this);
}
DoChangeFont(font);
}
+void MyFrame::OnStrikethrough(wxCommandEvent& event)
+{
+ wxFont font = m_canvas->GetTextFont();
+ font.SetStrikethrough(event.IsChecked());
+ DoChangeFont(font);
+}
+
void MyFrame::OnwxPointerFont(wxCommandEvent& event)
{
wxFont font;
void MyFrame::DoChangeFont(const wxFont& font, const wxColour& col)
{
m_canvas->SetTextFont(font);
- if ( col.Ok() )
+ if ( col.IsOk() )
m_canvas->SetColour(col);
m_canvas->Refresh();
m_textctrl->SetFont(font);
- if ( col.Ok() )
+ if ( col.IsOk() )
m_textctrl->SetForegroundColour(col);
+ m_textctrl->Refresh();
// update the state of the bold/italic/underlined menu items
wxMenuBar *mbar = GetMenuBar();
#endif
mbar->Check(Font_Underlined, font.GetUnderlined());
+ mbar->Check(Font_Strikethrough, font.GetStrikethrough());
}
}
wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
wxFONTWEIGHT_NORMAL, false /* !underlined */,
wxEmptyString /* facename */, fontenc);
- if ( font.Ok() )
+ if ( font.IsOk() )
{
DoChangeFont(font);
}
PrepareDC(dc);
// set background
- dc.SetBackground(wxBrush(wxT("white"), wxSOLID));
+ dc.SetBackground(*wxWHITE_BRUSH);
dc.Clear();
dc.SetFont(m_font);
dc.DrawText(fontInfo, x, y);
y += hLine;
- if ( m_font.Ok() )
+ if ( m_font.IsOk() )
{
const wxNativeFontInfo *info = m_font.GetNativeFontInfo();
if ( info )
}
// draw the lines between them
- dc.SetPen(wxPen(wxColour(wxT("blue")), 1, wxSOLID));
+ dc.SetPen(*wxBLUE_PEN);
int l;
// horizontal