本文整理汇总了C++中cInterfaceEventManager::AddEvent方法的典型用法代码示例。如果您正苦于以下问题:C++ cInterfaceEventManager::AddEvent方法的具体用法?C++ cInterfaceEventManager::AddEvent怎么用?C++ cInterfaceEventManager::AddEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cInterfaceEventManager
的用法示例。
在下文中一共展示了cInterfaceEventManager::AddEvent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetSelected
void cListBox::SetSelected(int ID, bool ev, bool deselect_others)
{
cListItem* current = m_Items;
m_LastSelected = 0;
m_HeaderClicked = "";
if (!current) return;
// special case if ID "-2" is sent, select first actual list item (not based on ID)
if (ID == -2)
{
current->m_Selected = true;
m_LastSelected = current;
m_Position = 0;
m_ScrollBar->SetTopValue(m_Position);
if (ev) g_InterfaceEvents.AddEvent(EVENT_SELECTIONCHANGE, m_ID);
return;
}
int count = 0; int posit = 0;
while (current)
{
if (current->m_ID == ID)
{
if (ev) g_InterfaceEvents.AddEvent(EVENT_SELECTIONCHANGE, m_ID);
current->m_Selected = true;
m_LastSelected = current;
posit = count;
if (!deselect_others) break;
}
else
{
if (deselect_others) current->m_Selected = false;
}
count++;
current = current->m_Next;
}
if (count <= m_NumDrawnElements)
{
m_Position = 0;
}
else
{
if (m_Position >= posit)
m_Position = posit - 1;
else if (m_Position + m_NumDrawnElements - 1 <= posit)
m_Position = posit - m_NumDrawnElements + 2;
}
if (m_Position > count - m_NumDrawnElements) m_Position = count - m_NumDrawnElements;
if (m_Position < 0) m_Position = 0;
m_ScrollBar->SetTopValue(m_Position);
}
示例2: ButtonClicked
bool cButton::ButtonClicked(int x, int y)
{
if (m_Disabled || m_Hidden) return false;
if (IsOver(x, y))
{
g_InterfaceEvents.AddEvent(EVENT_BUTTONCLICKED, m_ID);
return true;
}
return false;
}
示例3: OnClicked
void cListBox::OnClicked(int x, int y, bool mouseWheelDown, bool mouseWheelUp)
{
cListItem* current = 0;
if (m_NumElements == 0) // it doesn't matter if there are no items in the list
return;
// if user clicked on "un-sort" header, do that
if (m_ShowHeaders && m_HeaderClicksSort
&& x > m_XPos + m_eWidth - 16
&& x <= m_XPos + m_eWidth
&& y > m_YPos + m_BorderSize
&& y <= m_YPos + m_BorderSize + LISTBOX_ITEMHEIGHT
)
{
UnSortList();
return;
}
if (IsOver(x, y))
{
if (mouseWheelDown)
{
ScrollDown();
return;
}
if (mouseWheelUp)
{
ScrollUp();
return;
}
if (m_EnableEvents)
g_InterfaceEvents.AddEvent(EVENT_SELECTIONCHANGE, m_ID);
// See if a header was clicked
m_HeaderClicked = "";
if (m_ShowHeaders && y > m_YPos + m_BorderSize && y <= m_YPos + m_BorderSize + LISTBOX_ITEMHEIGHT)
{
int x_start = 0, x_end = 0;
for (int i = 0; i < m_ColumnCount; i++)
{
if (m_SkipColumn[i]) continue;
x_start = m_ColumnOffset[i] - 3;
if (i < m_ColumnCount - 1)
x_end = m_ColumnOffset[i + 1] - 3;
else
x_end = m_eWidth;
if (x >= m_XPos + x_start && x <= m_XPos + x_end)
{
// then set it as clicked
m_HeaderClicked = m_ColumnName[i];
// should we re-sort list based on header?
if (m_HeaderClicksSort)
{
if (m_SortedColumn == m_ColumnName[i])
m_SortedDescending = !m_SortedDescending;
else
{
m_SortedColumn = m_ColumnName[i];
m_SortedDescending = false;
}
ReSortList();
}
return;
}
}
}
bool deselect = false;
if (m_MultiSelect == true)
{
if (g_ShiftDown == false && g_CTRLDown == false)
{
m_HasMultiSelect = false;
deselect = true;
}
else m_HasMultiSelect = true;
}
else deselect = true;
// first unselect any currently selected items
if (deselect)
{
m_LastSelected = 0;
current = m_Items;
while (current)
{
current->m_Selected = false;
current = current->m_Next;
}
}
bool singleSelect = true;
if (m_MultiSelect == true)
{
//.........这里部分代码省略.........