1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #include "RangeValueSlider.h"
- bool TCRangeValueSlider::Update(ULONG nObjects, ITCRangeValue** ppObjects)
- {
-
- bool bEnable = (1 == nObjects);
- if (bEnable)
- {
- __try
- {
-
- ITCRangeValue* pobj = ppObjects[0];
-
- m_nValueDefault = pobj->DefaultValue;
-
- long nMin = pobj->MinValue;
- long nMax = pobj->MaxValue;
- long nSteps = nMax + 1 - nMin;
-
- long nTickMarks = pobj->TickMarks;
- if (nTickMarks)
- {
- long nTickFreq = nSteps / pobj->TickMarks;
- SetTicFreq(nTickFreq);
-
- SetPageSize(nTickFreq);
- }
- else
- {
- ClearTics();
- }
-
- long nGranularity = pobj->Granularity;
- SetLineSize(nGranularity);
-
- SetRange(nMin, nMax, true);
-
- long nValue = pobj->RangeValue;
- SetPos(nValue);
- }
- __except(1)
- {
- bEnable = false;
- }
- }
-
- EnableWindow(bEnable);
-
- return bEnable;
- }
- HRESULT TCRangeValueSlider::Apply(ULONG nObjects, ITCRangeValue** ppObjects)
- {
-
- if (1 != nObjects)
- return E_UNEXPECTED;
-
- ITCRangeValue* pobj = ppObjects[0];
-
- long nValue = GetPos();
- return pobj->put_RangeValue(nValue);
- }
|