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

Шаг 17 - Вывод данных в панель состояния

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

Дополняем Step1. В файле ресурсов необходимо создать две строки в ресурсах. Для этого перейти на вкладку Resource и Меню Insert, далее New Resource из списка выберите строковый ресурс, и добавьте 2 строки.

Создаем код

Массив с указаниями индикаторов
static UINT indicators[] =
{
	IDS_STRING2,
	IDS_STRING1
};
Изменяем функцию

OnCreate

int CMainWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
  ....................
  m_wndStatusBar.Create(this); 
  m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/
         sizeof(UINT));
  ...........
}
В таблицу откликов реакцию на движение мыши
BEGIN_MESSAGE_MAP(CMainWnd, CFrameWnd)	
        ..................
	ON_WM_MOUSEMOVE()
        ................
END_MESSAGE_MAP()
И описание соотвествующей функии в классе рамки окна
class CMainWnd : public CFrameWnd
{
public:
    .................  	
    afx_msg void OnMouseMove( UINT, CPoint cp);
    ..................
};
Реализация нужна , таковы правила.
void CMainWnd::OnMouseMove( UINT, CPoint cp)
{
 char chX[10];
 char chY[10];
 itoa(cp.x,chX,10);
 itoa(cp.y,chY,10);
 CString  csStatusXY(chX);
 csStatusXY=csStatusXY+":"+chY;
 m_wndStatusBar.SetPaneText(IDS_STRING1,csStatusXY);
}

Описание

Для отображения в панели состояния необходимо создать массив идентификаторов. Это необходимо для старта панели и служит как шаблон. При запуске будет выведенно именно то, что есть в строках.

Функция SetIndicators, и устанавливает его, SetMenu тоже кстати и эти Set на каждом шагу. В параметры, массив идентификаторов и его размер.

В принципе если на этом остановиться то надписи выведутся. Но нам интересно, если будет показываться положение кусора. Ну мне интересно по крайней мере.

А для этого необходимо отслеживать движение мыши. ON_WM_MOUSEMOVE() это делает, и функцию нужную вызывает OnMouseMove. Этой функции передается положение мыши в виде CPoint.

Дальше мы обрабатываем. itoa перевод числа в строку , собирается обьект CString и SetPaneText с параметрами куда, и что выводится в строку состояния.

Запускайте, водите мышкой, наслаждайтесь.


Шпаргалка

Создать массив идентификаторов
static UINT indicators[] =
{
	IDS_STRING2,
        ...........
}
Связать массив с классом строки состояния.
 m_wndStatusBar.SetIndicators(indicators,
       sizeof(indicators)/sizeof(UINT));
Вывод в строку состояния
m_wndStatusBar.SetPaneText(IDS_STRING1,csStatusXY);


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

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

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

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