Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2014, 19:49   #1
C++++
Пользователь
 
Регистрация: 08.01.2014
Сообщений: 22
По умолчанию компонент StaticText

На форме разместить компонент StaticText. При движении мыши по форме с зажатой клавишей Alt отображать в этом компоненте координаты курсора, иначе писать «нет данных». Вот код C++
Код:
void __fastcall TForm1::StaticText1OnMouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
  	  if(OnMouseEnter->TForm1 && Shift.Contains(ssAlt))
				 StaticText1->Caption="Координаты курсора x:"+(X)" y:"+(Y);
		  else
			 StaticText->Caption = "Нет данных"  +
				  ((TComponent*)Sender)->Name;
}
Здесь же нужен обработчик событий мыши OnMouseMove? В коде какая-то ошибка! Не пойму какая!

Последний раз редактировалось Stilet; 13.06.2014 в 20:04.
C++++ вне форума Ответить с цитированием
Старый 13.06.2014, 20:04   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Для начала нужно обработать событие OnMouseMove не StaticText'а, а самой формы. Это первое.
Второе. В Вашем коде, в плане синтаксиса, ошибка на ошибке.
Цитата:
В коде какая-то ошибка! Не пойму какая!
Компилятор ничего не пишет?..
Потерянные "+" при конкатенации, потерянная "1" у имени компонента в блоке else и т.д.. Ничего удивительного в том, что программа не компилируется.
Вот рабочий пример:
Код:
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
	int X, int Y)
{
	if (Shift.Contains(ssAlt)) {
		StaticText1->Caption = "Координаты курсора x:" + IntToStr(X) + " y:" +
			IntToStr(Y);
	}
	else {
		StaticText1->Caption = "Нет данных" + ((TComponent*)Sender)->Name;
	}
}
Streletz вне форума Ответить с цитированием
Старый 13.06.2014, 20:06   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
В коде какая-то ошибка! Не пойму какая!
Ошибка не в коде а в подходе. Обработчик что ты привел будет работать только когда мышь бегает над StaticText1 а не по форме. Тебе нужно описать это событие не для этого компонента а для формы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StaticText Djonik Компоненты Delphi 2 06.03.2014 13:08
Автоперерисовка statictext Алексей_2012 Общие вопросы Delphi 5 26.04.2013 22:14
прозрачность StaticText DeDoK Общие вопросы Delphi 1 18.05.2010 09:03
Как сделать Label/StaticText в MFC? Ceprey Visual C++ 5 11.03.2008 23:28
Вертикальный StaticText Abbatik Помощь студентам 1 21.02.2008 00:00