Орган управления Up-Down создается функцией CreateWindowEx на базе предопределенного класса окна UPDOWN_CLASS . При этом следует сохранить полученный от функции CreateWindowEx идентификатор для посылки окну органа Up-Down управляющих сообщений.
Вы можете также переместить изображение пиктограммы органа Up-Down из палитры редактора диалогов в проектируемую диалоговую панель. Если вы работаете с системой Microsoft Visual C++ версии 2.0 , не забудьте внести изменения в регистрационную базу данных, описанные в этой главе.
Для определения идентификатора окна органа управления Up-Down, расположенного в диалоговой панели, вы можете воспользоваться функцией GetDlgItem .
Есть еще один способ, который удобен при объединении органа Up-Down с каким-либо другим органом управления. Этот способ основан на использовании функции CreateUpDownControl :
HWND CreateUpDownControl( DWORD dwStyle, // стиль окна органа Up-Down int x, // расположение окна int y, int cx, // размеры окна int cy, HWND hParent, // иднтификатор родительского окна int nID, // идентификатор органа Up-Down HINSTANCE hInst, // идентифкатор приложения HWND hBuddy, // идентификатор сцепленного органа int nUpper, // верхняя граница значений int nLower, // нижняя граница значений int nPos); // начальное значение
Функция CreateUpDownControl выполняет несколько действий.
Прежде всего, она создает орган управления Up-Down с помощью функции CreateWindowEx на базе предопределенного класса окна UPDOWN_CLASS . Затем она устанавливает диапазон возможных значений и начальное значение, посылая окну органа управляющие сообщения. Затем функция CreateUpDownControl подключает орган Up-Down к органу управления с идентификатором hBuddy.
Остановимся подробнее на объединении органов управления .
Окно органа управления, с которым сцепляется орган Up-Down, называется сцепленным окном (buddy window ). Так как при сцеплении органы действуют как единое целое и находятся внутри одной рамки (рис.7.7), пользователю кажется, что он работает с одним органом управления.