📄 wxstatictextnobackground.cpp
字号:
/* * Roadnav * wxStaticTextNoBackground.cpp * * Copyright (c) 2004 - 2007 Richard L. Lynch <rllynch@users.sourceforge.net> * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public License * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ///////////////////////////////////////////////////////////////////////////////// \file////// Contains wxStaticTextNoBackground - a class similar to wxStaticText, but/// without the background./////////////////////////////////////////////////////////////////////////////////#ifdef HAVE_CONFIG_H# include <config.h>#endif#ifdef _MSC_VER#pragma warning(disable: 4786)#endif#include <wx/wx.h>#include <wx/tokenzr.h>#include "wxStaticTextNoBackground.h"BEGIN_EVENT_TABLE(wxStaticTextNoBackground, wxControl) EVT_ERASE_BACKGROUND(wxStaticTextNoBackground::OnEraseBackground) EVT_PAINT(wxStaticTextNoBackground::OnPaint)END_EVENT_TABLE()//////////////////////////////////////////////////////////////////////////////////// \brief Constructor - takes same parameters as wxStaticText./////////////////////////////////////////////////////////////////////////////////wxStaticTextNoBackground::wxStaticTextNoBackground( wxWindow* parent, wxWindowID id, const wxString& label, const wxPoint& pos, const wxSize& size, long style, const wxString& name){ m_pParent = parent; Create( parent, id, pos, size, #if wxCHECK_VERSION(2, 5, 0) wxNO_BORDER#else 0#endif ); SetLabel(label);}//////////////////////////////////////////////////////////////////////////////////// \brief Handles erase background message - does nothing./////////////////////////////////////////////////////////////////////////////////void wxStaticTextNoBackground::OnEraseBackground(wxEraseEvent& event){}//////////////////////////////////////////////////////////////////////////////////// \brief Updates the label and refreshes the control/////////////////////////////////////////////////////////////////////////////////void wxStaticTextNoBackground::SetLabel(const wxString& label){ wxControl::SetLabel(label); m_pParent->RefreshRect(GetRect());}//////////////////////////////////////////////////////////////////////////////////// \brief Paint text./////////////////////////////////////////////////////////////////////////////////void wxStaticTextNoBackground::OnPaint(wxPaintEvent& event){ wxPaintDC dc(this); wxStringTokenizer tkz(GetLabel(), wxT("\n"), wxTOKEN_RET_EMPTY); wxCoord iLineWidth, iLineHeight; int iY; dc.SetFont(GetFont()); dc.SetTextForeground(GetForegroundColour()); dc.SetBackgroundMode(wxTRANSPARENT); dc.GetTextExtent(wxT("ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890"), &iLineWidth, &iLineHeight); iY = 0; while (tkz.HasMoreTokens()) { dc.DrawText(tkz.GetNextToken(), 0, iY); iY += iLineHeight; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -