本文整理汇总了C++中Control::Height方法的典型用法代码示例。如果您正苦于以下问题:C++ Control::Height方法的具体用法?C++ Control::Height怎么用?C++ Control::Height使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Control
的用法示例。
在下文中一共展示了Control::Height方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Refresh
void Menu::Refresh(Control *refresh)
{
int width = m_destination->Width();
int maximum = m_destination->Height();
m_destination->Begin();
if (refresh == NULL)
m_destination->FillRect(0, 0, width, maximum, false);
Control *item = m_topView;
for (int current = 0; (item != NULL) && (current < maximum); item = item->m_next)
{
if (!item->Visible())
continue;
int height = item->Height();
if ((current + height) >= maximum)
break;
if (refresh == item)
{
m_destination->FillRect(0, current, width, current + height, false);
item->Paint(m_destination, 0, current, width, item == m_focus);
break; // Only need to draw one
}
if (refresh == NULL) // I hate code duplication
item->Paint(m_destination, 0, current, width, item == m_focus);
current += height;
}
m_destination->End();
}
示例2:
Control*
Window::_GetControl(IE::point point)
{
std::vector<Control*>::const_iterator i;
for (i = fControls.begin(); i != fControls.end(); i++) {
Control* control = (*i);
const IE::point pt = control->Position();
if (point.x >= pt.x && point.x <= pt.x + control->Width()
&& point.y >= pt.y && point.y <= pt.y + control->Height()) {
return (*i);
}
}
return NULL;
}
示例3: IsOnScreen
bool Menu::IsOnScreen(Control *item)
{
int current, maximum;
Control *display;
maximum = m_destination->Height();
current = 0;
for (display = m_topView; display != NULL; display = display->m_next)
{
if (!display->Visible())
continue;
current += display->Height();
if (current >= maximum) // Off the bottom of the screen (even partially)
break;
if (item == display)
return true;
}
return false;
}