- if ( m_windowStyle & wxSL_LABELS )
- {
- int min_len = 0;
-
- ::GetWindowText((HWND) m_staticMin, buf, 300);
- GetTextExtent(buf, &min_len, &cyf);
-
- int max_len = 0;
-
- ::GetWindowText((HWND) m_staticMax, buf, 300);
- GetTextExtent(buf, &max_len, &cyf);
- if (m_staticValue)
- {
- int new_width = (int)(wxMax(min_len, max_len));
- int valueHeight = (int)cyf;
-#ifdef __WIN32__
- // For some reason, under Win95, the text edit control has
- // a lot of space before the first character
- new_width += 3*cx;
-#endif
- // The height needs to be a bit bigger under Win95 if
- // using native 3D effects.
- valueHeight = (int) (valueHeight * 1.5) ;
- ::MoveWindow((HWND) m_staticValue, x_offset, y_offset,
- new_width, valueHeight, TRUE);
- x_offset += new_width + cx;
- }
-
- ::MoveWindow((HWND) m_staticMin, x_offset, y_offset,
- (int) min_len, cy, TRUE);
- x_offset += (int)(min_len + cx);
-
- // slider_length = (total width available) - (width used so far)
- // - (width of max label) - (border)
- int slider_length = (int)(w1 - (x_offset-x) - max_len - cx);
-
- int slider_height = h1;
- if (slider_height < 0 )
- slider_height = 20;
-
- // Slider must have a minimum/default length/height
- if (slider_length < 100)
- slider_length = 100;
-
- ::MoveWindow(GetHwnd(), x_offset, y_offset,
- slider_length, slider_height, TRUE);
- x_offset += slider_length + cx;