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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2011, 12:43   #1
xander_var
Новичок
Джуниор
 
Регистрация: 09.04.2011
Сообщений: 1
Вопрос как считать нажатия на кнопку мыши по OnMouseDown

Доброго времени суток.
вот код:
if(Button==mbLeft)//чтоб на левую Button работало
{
float X1,Y1;
float j;
float x,y;
f = !f;//булева функция, объявленная глобально
x=22.87067778;
y=51.219;
int i;
switch(Image1->Height)//в зависимости от масштаба подгоняю пиксели
{ //под географические координаты(это карта)
case 4222:{j=1;break;}
case 3838:{j=1.1;break;}
case 3489:{j=1.1*1.1;break;}
case 3172:{j=1.1*1.1*1.1;break;}
case 2883:{j=1.1*1.1*1.1*1.1;break;}
case 2621:{j=1.1*1.1*1.1*1.1*1.1;break;}
case 2383:{j=1.1*1.1*1.1*1.1*1.1*1.1;bre ak;}
case 2166:{j=1.1*1.1*1.1*1.1*1.1*1.1*1.1 ;break;}
case 1969:{j=1.1*1.1*1.1*1.1*1.1*1.1*1.1 *1.1;break;}
case 1790:{j=1.1*1.1*1.1*1.1*1.1*1.1*1.1 *1.1*1.1;break;}
case 1627:{j=1.1*1.1*1.1*1.1*1.1*1.1*1.1 *1.1*1.1*1.1;break;}
case 1479:{j=1.1*1.1*1.1*1.1*1.1*1.1*1.1 *1.1*1.1*1.1*1.1;break;}
case 1345:{j=1.1*1.1*1.1*1.1*1.1*1.1*1.1 *1.1*1.1*1.1*1.1*1.1;break;}
case 1222:{j=1.1*1.1*1.1*1.1*1.1*1.1*1.1 *1.1*1.1*1.1*1.1*1.1*1.1;break;}
}
Edit6->Text=FloatToStr(j);//это просто для промежуточного контроля
Edit3->Clear();
Edit4->Clear();
Edit3->Text=IntToStr(X);
Edit4->Text=IntToStr(Y);
X1=float(X*j)/494;
Y1=((Image1->Height-float(Y))*j)/833;
X1=X1+x;
Y1=Y1+y;
Edit2->Text=FloatToStr(X1);
Edit1->Text=FloatToStr(Y1);
if (f==false) { //рисую линию
Image1->Canvas->MoveTo(X,Y);}
else
{
Image1->Canvas->Pen->Color = clRed;
Image1->Canvas->Pen->Width = 3
Image1->Canvas->LineTo(X,Y);
}
}

else ShowMessage("не та кнопка\nпопробуй еще раз");

1)может можно реализовать рисование линии проще?
2)pow(x,y) не работает, чем заменить, чтоб не тянуть такую бороду...
3)как при третьем нажатии выдать сообщение, что надо удалить старую линию?
xander_var вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как послать команду нажатия кнопки мыши Olejik Общие вопросы C/C++ 8 11.02.2012 21:02
TDirectoryListBox. Как раскрыть подпапки корневой папки без двойного нажатия мыши на выделеную строку. Denutrror Общие вопросы Delphi 13 03.04.2011 10:42
GTK+ нажмите кнопку мыши автоматически.Как XiechenG Общие вопросы C/C++ 2 09.06.2010 19:39
Как Как проверить кнопки мыши без OnMouseDown? Вадим Буренков Общие вопросы Delphi 3 22.05.2009 15:08
Время нажатия на кнопку мыши(Время реакции) Кирилл13 Помощь студентам 1 11.04.2009 19:41