www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 50 - Что такое CSliderCtrl

Создание проекта

Работаем со старым. Только на диалоговую панель необходимо поместить элемент управления - бегунок. Как внизу.

step50.gif (4920 b)

Создание кода

Включение описание класса
#include "afxcmn.h"
Описание класса в классе окна диалога, и организации обмена данными
class CTestDlg : public CDialog
{
 public:
	 ........
     virtual void DoDataExchange(CDataExchange* pDX);
	 .......
  protected:
	.......
	CSliderCtrl  csSlider;
	.............
};
Реализация обмена данными элемента управления с классом
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_SLIDER1, csSlider);
}
Реакция нажатия на кнопку
void CTestDlg::OnSend()
{
  int i=csSlider.GetPos();
  char csPos[10];
  itoa(i,csPos,10);
  AfxMessageBox(csPos);
} 
Инициализация диалогового окна
BOOL CTestDlg::OnInitDialog()
{
	..........
	csSlider.SetRangeMin(0,TRUE);
        csSlider.SetRangeMax(10,TRUE);
	...........
}

Описание

Класс CSliderCtrl - это класс бегунка. Он включает в себя все функции по управлению этим элементом. Самые приминительные мы и рассмотрим.

Так как этот элемент управления используется не во всех проектах, его описание вынесенно за пределы afxwin.h и находится в afxcmn.h. Вот мы и подключаем описание заголовочного файла.

Далее в классе диалогового окна мы включаем класс. Этот класс имеет конструктор по умолчанию, поэтому создается вместе с диалоговым окном. В последствии с использованием механизма DDX мы связываем класс с элементом управления.

При нажатии на кнопку мы запрограммировали вывод показаний элемента управления. Происходит это следующим образом. В переменную i мы помещаем значение используя функцию csSlider.GetPos(). Обьявляем массив символов. Функция itoa переводит число в строку на основе установленной системы счисления. Нам нужна десятичная. Можете другую если есть настроение. И используя AfxMessageBox доводим до Вашего сведения.

В функции диалогвого окна мы с Вами устанавливаем минимальное и максимальное значения элемента. TRUE отвечает за перерисовку элемента управления. Пользоваться функциями csSlider.SetRangeMin и csSlider.SetRangeMax можно в любой момент. Вот для этого и существует последний параметр. Если елемент не виден, то вероятно и перерисовывать его нет смысла.

Запускайте. Продвинте бегунок на две-три позиции и нажмите кнопку. Появится диалоговое окно с выбраным значением.


Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz