⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textctrl.h

📁 wxGTK 是 wxWidgets 的 linux GTK+ (>2.2.3)版本。wxWidgets 是一个跨平台的 GUI 框架
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        wx/msw/textctrl.h// Purpose:     wxTextCtrl class// Author:      Julian Smart// Modified by:// Created:     01/02/97// RCS-ID:      $Id: textctrl.h,v 1.78 2006/10/08 23:16:47 VZ Exp $// Copyright:   (c) Julian Smart// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////#ifndef _WX_TEXTCTRL_H_#define _WX_TEXTCTRL_H_class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase{public:    // creation    // --------    wxTextCtrl() { Init(); }    wxTextCtrl(wxWindow *parent, wxWindowID id,               const wxString& value = wxEmptyString,               const wxPoint& pos = wxDefaultPosition,               const wxSize& size = wxDefaultSize,               long style = 0,               const wxValidator& validator = wxDefaultValidator,               const wxString& name = wxTextCtrlNameStr)    {        Init();        Create(parent, id, value, pos, size, style, validator, name);    }    virtual ~wxTextCtrl();    bool Create(wxWindow *parent, wxWindowID id,                const wxString& value = wxEmptyString,                const wxPoint& pos = wxDefaultPosition,                const wxSize& size = wxDefaultSize,                long style = 0,                const wxValidator& validator = wxDefaultValidator,                const wxString& name = wxTextCtrlNameStr);    // implement base class pure virtuals    // ----------------------------------    virtual wxString GetValue() const;    virtual bool IsEmpty() const;    virtual wxString GetRange(long from, long to) const;    virtual int GetLineLength(long lineNo) const;    virtual wxString GetLineText(long lineNo) const;    virtual int GetNumberOfLines() const;    virtual bool IsModified() const;    virtual bool IsEditable() const;    virtual void GetSelection(long* from, long* to) const;    // operations    // ----------    // editing    virtual void Clear();    virtual void Replace(long from, long to, const wxString& value);    virtual void Remove(long from, long to);    // load the control's contents from the file    virtual bool DoLoadFile(const wxString& file, int fileType);    // clears the dirty flag    virtual void MarkDirty();    virtual void DiscardEdits();    virtual void SetMaxLength(unsigned long len);    // writing text inserts it at the current position, appending always    // inserts it at the end    virtual void WriteText(const wxString& text);    virtual void AppendText(const wxString& text);#ifdef __WIN32__    virtual bool EmulateKeyPress(const wxKeyEvent& event);#endif // __WIN32__#if wxUSE_RICHEDIT    // apply text attribute to the range of text (only works with richedit    // controls)    virtual bool SetStyle(long start, long end, const wxTextAttr& style);    virtual bool SetDefaultStyle(const wxTextAttr& style);    virtual bool GetStyle(long position, wxTextAttr& style);#endif // wxUSE_RICHEDIT    // translate between the position (which is just an index in the text ctrl    // considering all its contents as a single strings) and (x, y) coordinates    // which represent column and line.    virtual long XYToPosition(long x, long y) const;    virtual bool PositionToXY(long pos, long *x, long *y) const;    virtual void ShowPosition(long pos);    virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, long *pos) const;    virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt,                                            wxTextCoord *col,                                            wxTextCoord *row) const    {        return wxTextCtrlBase::HitTest(pt, col, row);    }    // Clipboard operations    virtual void Copy();    virtual void Cut();    virtual void Paste();    virtual bool CanCopy() const;    virtual bool CanCut() const;    virtual bool CanPaste() const;    // Undo/redo    virtual void Undo();    virtual void Redo();    virtual bool CanUndo() const;    virtual bool CanRedo() const;    // Insertion point    virtual void SetInsertionPoint(long pos);    virtual void SetInsertionPointEnd();    virtual long GetInsertionPoint() const;    virtual wxTextPos GetLastPosition() const;    virtual void SetSelection(long from, long to);    virtual void SetEditable(bool editable);    // Caret handling (Windows only)    bool ShowNativeCaret(bool show = true);    bool HideNativeCaret() { return ShowNativeCaret(false); }    // Implementation from now on    // --------------------------    virtual void SetWindowStyleFlag(long style);    virtual void Command(wxCommandEvent& event);    virtual bool MSWCommand(WXUINT param, WXWORD id);    virtual WXHBRUSH MSWControlColor(WXHDC hDC, WXHWND hWnd);#if wxUSE_RICHEDIT    virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);    int GetRichVersion() const { return m_verRichEdit; }    bool IsRich() const { return m_verRichEdit != 0; }    // rich edit controls are not compatible with normal ones and wem ust set    // the colours for them otherwise    virtual bool SetBackgroundColour(const wxColour& colour);    virtual bool SetForegroundColour(const wxColour& colour);#endif // wxUSE_RICHEDIT#if wxUSE_INKEDIT && wxUSE_RICHEDIT    bool IsInkEdit() const { return m_isInkEdit != 0; }#else    bool IsInkEdit() const { return false; }#endif    virtual void AdoptAttributesFromHWND();    virtual bool AcceptsFocus() const;    // callbacks    void OnDropFiles(wxDropFilesEvent& event);    void OnChar(wxKeyEvent& event); // Process 'enter' if required    void OnCut(wxCommandEvent& event);    void OnCopy(wxCommandEvent& event);    void OnPaste(wxCommandEvent& event);    void OnUndo(wxCommandEvent& event);    void OnRedo(wxCommandEvent& event);    void OnDelete(wxCommandEvent& event);    void OnSelectAll(wxCommandEvent& event);    void OnUpdateCut(wxUpdateUIEvent& event);    void OnUpdateCopy(wxUpdateUIEvent& event);    void OnUpdatePaste(wxUpdateUIEvent& event);    void OnUpdateUndo(wxUpdateUIEvent& event);    void OnUpdateRedo(wxUpdateUIEvent& event);    void OnUpdateDelete(wxUpdateUIEvent& event);    void OnUpdateSelectAll(wxUpdateUIEvent& event);    // Show a context menu for Rich Edit controls (the standard    // EDIT control has one already)    void OnContextMenu(wxContextMenuEvent& event);    // be sure the caret remains invisible if the user    // called HideNativeCaret() before    void OnSetFocus(wxFocusEvent& event);    // intercept WM_GETDLGCODE    virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);    virtual bool MSWShouldPreProcessMessage(WXMSG* pMsg);    virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;    virtual wxVisualAttributes GetDefaultAttributes() const;protected:    // common part of all ctors    void Init();    virtual void DoSetValue(const wxString &value, int flags = 0);    // return true if this control has a user-set limit on amount of text (i.e.    // the limit is due to a previous call to SetMaxLength() and not built in)    bool HasSpaceLimit(unsigned int *len) const;    // call this to increase the size limit (will do nothing if the current    // limit is big enough)    //    // returns true if we increased the limit to allow entering more text,    // false if we hit the limit set by SetMaxLength() and so didn't change it    bool AdjustSpaceLimit();#if wxUSE_RICHEDIT && (!wxUSE_UNICODE || wxUSE_UNICODE_MSLU)    // replace the selection or the entire control contents with the given text    // in the specified encoding    bool StreamIn(const wxString& value, wxFontEncoding encoding, bool selOnly);    // get the contents of the control out as text in the given encoding    wxString StreamOut(wxFontEncoding encoding, bool selOnly = false) const;#endif // wxUSE_RICHEDIT    // replace the contents of the selection or of the entire control with the    // given text    void DoWriteText(const wxString& text,                     int flags = SetValue_SendEvent | SetValue_SelectionOnly);    // set the selection possibly without scrolling the caret into view    void DoSetSelection(long from, long to, bool scrollCaret = true);    // return true if there is a non empty selection in the control    bool HasSelection() const;    // get the length of the line containing the character at the given    // position    long GetLengthOfLineContainingPos(long pos) const;    // send TEXT_UPDATED event, return true if it was handled, false otherwise    bool SendUpdateEvent();    virtual wxSize DoGetBestSize() const;#if wxUSE_RICHEDIT    // we're using RICHEDIT (and not simple EDIT) control if this field is not    // 0, it also gives the version of the RICHEDIT control being used (1, 2 or    // 3 so far)    int m_verRichEdit;#endif // wxUSE_RICHEDIT    // number of EN_UPDATE events sent by Windows when we change the controls    // text ourselves: we want this to be exactly 1    int m_updatesCount;private:    DECLARE_EVENT_TABLE()    DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextCtrl)    wxMenu* m_privateContextMenu;    bool m_isNativeCaretShown;#if wxUSE_INKEDIT && wxUSE_RICHEDIT    int  m_isInkEdit;#endif};#endif    // _WX_TEXTCTRL_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -