本文整理汇总了C++中TGadget::NextGadget方法的典型用法代码示例。如果您正苦于以下问题:C++ TGadget::NextGadget方法的具体用法?C++ TGadget::NextGadget怎么用?C++ TGadget::NextGadget使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TGadget
的用法示例。
在下文中一共展示了TGadget::NextGadget方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
// -----------------------------------------------------------------------------
/// Removes all gadgets from destWindow.
bool
TBarDescr::RemoveGadgets(TGadgetWindow& destWindow)
{
TGadget* gadget = destWindow.FirstGadget();
if(gadget && gadget->GetId() == IDG_FLATHANDLE)
gadget = gadget->NextGadget();
while (gadget) {
TGadget* tmp = gadget;
gadget = gadget->NextGadget();
destWindow.Remove(*tmp);
}
return true;
}
示例2: IdleAction
//
/// During idle time, iterates over the Gadgets invoking their CommandEnable()
/// member function. Also detects lost mouse up for fly-over hint mode.
//
bool
TGadgetWindow::IdleAction(long idleCount)
{
if (idleCount == 0) {
// See if we missed a mouse move & still need to send a MouseLeave to a
// gadget
//
if (AtMouse) {
TPoint crsPoint;
GetCursorPos(crsPoint);
if (WindowFromPoint(crsPoint) != GetHandle())
HandleMessage(WM_MOUSEMOVE, 0, MkParam2(-1,-1)); // nowhere
}
}
// Let the gadgets do command enabling if they need to
//
for (TGadget* g = Gadgets; g; g = g->NextGadget())
g->IdleAction(idleCount);
// Chain to base implementation
//
return TWindow::IdleAction(idleCount);
}
示例3: EnableTooltip
//
// Create Tooltips for GadgetWindow
//
void
TGadgetWindow::EvCreateTooltips()
{
// If 'WantTooltip' is enabled, created the control
//
if (WantTooltip)
EnableTooltip(true);
// Inform each gadget that the gadgetwindow is now created. This allows
// gadgets to perform initialization [eg. registering with the tooltip] which
// requires the 'HWND' to be valid
//
for (TGadget* g = Gadgets; g; g = g->NextGadget())
g->Created();
}
示例4: desiredSize
//
// Compute the cell size which is determined by the widest and the highest
// gadget
//
void
TToolBox::ComputeCellSize(TSize& cellSize)
{
cellSize.cx = cellSize.cy = 0;
for (TGadget* g = Gadgets; g; g = g->NextGadget()) {
TSize desiredSize(0, 0);
g->GetDesiredSize(desiredSize);
if (desiredSize.cx > cellSize.cx)
cellSize.cx = desiredSize.cx;
if (desiredSize.cy > cellSize.cy)
cellSize.cy = desiredSize.cy;
}
}
示例5: bounds
//
/// Tiles the gadgets in the direction requested (horizontal or vertical). Derived
/// classes can adjust the spacing between gadgets.
///
/// Horizontal direction results in a row-major layout,
/// and vertical direction results in column-major layout
//
TRect
TToolBox::TileGadgets()
{
TSize cellSize;
ComputeCellSize(cellSize);
int numRows, numColumns;
ComputeNumRowsColumns(numRows, numColumns);
TRect innerRect;
GetInnerRect(innerRect);
TRect invalidRect;
invalidRect.SetEmpty();
if (Direction == Horizontal) {
// Row Major
//
int y = innerRect.top;
TGadget* g = Gadgets;
for (int r = 0; r < numRows; r++) {
int x = innerRect.left;
for (int c = 0; c < numColumns && g; c++) {
TRect bounds(TPoint(x, y), cellSize);
TRect originalBounds(g->GetBounds());
if (bounds != g->GetBounds()) {
g->SetBounds(bounds);
if (invalidRect.IsNull())
invalidRect = bounds;
else
invalidRect |= bounds;
if (originalBounds.TopLeft() != TPoint(0, 0))
invalidRect |= originalBounds;
}
x += cellSize.cx;
g = g->NextGadget();
}
y += cellSize.cy;
}
}
else {
// Column Major
//
int x = innerRect.left;
TGadget* g = Gadgets;
for (int c = 0; c < numColumns; c++) {
int y = innerRect.top;
for (int r = 0; r < numRows && g; r++) {
TRect bounds(TPoint(x, y), cellSize);
TRect originalBounds(g->GetBounds());
if (bounds != originalBounds) {
g->SetBounds(bounds);
if (invalidRect.IsNull())
invalidRect = bounds;
else
invalidRect |= bounds;
if (originalBounds.TopLeft() != TPoint(0, 0))
invalidRect |= originalBounds;
}
y += cellSize.cy;
g = g->NextGadget();
}
x += cellSize.cx;
}
}
return invalidRect;
}
示例6:
//
/// Responds to WM_SYSCOLORCHANGE to let the gadgets update their UI colors, and to
/// let this gadget window update its background color.
///
/// \note This is an obsolete function retained for compatibility. New TWindow,
/// TColor, and other UI support makes this unecessary.
//
void
TGadgetWindow::EvSysColorChange()
{
for (TGadget* g = Gadgets; g; g = g->NextGadget())
g->SysColorChange();
}