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

 



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.10.2017, 09:57
Gareth Gareth вне форума
Начинающий
 
Регистрация: 21.03.2013
Адрес: Приднестровье
Сообщения: 139
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Мигает\мерцает загаловок формы

Доброе время суток!
Делаю панель запуска типа rocketdock.
Всё на speedbutton`ах.
Кнопки создаю в ран-тайме.

Вот имею я кнопочки в ряд. Мне захотелось одну передвинуть, начинаю двигать, в это время форма мерцает, мигает, называйте как хотите...
Двигаю кнопку так:
Код:
procedure TForm1.SPBMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 
if SPB_L_R = True then
begin

 SPB[SensorTag].Left := Mouse.CursorPos.X -form1.Left ;
end;
Посоветуйте что-то !?)


Форма прилимает к верхнему краю экрана. На Загаловке описан путь и имя файла, появляются эти пути только при наведении на кнопку.
При перетаскивании видать что-то происходит....
Ответить с цитированием
  #2  
Старый 10.10.2017, 19:24
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,499
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Firemonkey в помощь.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
Gareth (10.10.2017)
  #3  
Старый 10.10.2017, 22:53
Аватар для lmikle
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 6,928
Репутация: 49086
По умолчанию

Все-таки мне кажется, что тут имеет место косяк в коде при реализации либо отрисовки, либо самого перетаскивания. Не должно быть там мецаняи, ведь в дизайнере самой Дельфи когда ты таскаешь компоненты по форме ничего ведь не мерцает...

Ну а для начала я бы посмотрел бы что будет есть у формы выставить DoubleBuffered := True.
Ответить с цитированием
  #4  
Старый 11.10.2017, 07:17
Guaho Guaho вне форума
Прохожий
 
Регистрация: 27.08.2017
Сообщения: 14
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Открой окно файлового проводника Windows, и, зацепив мышью за левый край окна, попробуй изменять его размеры. За правый - всё красиво будет, а вот за левый... Не в самой ли ОС спрятан косяк с отрисовкой?
З.Ы. Win7 x64 максимальная, в/карта GeForce GTX 760, дрова разные пробовал - как "коробочные" (с диска), так и самые свежие с Инета. "Мерцание" (в виде заметного дёрганья правого края окна) проявляется независимо от установленной схемы (стиля окон).

Последний раз редактировалось Guaho, 11.10.2017 в 07:20.
Ответить с цитированием
  #5  
Старый 11.10.2017, 10:28
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,375
Версия Delphi: 7, XE5
Репутация: 59585
По умолчанию

Цитата:
Сообщение от Guaho
Открой окно файлового проводника Windows, и, зацепив мышью за левый край окна, попробуй изменять его размеры. За правый - всё красиво будет, а вот за левый... Не в самой ли ОС спрятан косяк с отрисовкой?
Да ничего там не мерцает.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 11.10.2017, 19:01
Аватар для lmikle
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 6,928
Репутация: 49086
По умолчанию

Цитата:
Сообщение от Guaho
Открой окно файлового проводника Windows, и, зацепив мышью за левый край окна, попробуй изменять его размеры. За правый - всё красиво будет, а вот за левый... Не в самой ли ОС спрятан косяк с отрисовкой?
З.Ы. Win7 x64 максимальная, в/карта GeForce GTX 760, дрова разные пробовал - как "коробочные" (с диска), так и самые свежие с Инета. "Мерцание" (в виде заметного дёрганья правого края окна) проявляется независимо от установленной схемы (стиля окон).

только что проверил - ничего а проводнике не мерцает, за исключением правого края тулбара немного, но это, как я понимаю, проблема переразмеривания самого тулбара. Двигал и менял за все стороны...
Win 7 x64 Pro
Ответить с цитированием
  #7  
Старый 11.10.2017, 19:12
Guaho Guaho вне форума
Прохожий
 
Регистрация: 27.08.2017
Сообщения: 14
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Ну да, "немного", миллиметр-полтора на экране (27" монитор). Можно сказать, что "ничего не мерцает", да.
Ответить с цитированием
  #8  
Старый 11.10.2017, 21:44
Аватар для lmikle
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 6,928
Репутация: 49086
По умолчанию

Я же уточнил - заголовок окна не мерцает. И тулбар не мерцает на самом деле, там явно видна двойная отрисовка, т.е. сначала отрисовывается в новорм размере окна старый тулбар, а потом он переразмеривается и отрисовывается снова. Т.е. визуально это проявляется как небольшая черная полоска справа от тулбара. Именно мерцания - нет.
Ответить с цитированием
Ответ



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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2017

ВКонтакте   Facebook   Twitter