SliderCtrl chameleon, Prompt fix

git-svn-id: svn://ultimatepp.org/upp/trunk@726 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2009-01-04 14:07:35 +00:00
parent 320d1f7102
commit eadcda5e12
4 changed files with 11 additions and 3 deletions

View file

@ -466,6 +466,11 @@ void ChHostSkin()
Win32Look(s.arealook, XP_REBAR, 0, 1);
}
CtrlImg::Set("hthumb", XpImage(XP_TRACKBAR, TKP_THUMB, TUS_NORMAL, Null, Size(10, 20)));
CtrlImg::Set("hthumb1", XpImage(XP_TRACKBAR, TKP_THUMB, TUS_PRESSED, Null, Size(10, 20)));
CtrlImg::Set("vthumb", XpImage(XP_TRACKBAR, TKP_THUMBVERT, TUS_NORMAL, Null, Size(20, 10)));
CtrlImg::Set("vthumb1", XpImage(XP_TRACKBAR, TKP_THUMBVERT, TUS_PRESSED, Null, Size(20, 10)));
XpElement e;
for(int i = 0; i < 4; i++) {
{

View file

@ -110,7 +110,7 @@ int Prompt(Callback1<const String&> WhenLink,
Vector<Ctrl *> wins = Ctrl::GetTopWindows();
for(int i = 0; i < wins.GetCount(); i++) {
TopWindow *w = dynamic_cast<TopWindow *>(wins[i]);
if(w->GetScreenRect().Intersects(dlg.GetScreenRect()) && w->IsTopMost()) {
if(w && w->GetScreenRect().Intersects(dlg.GetScreenRect()) && w->IsTopMost()) {
dlg.TopMost();
break;
}

View file

@ -160,9 +160,11 @@ int SliderCtrl::ClientToSlider(int p) const
{
if(max <= min)
return min;
Size hsz = CtrlImg::hthumb().GetSize();
Size vsz = CtrlImg::vthumb().GetSize();
p -= HoVe(hsz.cx / 2, vsz.cy / 2);
return minmax(min + iscale(p, max - min,
HoVe(GetSize().cx - CtrlImg::hthumb().GetSize().cx,
GetSize().cy - CtrlImg::vthumb().GetSize().cy)), min, max);
HoVe(GetSize().cx - hsz.cx, GetSize().cy - vsz.cy)), min, max);
}
void SliderCtrl::Dec()

View file

@ -26,3 +26,4 @@ WIDGET(TAB)
WIDGET(TOOLBAR)
WIDGET(MENU)
WIDGET(REBAR)
WIDGET(TRACKBAR)