📄 listctrl.h
字号:
// Searches for an item, starting from 'item'. // item can be -1 to find the first item that matches the // specified flags. // Returns the item or -1 if unsuccessful. long GetNextItem(long item, int geometry = wxLIST_NEXT_ALL, int state = wxLIST_STATE_DONTCARE) const ; // Gets one of the three image lists wxImageList *GetImageList(int which) const ; // Sets the image list // N.B. There's a quirk in the Win95 list view implementation. // If in wxLC_LIST mode, it'll *still* display images by the labels if // there's a small-icon image list set for the control - even though you // haven't specified wxLIST_MASK_IMAGE when inserting. // So you have to set a NULL small-icon image list to be sure that // the wxLC_LIST mode works without icons. Of course, you may want icons... void SetImageList(wxImageList *imageList, int which) ; void AssignImageList(wxImageList *imageList, int which) ; // are we in report mode? bool InReportView() const { return HasFlag(wxLC_REPORT); } // are we in virtual report mode? bool IsVirtual() const { return HasFlag(wxLC_VIRTUAL); } // refresh items selectively (only useful for virtual list controls) void RefreshItem(long item); void RefreshItems(long itemFrom, long itemTo); // Operations //////////////////////////////////////////////////////////////////////////// // Arranges the items bool Arrange(int flag = wxLIST_ALIGN_DEFAULT); // Deletes an item bool DeleteItem(long item); // Deletes all items bool DeleteAllItems() ; // Deletes a column bool DeleteColumn(int col); // Deletes all columns bool DeleteAllColumns(); // Clears items, and columns if there are any. void ClearAll(); // Edit the label wxTextCtrl* EditLabel(long item, wxClassInfo* textControlClass = CLASSINFO(wxTextCtrl)); // End label editing, optionally cancelling the edit bool EndEditLabel(bool cancel); // Ensures this item is visible bool EnsureVisible(long item) ; // Find an item whose label matches this string, starting from the item after 'start' // or the beginning if 'start' is -1. long FindItem(long start, const wxString& str, bool partial = false); // Find an item whose data matches this data, starting from the item after 'start' // or the beginning if 'start' is -1. long FindItem(long start, wxUIntPtr data); // Find an item nearest this position in the specified direction, starting from // the item after 'start' or the beginning if 'start' is -1. long FindItem(long start, const wxPoint& pt, int direction); // Determines which item (if any) is at the specified point, // giving details in 'flags' (see wxLIST_HITTEST_... flags above) // Request the subitem number as well at the given coordinate. long HitTest(const wxPoint& point, int& flags, long* ptrSubItem = NULL) const; // Inserts an item, returning the index of the new item if successful, // -1 otherwise. long InsertItem(const wxListItem& info); // Insert a string item long InsertItem(long index, const wxString& label); // Insert an image item long InsertItem(long index, int imageIndex); // Insert an image/string item long InsertItem(long index, const wxString& label, int imageIndex); // For list view mode (only), inserts a column. long InsertColumn(long col, const wxListItem& info); long InsertColumn(long col, const wxString& heading, int format = wxLIST_FORMAT_LEFT, int width = -1); // set the number of items in a virtual list control void SetItemCount(long count); // Scrolls the list control. If in icon, small icon or report view mode, // x specifies the number of pixels to scroll. If in list view mode, x // specifies the number of columns to scroll. // If in icon, small icon or list view mode, y specifies the number of pixels // to scroll. If in report view mode, y specifies the number of lines to scroll. bool ScrollList(int dx, int dy); // Sort items. // fn is a function which takes 3 long arguments: item1, item2, data. // item1 is the long data associated with a first item (NOT the index). // item2 is the long data associated with a second item (NOT the index). // data is the same value as passed to SortItems. // The return value is a negative number if the first item should precede the second // item, a positive number of the second item should precede the first, // or zero if the two items are equivalent. // data is arbitrary data to be passed to the sort function. bool SortItems(wxListCtrlCompare fn, long data); // IMPLEMENTATION virtual bool MSWCommand(WXUINT param, WXWORD id); virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); virtual bool MSWShouldPreProcessMessage(WXMSG* msg); // bring the control in sync with current m_windowStyle value void UpdateStyle(); // Event handlers //////////////////////////////////////////////////////////////////////////// // Necessary for drawing hrules and vrules, if specified void OnPaint(wxPaintEvent& event); virtual bool ShouldInheritColours() const { return false; } virtual wxVisualAttributes GetDefaultAttributes() const { return GetClassDefaultAttributes(GetWindowVariant()); } static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);#if WXWIN_COMPATIBILITY_2_6 // obsolete stuff, for compatibility only -- don't use wxDEPRECATED( int GetItemSpacing(bool isSmall) const);#endif // WXWIN_COMPATIBILITY_2_6 // convert our styles to Windows virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const; // special Windows message handling virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);protected: // common part of all ctors void Init(); // free memory taken by all internal data void FreeAllInternalData(); // get the item attribute, either by quering it for virtual control, or by // returning the one previously set using setter methods for a normal one wxListItemAttr *DoGetItemAttr(long item) const; wxTextCtrl* m_textCtrl; // The control used for editing a label wxImageList * m_imageListNormal; // The image list for normal icons wxImageList * m_imageListSmall; // The image list for small icons wxImageList * m_imageListState; // The image list state icons (not implemented yet) bool m_ownsImageListNormal, m_ownsImageListSmall, m_ownsImageListState; int m_colCount; // Windows doesn't have GetColumnCount so must // keep track of inserted/deleted columns long m_count; // Keep track of item count to save calls to // ListView_GetItemCount bool m_ignoreChangeMessages; // true if we have any internal data (user data & attributes) bool m_AnyInternalData; // true if we have any items with custom attributes bool m_hasAnyAttr; // these functions are only used for virtual list view controls, i.e. the // ones with wxLC_VIRTUAL style // return the text for the given column of the given item virtual wxString OnGetItemText(long item, long column) const; // return the icon for the given item. In report view, OnGetItemImage will // only be called for the first column. See OnGetItemColumnImage for // details. virtual int OnGetItemImage(long item) const; // return the icon for the given item and column. virtual int OnGetItemColumnImage(long item, long column) const; // return the attribute for the item (may return NULL if none) virtual wxListItemAttr *OnGetItemAttr(long item) const;private: // process NM_CUSTOMDRAW notification message WXLPARAM OnCustomDraw(WXLPARAM lParam); DECLARE_DYNAMIC_CLASS(wxListCtrl) DECLARE_EVENT_TABLE() DECLARE_NO_COPY_CLASS(wxListCtrl)};#endif // _WX_LISTCTRL_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -