本文整理汇总了C++中LabelControl::SetRect方法的典型用法代码示例。如果您正苦于以下问题:C++ LabelControl::SetRect方法的具体用法?C++ LabelControl::SetRect怎么用?C++ LabelControl::SetRect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LabelControl
的用法示例。
在下文中一共展示了LabelControl::SetRect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PositionColumns
void DownloadMissionPackForm::PositionColumns() {
// Calc tab stops in the list
// S Title # Players Downloads
// S is + for installed, or ! for upgrade
// Title is the title. Make this as wide as possible
// # Players is as close to Downloads as is reasonable
// # Missions is right aligned
ListControl *plstc = (ListControl *)GetControlPtr(kidcMissionPackList);
Font *pfnt = plstc->GetFont();
LabelControl *plbl = (LabelControl *)GetControlPtr(kidcStatus);
#if 1
plbl->SetText("");
int cxPlus = pfnt->GetTextExtent("+");
#else
int cxPlus = pfnt->GetTextExtent(plbl->GetText());
#endif
plbl = (LabelControl *)GetControlPtr(kidcTitle);
int cxTitle = pfnt->GetTextExtent(plbl->GetText());
plbl = (LabelControl *)GetControlPtr(kidcNumPlayers);
int cxNumPlayers = pfnt->GetTextExtent(plbl->GetText());
int cxAsterisk = pfnt->GetTextExtent("*");
plbl = (LabelControl *)GetControlPtr(kidcNumMissions);
int cxNumMissions = pfnt->GetTextExtent(plbl->GetText());
Rect rcList;
plstc->GetRect(&rcList);
int xStatus = 2;
int xTitle = (rcList.Width() / 4 - cxTitle) / 2;
int xNumMissions = rcList.Width() - cxAsterisk - cxNumMissions;
int xNumPlayers = xNumMissions - 10 - cxNumPlayers;
// Calc the top of the list (past the arrow) for better column
// label hittesting
Size sizArrow;
ListControl::s_ptbmScrollUpUp->GetSize(&sizArrow);
int yListTop = rcList.top + sizArrow.cy;
// Set the label positions
// Enable the labels for hittesting
Rect rc;
plbl = (LabelControl *)GetControlPtr(kidcStatus);
plbl->GetRect(&rc);
rc.left = rcList.left + xStatus;
rc.right = xTitle;
rc.bottom += (yListTop - rc.bottom) / 2;
plbl->SetRect(&rc);
plbl->SetFlags(plbl->GetFlags() | kfLblHitTest);
rcStatus_ = rc;
plbl = (LabelControl *)GetControlPtr(kidcTitle);
plbl->GetRect(&rc);
rc.Offset(rcList.left + xTitle - rc.left, 0);
rc.right += rc.Width();
rc.bottom += (yListTop - rc.bottom) / 2;
plbl->SetRect(&rc);
plbl->SetFlags(plbl->GetFlags() | kfLblHitTest);
rcTitle_ = rc;
plbl = (LabelControl *)GetControlPtr(kidcNumPlayers);
plbl->GetRect(&rc);
rc.Offset(rcList.left + xNumPlayers - rc.left, 0);
rc.bottom += (yListTop - rc.bottom) / 2;
plbl->SetRect(&rc);
plbl->SetFlags(plbl->GetFlags() | kfLblHitTest);
rcNumPlayers_ = rc;
plbl = (LabelControl *)GetControlPtr(kidcNumMissions);
plbl->GetRect(&rc);
rc.Offset(rcList.left + xNumMissions - rc.left, 0);
rc.bottom += (yListTop - rc.bottom) / 2;
plbl->SetRect(&rc);
plbl->SetFlags(plbl->GetFlags() | kfLblHitTest);
rcNumMissions_ = rc;
// Remember the tab settings for later use
x0_ = 0;
x1_ = cxPlus + 4;
x2_ = xNumPlayers + cxNumPlayers / 2;
x3_ = xNumMissions + cxNumMissions / 2;
}