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

📄 textctrl.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        wx/palmos/textctrl.h// Purpose:     wxTextCtrl class// Author:      William Osborne - minimal working wxPalmOS port// Modified by:// Created:     10/13/04// RCS-ID:      $Id: textctrl.h,v 1.11 2006/10/08 22:39:45 VZ Exp $// Copyright:   (c) William Osborne// 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 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);#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,                                            wxTextCoord *col,                                            wxTextCoord *row) const;    // 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 Command(wxCommandEvent& event);    virtual bool MSWCommand(WXUINT param, WXWORD id);#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    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 OnRightClick(wxMouseEvent& event);    // be sure the caret remains invisible if the user    // called HideNativeCaret() before    void OnSetFocus(wxFocusEvent& event);protected:    // common part of all ctors    void Init();    virtual void DoSetValue(const wxString& value, int flags = 0);    // intercept WM_GETDLGCODE    virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);    // 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, bool selectionOnly = true);    // 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();    // override some base class virtuals    virtual bool MSWShouldPreProcessMessage(WXMSG* pMsg);    virtual wxSize DoGetBestSize() const;    virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) 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    // if true, SendUpdateEvent() will eat the next event (see comments in the    // code as to why this is needed)    bool m_suppressNextUpdate;private:    DECLARE_EVENT_TABLE()    DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextCtrl)    wxMenu* m_privateContextMenu;    bool m_isNativeCaretShown;};#endif    // _WX_TEXTCTRL_H_

⌨️ 快捷键说明

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