formitemcombo.h

来自「基于WINDOWS mobile 的用于创建一个窗体和自定义试图的工程」· C头文件 代码 · 共 79 行

H
79
字号
// FormItemCombo.h: interface for the CFormItemCombo class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FORMITEMCOMBO_H__316FFC24_7216_4649_A4FB_97C3A8F5409E__INCLUDED_)
#define AFX_FORMITEMCOMBO_H__316FFC24_7216_4649_A4FB_97C3A8F5409E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#include <deque>
#include "FormItem.h"


class CFormItemCombo : public CFormItem  
{
	struct SComboData
	{
		CString	m_strData;
		DWORD	m_dwData;

		SComboData(LPCTSTR pszData, DWORD dwData=0) : m_strData(pszData), m_dwData(dwData) {};
	};

	typedef std::deque<SComboData>	CDataDeque;

public:
	CFormItemCombo();
	virtual ~CFormItemCombo();

	/// Clears the string list
	void ClearList() {m_data.clear();}

	/// Adds a string to the list
	int AddString(LPCTSTR pszString, DWORD dwData = 0) 
	{
		int		iItem;

		m_data.push_back(SComboData(pszString, dwData));
		iItem = (int)m_data.size() - 1;
//		if(m_bSelData && dwData == m_dwSelData)
//			m_iVal = iItem;
		return iItem;
	}

	void SetItemData(int iItem, DWORD dwData) {m_data[iItem].m_dwData = dwData;}

	DWORD GetItemData(int iItem) {return m_data[iItem].m_dwData;}

	int		GetSel() {return m_iVal;}
	void	SetSel(int iIndex) {m_iVal = iIndex;}

	void	SetSelData(DWORD dwData);
	DWORD	GetSelData() {return m_iVal == -1 ? 0 : m_data[m_iVal].m_dwData;}

	/// Render the data as a string.
	virtual LPCTSTR RenderData(LV_DISPINFO *pDispInfo);

	/// Checks if the data is valid.
	virtual BOOL ValidateData();

	/// Shows or hides the editor window.
	virtual BOOL ShowEditor(CFormListCtrl* pForm, BOOL bShow, int iItem, int iSubItem);

	/// Moves the editor window to a new position.
	virtual void MoveEditor(const RECT &rcItem);

	virtual BOOL OnCtrlNotify(CFormListCtrl* pForm, int iItem, WORD wNotify);

protected:
	CComboBox		m_wndCombo;
	int				m_iVal;
	CDataDeque		m_data;
};

#endif // !defined(AFX_FORMITEMCOMBO_H__316FFC24_7216_4649_A4FB_97C3A8F5409E__INCLUDED_)

⌨️ 快捷键说明

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