int KItemNull::Init(KItemNullData & ItemNullData) { if (ItemNullData.wszName[0] != L'\0') SetName(ATL::CW2A(ItemNullData.wszName, GetCodePage())); m_nLink = ItemNullData.nLink; if (m_nLink) SetLinkInfo(ATL::CW2A(ItemNullData.wszLinkInfo, GetCodePage())); m_dwPosType = static_cast<DWORD>(ItemNullData.nPosType); SetRelPos(ItemNullData.fRelX, ItemNullData.fRelY); SetSize(ItemNullData.fWidth, ItemNullData.fHeight); SetAlpha(ItemNullData.nAlpha); m_nTipIndex = ItemNullData.nTipIndex; if (ItemNullData.nDisableScale) { EnableScale(false); m_fRelX *= ItemNullData.fScale; m_fRelY *= ItemNullData.fScale; } else { m_fRelX *= ItemNullData.fScale; m_fRelY *= ItemNullData.fScale; m_fWidth *= ItemNullData.fScale; m_fHeight *= ItemNullData.fScale; } if (ItemNullData.nLockShowAndHide) { Hide(); LockShowAndHide(true); } m_fUserData = ItemNullData.fUserData; if (ItemNullData.pEventOwner) { ItemNullData.pEventOwner->UpdateDrawList(); if(ItemNullData.dwEventID) { m_dwEvent = ItemNullData.dwEventID; ItemNullData.pEventOwner->UpdateEvent(); } } m_nAreaIndex = ItemNullData.nAreaTestIndex; if (ItemNullData.nIntPos) SetIntPos(true); return true; }
void CNumSpinCtrl::SetRangeAndDelta(double lower, double upper, double delta) { m_MinVal = lower; m_MaxVal = upper; m_Delta = delta; ASSERT (m_MaxVal > m_MinVal); // reversed min/max is not implemented, although it's probably easy //// avoid division by zero if (m_Delta == 0.0) return; /// Figure out the integer range to use, so that acceleration can work properly double range = fabs ((m_MaxVal - m_MinVal) / m_Delta); if (range > (double)ULG_MAXVAL) m_IntRange = ULG_MAXVAL; else m_IntRange = (int) range; CSpinButtonCtrl::SetRange32 (0, m_IntRange); /// Set integer position SetIntPos (GetPos()); }
void CFloatSpinCtrl::SetPos(double val) { SetValueForBuddy(val); SetIntPos(val); }