用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

240 lines
5.2 KiB

/**
* Copyright (C) 2014-2050 SOUI团队
* All rights reserved.
*
* @file SCmnCtrl.h
* @brief 通用控件
* @version v1.0
* @author soui
* @date 2014-06-26
*
* Describe ComboBox控件
*/
#pragma once
#include "SComboBase.h"
#include "Slistbox.h"
#include "SCmnCtrl.h"
namespace SOUI
{
/**
* @class SComboBox
* @brief 可输入CommboBox
*
* Describe 可输入下拉列表
*/
class SOUI_EXP SComboBox : public SComboBase
{
SOUI_CLASS_NAME(SComboBox, L"combobox")
public:
/**
* SComboBox::SComboBox
* @brief 构造函数
*
* Describe 构造函数
*/
SComboBox();
/**
* SComboBox::~SComboBox
* @brief 析构函数
*
* Describe 析构函数
*/
virtual ~SComboBox();
/**
* SComboBox::SetCurSel
* @brief 设置当前选中
* @param int iSel -- 选中索引
*
* Describe 设置当前选中
*/
BOOL SetCurSel(int iSel)
{
if(m_pListBox->SetCurSel(iSel))
{
m_pListBox->EnsureVisible(iSel);
OnSelChanged();
return TRUE;
}
else
{
return FALSE;
}
}
/**
* SComboBox::GetCurSel
* @brief 获取选中索引
* @return 返回int -- 选中索引
*
* Describe 获取选中索引
*/
int GetCurSel() const
{
return m_pListBox->GetCurSel();
}
/**
* SComboBox::GetCount
* @brief 获取下拉项个数
* @return 返回int
*
* Describe 获取下拉项个数
*/
int GetCount() const
{
return m_pListBox->GetCount();
}
/**
* SComboBox::GetItemData
* @brief 获取附加数据
* @param UINT iItem -- 选项值
*
* Describe 获取附加数据
*/
LPARAM GetItemData(UINT iItem) const
{
return m_pListBox->GetItemData(iItem);
}
/**
* SComboBox::SetItemData
* @brief 设置附加数据
* @param UINT iItem -- 索引值
* @param LPARAM lParam -- 附加值
*
* Describe 设置附加数据
*/
int SetItemData(UINT iItem, LPARAM lParam)
{
return m_pListBox->SetItemData(iItem,lParam);
}
/**
* SComboBox::InsertItem
* @brief 插入新项
* @param UINT iPos -- 位置
* @param LPCTSTR pszText -- 文本值
* @param int iIcon -- 图标
* @param LPARAM lParam -- 附加值
*
* Describe 插入新项
*/
int InsertItem(UINT iPos,LPCTSTR pszText,int iIcon,LPARAM lParam)
{
return m_pListBox->InsertString(iPos,pszText,iIcon,lParam);
}
/**
* SComboBox::DeleteString
* @brief 删除某一项
* @param UINT iItem -- 索引值
*
* Describe 删除某一项
*/
BOOL DeleteString(UINT iItem)
{
return m_pListBox->DeleteString(iItem);
}
/**
* SComboBox::ResetContent
* @brief 删除所有项
*
* Describe 设置附加数据
*/
void ResetContent()
{
SetCurSel(-1);
return m_pListBox->DeleteAll();
}
/**
* SComboBox::GetLBText
* @brief 获取文本
* @param int iItem -- 索引值
* @param BOOL bRawText-- true:未经翻译的文字,false:翻译后的文字
*
* Describe 获取文本
*/
SStringT GetLBText(int iItem,BOOL bRawText = FALSE)
{
return m_pListBox->GetText(iItem,bRawText);
}
/**
* SComboBox::GetListBox
* @brief 获取下拉列表指针
* @param 返回SListBox *
*
* Describe 获取下拉列表指针
*/
SListBox * GetListBox(){return m_pListBox;}
protected:
/**
* SComboBox::FireEvent
* @brief 通知消息
* @param EventArgs &evt -- 事件对象
*
* Describe 此函数是消息响应函数
*/
virtual BOOL FireEvent(EventArgs &evt);
virtual void OnScaleChanged(int nScale);
virtual HRESULT OnLanguageChanged();
/**
* SComboBox::CreateListBox
* @brief 创建下拉列表
* @param 返回BOOL TRUE -- 成功 FALSE -- 失败
*
* Describe 创建下拉列表
*/
virtual BOOL CreateListBox(pugi::xml_node xmlNode);
/**
* SComboBox::GetListBoxHeight
* @brief 获取下拉列表高度
* @param 返回int
*
* Describe 获取下拉列表高度
*/
virtual int GetListBoxHeight();
/**
* SComboBox::OnCreateDropDown
* @brief 下拉列表创建事件
* @param SDropDownWnd *pDropDown -- 下拉列表指针
*
* Describe 下拉列表事件
*/
virtual void OnCreateDropDown(SDropDownWnd *pDropDown);
/**
* SComboBox::OnDestroyDropDown
* @brief 下拉列表销毁事件
* @param SDropDownWnd *pDropDown -- 下拉列表指针
*
* Describe 获取下拉列表指针
*/
virtual void OnDestroyDropDown(SDropDownWnd *pDropDown);
/**
* SComboBox::OnSelChanged
* @brief 下拉列表selected事件
*
* Describe 下拉列表selected事件
*/
virtual void OnSelChanged();
protected:
SListBox *m_pListBox; /**< SListBox指针 */
};
}//namespace