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

📄 memoryeditorlist.h

📁 mod_RSsim
💻 H
字号:
#if !defined(AFX_MEMORYEDITORLIST_H__4B373BFC_B08A_4D3C_8400_6F3BFED68E95__INCLUDED_)
#define AFX_MEMORYEDITORLIST_H__4B373BFC_B08A_4D3C_8400_6F3BFED68E95__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
//
// FILE: MemoryEditorList.h : headder file
//
//
// See _README.CPP
//
/////////////////////////////////////////////////////////////////////////////

// List-Control columns are laid out as :
// Address | item0..9               (registers)
// Address | bit 0..15 | total      (digitals)
//
#define NUMBER_LISTCOLS    18    // max # columns including the left-index
#define WIDTH_LISTCOL1     80    // index col width
#define WIDTH_LISTCOLS     53    // other cols width
#define WIDTH_LISTCOLBIT   33    // if col is a bit, make it narrower
#define WIDTH_LISTCOLTOTAL 65    // bit "total" col width

//DWORD SwopWords(DWORD * x);
//DWORD GetPLCMemoryLimit(DWORD area);


/////////////////////////////////////////////////////////////////////////////
// CMemoryEditorList window

class CMemoryEditorList : public CListCtrl
{
// Construction
public:
	CMemoryEditorList();

   LRESULT GetListViewDISPINFO(LPARAM lParam);

   enum ListViewFormats_ { 
      VIEWFORMAT_DECIMAL =1,
      VIEWFORMAT_HEX,
      VIEWFORMAT_WORD,
      VIEWFORMAT_DWORD,
      VIEWFORMAT_LONG,
      VIEWFORMAT_FLOAT
   };

   void SetupColumns(LONG width, BOOL cloneAddressing);
   int GetColumnCount() {return(GetHeaderCtrl()->GetItemCount());};
   int GetDataColumnCount(); 

// Attributes
   LONG GetAreaDisplayed() {return (m_memAreaDisplayed);};
   WORD GetDisplayedWidth() {return (m_displayableWidth);};
   void SetViewFormat(ListViewFormats_ fmt) {m_viewFormat = fmt;};
   ListViewFormats_ GetViewFormat();
   LPCTSTR GetViewFormatString();
   LPCTSTR GetFormatName();

   void SetAddressFormatHex(BOOL formatHEX = TRUE) {m_addressFormatHEX = formatHEX;};
   BOOL IsAddressFormatHex() {return m_addressFormatHEX;};
   LPCTSTR GetAddressFormat() { return (m_addressFormatHEX?"%04X":"%ld");};

// custom draw
   afx_msg void OnCustomdrawMyList ( NMHDR* pNMHDR, LRESULT* pResult );

// Operations
   LONG SetAreaDisplayed(LONG PLCArea);
   WORD SetDisplayedWidth(WORD width) {m_displayableWidth=width;return (m_displayableWidth);};
   ListViewFormats_ SetDataViewFormat(ListViewFormats_ fmt, BOOL invalidate = TRUE) {m_viewFormat=fmt;\
      if ((invalidate)&&(m_hWnd)) InvalidateRect(NULL); return (m_viewFormat);};

   LONG  m_selectedListPos[255/*MAX_MOD_MEMTYPES*/];
   COLORREF m_backSysColor;
   COLORREF m_backSysColorFade;

public:
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMemoryEditorList)
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CMemoryEditorList();

	// Generated message map functions
protected:
	//{{AFX_MSG(CMemoryEditorList)
	afx_msg void OnDblclk(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnGetdispinfo(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG

private:
   LONG m_memAreaDisplayed;      // index for current simulated type
   WORD  m_displayableWidth;     // # columns with data in them+ the index column
   ListViewFormats_ m_viewFormat;// data display format
   BOOL  m_addressFormatHEX;     // PLC addresses in Hex/Decimal?
   BOOL  m_cloneAddressing;

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MEMORYEDITORLIST_H__4B373BFC_B08A_4D3C_8400_6F3BFED68E95__INCLUDED_)

⌨️ 快捷键说明

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