Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.10.2007, 17:21
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
Печаль Помогите если не трудно

Нужно написать небольшую программу, а как не знаю.

Условие:
На форме установлена метка Label1 и кнопка Button1. Вывести в метку растояние в мм. между курсором мыши и центром кнопки Butto1 в момент нажатия кнопки мыши.
Ответить с цитированием
  #2  
Старый 06.10.2007, 17:52
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Может быть и в пикселях сойдет?
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #3  
Старый 07.10.2007, 02:52
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var x: integer;
begin
x:= Form1.Left + Button1.Left + (Button1.Width div 2) +
    Form1.BorderWidth + (Form1.Width - Form1.ClientWidth) div 2;
x:= Mouse.CursorPos.X - x;
Label1.Caption:= IntToStr(x);
end;
Результат получишь в пикселях, а там делай че хошь, хоть в километры переводи но учти, что на разных мониторах пиксели разного размера (зависит от размера кинескопа).

З.Ы. Для визуального контроля создай Button2 и пропиши код:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var TMP: TBitmap; x, y: integer;
begin
  x:= Button1.Left;
  y:= Button1.Top + Button1.Height;
  TMP:= TBitmap.Create;
  TMP.Height:= 10;
  TMP.Width:= Button1.Width;
  with TMP.Canvas do
    begin
    Brush.Style:= bsSolid;
    Brush.Color:= clRed;
    FillRect(Bounds(0,0,TMP.Width div 2,TMP.Height));
    Brush.Style:= bsSolid;
    Brush.Color:= clLime;
    FillRect(Bounds(TMP.Width div 2,0,TMP.Width,TMP.Height));
    end;
  Form1.Canvas.Draw(x,y,TMP);
  TMP.Free;
end;
Ответить с цитированием
  #4  
Старый 07.10.2007, 13:25
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Вот пример проги, кот. вычисляет координаты позиции курсора относительно центра кнопки (при нажатии на оную):
Вложения
Тип файла: zip Center_Button.zip (6.6 Кбайт, 9 просмотров)
Ответить с цитированием
  #5  
Старый 07.10.2007, 15:14
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
По умолчанию Спасибо

Спасибо что помогли!
Ответить с цитированием
  #6  
Старый 10.10.2007, 18:21
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
По умолчанию

Перерыл много информации а так и не нашол скольки пикселям будет равен 1 мм. Если не трудно может кто подскажет.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter