нужен совет

  • Автор темы burime
  • Дата начала
B

burime

Гость
#1
плиз нид хелп

вобщем нужно чтото типо

При нажатии на квадрат нарисованный в Image1 начинается выполнятся цикл в if

Код:
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (нажали в квадрате)
{
...
бла бла бла
...
}
}

просто я вот сижу туплю а как сделать так чтоб указать что нажато именно в квадрате, мб я непонятно выразился :)
 

vital

Больной Компом Детектед
29.01.2006
2 432
40
codeby.net
#2
У вашего квадрата есть коардинаты. => в событии онклик тимейджа проверяйте где был совершен клик..
 
B

burime

Гость
#3
а то я незнаю что у него есть координаты, я ж его как то нарисовал, а как проверить где был совершен клик, какой функцией? я сперва думал попробовать както выщитать пикселя, потом думал попробывать с помощью Image1->Canvas->Polyline(TPoint P[4]), но поитогу я только запутался.....
Нужно что то конкретное вставлять в if(...........) и я хз



Ну к примеру в графическом редакторе вы создаете функцию рамки перетаскивания, обводим квадратной рамкой нужный кусок изображения, щелкаем еще раз мышкой по рамке зажимаем и перетаскиваем, ну так как указать что нажали именно в рамке а не за пределами???? И ли я тупо туплю чето путаю, и тут ваще все просто и нужно ток правильно алгоритм придумать?!,....!!
 
I

ingra

Гость
#4
возникла необходимость распечатать изображение на всю страницу, для чего потребывалось узнать края печатной области принтера.

GetDeviceCaps с параметрами PHYSICALWIDTH, PHYSICALOFFSETX и т.д. - хорошо, но значения эти в девайсовых юнитах, а как перевести их в пиксели я не знаю =)
Просьба помочь с этим, ну или м.б. есть какой-то способ=)
ЗЫ http://www.cyberguru.ru/cpp-sources/...-petchati.html читал, но статья эта оказалась немного корявым переводом статьи 96-го года из МС СДК с перешедшими оттуда непонятно какого типа и откуда взятых переменными и т.д.