Перейти к содержанию
Fire Monkey от А до Я

Лидеры

Популярный контент

Показан контент с высокой репутацией 25.09.2017 во всех областях

  1. Евгений Корепов

    Цифровая подпись

    Не действительны сертификаты SSL Certificates (для web-серверов). У них все сертификаты всегда были бесплатными (поэтому их американские монстры и прижали), платная только проверка пользователя - т.е. один раз проходишь валидацию нужного тебе класса и целый год выпускаешь сертификаты бесплатно.
    1 балл
  2. Gingercat

    Цифровая подпись

    Кто бы полную статью по этому делу написал, от получения до подписи, вот бы здорово было.
    1 балл
  3. Доброго дня, а в чем собственно проблема то? Для масштабирования заведите какую нибудь float m_scale = 1.f переменную, в событии OnMouseWheel увеличивайте или уменьшайте ее значение, а потом ваши числовые значения перемножайте на m_scale, да и все. То же и с перемещением: вот код с форума, честно - переписывать леньки, уж простите)) //перемещение формы bool dragging = false; POINT MousePnt; POINT point; HWND hWnd; RECT wndrect; void __fastcall TClock::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { GetCursorPos(&MousePnt); dragging = true; SetCapture(hWnd); } //--------------------------------------------------------------------------- void __fastcall TClock::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if (dragging==true) // Если нажата кнопка, то... { // Получить текущую позицию курсора GetCursorPos(&point); // Откорректировать положение окна Clock->Left = Clock->Left+(point.x - MousePnt.x); Clock->Top = Clock->Top +(point.y - MousePnt.y); // Установить новые размеры окна //SetWindowPos(hWnd, NULL, wndrect.left, wndrect.top, 0, 0, SWP_NOZORDER | SWP_NOSIZE); // Запоминаем текущую позицию курсора MousePnt=point; } } //--------------------------------------------------------------------------- void __fastcall TClock::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if (dragging==true) { dragging=false; ReleaseCapture(); } } Код примитивный и немного глуповатый, но смысл думаю поймете. Тут перемещение окна, но вам нужна суть - координаты Clock. Используйте их для отрисовки ваших фигур, и будут они бегать за мышкой. P.S.Хотя, неблагодарное это дело, плавности не добиться. Наткнувшись на опенсорсную библиотеку (на основе OpenGL), теперь увы на поделки с Timage, да и вообще отрисовка сложных интерфейсов, без слез смотреть невозможно - как по плавности, так и по нагрузке, реализуй хотя бы 50% из того, что там наворотил, на Borland-вской графике, программа бы и не пошевелилась)
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...