powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите избавится от мерцания
6 сообщений из 6, страница 1 из 1
Помогите избавится от мерцания
    #40025035
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть старый самопальный скриншотер, при выделении области скриншота форма мерцает.
Мерцания именно внутри выделения.
Работает так: появляется полупрозрачная форма, на весь экран и на ней делается выделение..
mousemove по форме:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  if isDown then
  begin
    Self.Repaint;
    // пунктирная рамка
    Self.Canvas.Pen.Color := clHighlight;
    Self.Canvas.Pen.Width := 1;
    Self.Canvas.Pen.Style := psDot;
    //  заливаем область clFuchsia цветом, благодаря чему она становиться прозрачной
    Self.Canvas.Brush.Color := clFuchsia;
    Self.Canvas.Rectangle(downX, downY, X, Y);
  end;


doublebuffered форме - не помогает
...
Рейтинг: 0 / 0
Помогите избавится от мерцания
    #40025046
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убери форму, полупрозрачность и в особенности заливку. Делай выделение прямо на экране.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите избавится от мерцания
    #40025060
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tech N9ne
Есть старый самопальный скриншотер, при выделении области скриншота форма мерцает.
Мерцания именно внутри выделения.
Работает так: появляется полупрозрачная форма, на весь экран и на ней делается выделение..
mousemove по форме:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  if isDown then
  begin
    Self.Repaint;
    // пунктирная рамка
    Self.Canvas.Pen.Color := clHighlight;
    Self.Canvas.Pen.Width := 1;
    Self.Canvas.Pen.Style := psDot;
    //  заливаем область clFuchsia цветом, благодаря чему она становиться прозрачной
    Self.Canvas.Brush.Color := clFuchsia;
    Self.Canvas.Rectangle(downX, downY, X, Y);
  end;


doublebuffered форме - не помогает
Смотри пример как это реализовано в VirtualTreeView
...
Рейтинг: 0 / 0
Помогите избавится от мерцания
    #40025070
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Квейд
Tech N9ne
Есть старый самопальный скриншотер, при выделении области скриншота форма мерцает.
Мерцания именно внутри выделения.
Работает так: появляется полупрозрачная форма, на весь экран и на ней делается выделение..
mousemove по форме:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  if isDown then
  begin
    Self.Repaint;
    // пунктирная рамка
    Self.Canvas.Pen.Color := clHighlight;
    Self.Canvas.Pen.Width := 1;
    Self.Canvas.Pen.Style := psDot;
    //  заливаем область clFuchsia цветом, благодаря чему она становиться прозрачной
    Self.Canvas.Brush.Color := clFuchsia;
    Self.Canvas.Rectangle(downX, downY, X, Y);
  end;



doublebuffered форме - не помогает
Смотри пример как это реализовано в VirtualTreeView

А где именно оно там? VirtualTreeView - он большоооой)
...
Рейтинг: 0 / 0
Помогите избавится от мерцания
    #40025071
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tech N9ne


doublebuffered форме - не помогает
И не поможет, потому что ты рисуешь рамку в оверлее.
Положи на форму PaintBox и пропиши всю отрисовку в OnDraw.
...
Рейтинг: 0 / 0
Помогите избавится от мерцания
    #40025135
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис
Tech N9ne


doublebuffered форме - не помогает
И не поможет, потому что ты рисуешь рамку в оверлее.
Положи на форму PaintBox и пропиши всю отрисовку в OnDraw.

Сделал через Paintbox.
делаю скриншот всего экрана, вставляю скрин в paintbox, и уже там рисованием прямоугольника вычисляю координаты, которые нужно вырезать.
ничего не мерцает =)
спасибо
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите избавится от мерцания
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]