![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Нужно написать небольшую программу, а как не знаю.
Условие: На форме установлена метка Label1 и кнопка Button1. Вывести в метку растояние в мм. между курсором мыши и центром кнопки Butto1 в момент нажатия кнопки мыши. |
|
#2
|
||||
|
||||
|
Может быть и в пикселях сойдет?
|
|
#3
|
||||
|
||||
|
Код:
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
|
||||
|
||||
|
Вот пример проги, кот. вычисляет координаты позиции курсора относительно центра кнопки (при нажатии на оную):
|
|
#5
|
|||
|
|||
|
Спасибо что помогли!
|
|
#6
|
|||
|
|||
|
Перерыл много информации а так и не нашол скольки пикселям будет равен 1 мм. Если не трудно может кто подскажет.
|
|
#7
|
|||
|
|||
|
Если у Вас есть не много времени не откажите и помогите оплата правда символическая всего 300 р. Больше нету.
Необходимо решить ниже данные задачи и выслать их вместе с исходниками ко мне на E-mail: Comp-1984@yandex.ru 1. На форме установлена метка Label1 и кнопка Button1. Вывести в метку расстояние в мм. между курсором мыши и центром кнопки Button1 в момент нажатия кнопки мыши. 2. Написать программу для кодирования и декодирования текстового файла с помощью слова-пароля. 3. Создать проект, в котором моделируется траектории движения снаряда при различных начальных углах и скоростях выстрела, возможно с нелинейностью (сопротивление пропорционально квадрату скорости с некоторым коэффициентом). Траектория движения определяется из задачи Коши для системы обыкновенных дифференциальных уравнений (уравнения движения материальной точки в поле тяжести). Интерфейс проекта должен позволять менять начальный угол траектории, начальную скорость полета, позволять выбирать модель полета и параметры модели. 4. Компонент «Многогранник». 5. Автомобиль проезжает по выпуклому мосту с заданной скоростью. Составить программу, иллюстрирующую изменение силы давления автомобиля на полотно дороги моста в зависимости от радиуса кривизны моста. Использовать законы механики. Оплату гарантирую. Расмотрю все предложения. |
|
#8
|
||||
|
||||
|
И не найдешь, т.к. все зависит от
1) Типа монитора (ЖК, ЭЛТ, тип трубки, матрицы) 2) Разрешения |
|
#9
|
|||
|
|||
|
Ну есть наверное какието способы по поиску колличества пикселей. Ну типа формулы или функции!
|
|
#10
|
||||
|
||||
|
Дык количество пикселей найти не трудно, трудно перевести их в мм\см, т.к. пиксели бывают разные.
|
|
#11
|
||||
|
||||
|
Я знаю один тип - битые
![]() |
|
#12
|
||||
|
||||
|
Посмотри на сайте там были исходники проги кодирования и декодирования текстового файла с помощью слова-пароля.
![]() |
|
#13
|
|||
|
|||
|
У формы (TForm), а также у переменной Screen есть свойство PixelsPerInch (например, 120 или 96), т.е. пикселы делим на этот коэффициент и получаем размер в дюймах (25,4 мм). В справке, правда, говорится, что этот размер совпадает с вертикальным, но может отличаться от горизонтального. Вспоминая, как я менял размеры экрана и подкручивал настройку ЭЛТ-монитора для подгонки изображения под максимум, получается, что есть погрешность, поэтому в справке и написано, что это- логические дюймы. Но если это не принципиально, то такой погрешностью можно принебречь.
|
|
#14
|
|||
|
|||
|
А формулу по поиску написать можешь? Если не трудно.
|
|
#15
|
||||
|
||||
|
Как я понял:
Код:
Screen.Width/Screen.PixelsPerInch*25.4; //Ширина в мм Screen.HeightWidth/Screen.PixelsPerInch*25.4; //Высота в мм |