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

Шаг 52 - Что такое CSpinButtonCtrl

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

В диалоговое окно из прошлого проекта необходимо добавить элемент CSpinButtonCtrl и CEdit, как на рисунке ниже.

step52_1.gif (2113 b)

Но помимо этого необходимо корректно установить свойства. У CEdit и CSpinButtonCtrl. Это важно, так как при работе результат изменения значений выводится в окно, так как и результат ввода в окно отражается на элементе. Вобщем необходимо установить правильные свойства для корректной совместной работы двух елементов.

step52_2.gif (3916 b)

step52_3.gif (2774 b)

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

Заголовок для классов элементов управления
#include "afxcmn.h"
Классы элементов в диалоговом окне
class CTestDlg : public CDialog
{
  ...........
	 protected:
  ...........
		 CSpinButtonCtrl cSpin;
		 CEdit cEdit;
  ...........
};
Обмена данными
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_SPIN1, cSpin);
	DDX_Control(pDX, IDC_EDIT1, cEdit);
}
Изменения в функции OnInitDialog
BOOL CTestDlg::OnInitDialog()
{
	............
	cSpin.SetBuddy(&cEdit);
	cSpin.SetRange(0,100);
	cSpin.SetPos(50);
	return TRUE;
}
Реакция нажатия на кнопку
void CTestDlg::OnSend()
{
  CString s;
  cEdit.GetWindowText(s);
  AfxMessageBox(s);
} 

Описание

При использовании данных элементов еще раз хочу обратить ваше внимание на установку свойств. Это важно. Некорректная установка приведет к тому, что совместно эти элементы работать не будут. Вы не замечали какое количество тонкостей должен знать программист. Лично меня это всегда впечатляет.

Итак. Включаем файл с описанием классов, там есть описание и нашего класса. Обьявляет два класса в классе диалогового окна. Эти классы отвечают за элементы управления. Связываем их с использованием DDX для обмена данными между классом и элементом управления.

И теперь в функции инициализации диалогового окна начинаем настройку. SetBuddy устанавливает связь между элементами управления. То есть при изменении данных в одном, изменятся данные и в другом. В параметрах передается указатель на окно, в которое выводятся результаты.

Следующие две функции устанавливают диапазон значений и начальное положение.

В функции OnSend мы выводим число находящееся в окне редактирования. В реальной программе доступ к нему может быть нужен в любой момент, это и демонстрируется.


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

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

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

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