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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2010, 14:02   #1
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию Шкала/линейка

Как по умному сделать линейку (горизонтальную и вертикальную), подобную тем, что в программах типа CorelDraw и т.п.?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 02.08.2010, 14:19   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

На чем? На TImage?
Код:
For Y := 0 To TImage.Height Div Zoom Do
 For X := 0 To TImage.Width Div Zoom Do
  TImage.Canvas.MoveTo(X * Zoom, Y * Zoom);
  TImage.Canvas.LineTo(X * Zoom + 5, Y * Zoom);
И т.д.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 02.08.2010, 15:16   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
На чем? На TImage?
Код:
For Y := 0 To TImage.Height Div Zoom Do
 For X := 0 To TImage.Width Div Zoom Do
  TImage.Canvas.MoveTo(X * Zoom, Y * Zoom);
  TImage.Canvas.LineTo(X * Zoom + 5, Y * Zoom);
И т.д.
Я и спрашиваю. На чем?
Этот способ мне известен. Какие еще есть?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 12.08.2010, 14:04   #4
Ecosasha
Форумчанин
 
Регистрация: 22.05.2009
Сообщений: 248
По умолчанию

Drawing Engine v.2.00
скачать можно здесь, вроде там и исходники есть, можно посмотреть как реализовано:
http://www.torry.net/pages.php?id=196
Ecosasha вне форума Ответить с цитированием
Старый 12.08.2010, 14:45   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Посмотри вот.
Вложения
Тип файла: zip rsruler40.zip (262.5 Кб, 78 просмотров)
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 12.08.2010, 15:24   #6
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Я в своем проекте сделал примерно так:
1. Обрабатываем WM_NCCALCSIZE окна, возвращая там область (неклиентскую) под линейку
2. Обрабатываем WM_NCPAINT, чтобы линейку нарисовать
3. Для перерисовки SetWindowPos с флагом SWP_DRAWFRAME
4. Нужно учесть PixelsPerInch, иначе откуда узнаешь сколько пикселей в сантиметре/миллиметре/дюйме?
Ins вне форума Ответить с цитированием
Старый 13.08.2010, 10:50   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Спасибо ребята, как раз вовремя тему подняли, сегодня собирался этим заняться
Мне ближе реализация rsruler, у них там от TGraphicControl унаследовано, мне так легче, на низком уровне в работе с Виндой (как Ins предлагает) я не очень силен. Я примерно так и думал делать, посмотрю как у них сделано, может почерпну что-то для себя, в чистом виде она мне не очень подходит, у меня немного нестандартная задача, мне соотношение с экранными пикселями не нужно, есть свои правила по переводу в мм, но в целом это то что нужно, буду пробовать.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экранная линейка Arigato Ruler Arigato Софт 45 01.05.2020 08:37
Двойная шкала на диаграмме mephist Microsoft Office Excel 1 24.03.2010 00:13
Не двигаеется шкала графика. Юнлинг Microsoft Office Excel 2 18.12.2009 09:25
почтовик-шкала загрузки betirsolt Работа с сетью в Delphi 2 30.11.2009 21:31
Шкала деления Grots Microsoft Office Excel 1 08.11.2009 00:55