#pragma once

// DisasmCtrl.h : header file
//
#include <mutex>

// массив номеров колонок списка
enum : int
{
	MARK_COLUMN = 0,
	ADDR_COLUMN,
	INSTR_COLUMN,
	COM_COLUMN,
	LIST_COL_NUMS
};


/////////////////////////////////////////////////////////////////////////////
// CDisasmCtrl window

class CDisasmCtrl : public CListCtrl
{
		int                 m_nSelection;
		std::mutex          m_lock;
		CRect               m_rcSubs[LIST_COL_NUMS];
// Construction
	public:
		CDisasmCtrl();
		virtual ~CDisasmCtrl() override;

// Operations
	public:
		void                OutContent();
		void                Init();
		// Generated message map functions
	protected:
		afx_msg void OnSize(UINT nType, int cx, int cy);
		afx_msg void OnItemchanged(NMHDR *pNMHDR, LRESULT *pResult);
		afx_msg void OnKeydown(NMHDR *pNMHDR, LRESULT *pResult);
		afx_msg void OnCustomDraw(NMHDR *pNMHDR, LRESULT *pResult);
		afx_msg void OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult);
		afx_msg void OnSetFocus(CWnd *pOldWnd);
		afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
		DECLARE_MESSAGE_MAP()
};

