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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2014, 12:09   #11
NEoMASTERR
Форумчанин
 
Аватар для NEoMASTERR
 
Регистрация: 22.12.2010
Сообщений: 175
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
а это зачем?
Чтобы устранить мерцание родителя, если вы это имели ввиду, ибо у Parent нет Canvas (parent = TWinControl)

Если есть книжечки по саморисующимся компонентам, я буду не против почитать, хочу свой интерфейс, надоел XPMan, и не хочу чужое (alphaControls и тд)
Здравствуйте

Последний раз редактировалось NEoMASTERR; 25.10.2014 в 12:12.
NEoMASTERR вне форума Ответить с цитированием
Старый 25.10.2014, 12:13   #12
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
если вы это имели ввиду
я имел в виду, нафига as tform?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 25.10.2014, 12:18   #13
NEoMASTERR
Форумчанин
 
Аватар для NEoMASTERR
 
Регистрация: 22.12.2010
Сообщений: 175
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
я имел в виду, нафига as tform?
Я сюда сам с вопросами пришёл)
Я бы рисовал родителем, чтоб он не мерцал

Код:
TForm = class(TCustomForm)
//...
end;

TCustomForm = class(TScrollingWinControl)
//...
property Canvas: TCanvas read GetCanvas;
//...
end;
Почему то если я рисую на TImage то ничего не мерцает(

Я Вот смотрю код TTrackBar, там есть

Код:
procedure TTrackBar.CreateWnd;
begin
  inherited CreateWnd;
  if HandleAllocated then
  begin
    SendMessage(Handle, TBM_SETTHUMBLENGTH, FThumbLength, 0);
    SendMessage(Handle, TBM_SETLINESIZE, 0, FLineSize);
    SendMessage(Handle, TBM_SETPAGESIZE, 0, FPageSize);
    SendMessage(Handle, TBM_SETRANGEMIN, 0, FMin);
    SendMessage(Handle, TBM_SETRANGEMAX, 0, FMax);
    UpdateSelection;
    SendMessage(Handle, TBM_SETPOS, 1, FPosition);
    SendMessage(Handle, TBM_SETTICFREQ, FFrequency, 1);
  end;
end;
И вот не пойму, обработки сообщений не вижу в коде
Здравствуйте

Последний раз редактировалось NEoMASTERR; 25.10.2014 в 12:27.
NEoMASTERR вне форума Ответить с цитированием
Старый 25.10.2014, 12:26   #14
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Я теперь вообще ничо не понимаю.
Ты написал компонент-потомок TGraphicControl и хочешь, чтобы он не моргал.
Я предложил просто положить его на панельку с DoubleBuffered = true. И всё! Какие нах формы?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 25.10.2014, 12:28   #15
NEoMASTERR
Форумчанин
 
Аватар для NEoMASTERR
 
Регистрация: 22.12.2010
Сообщений: 175
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Я теперь вообще ничо не понимаю.
Ты написал компонент-потомок TGraphicControl и хочешь, чтобы он не моргал.
Я предложил просто положить его на панельку с DoubleBuffered = true. И всё! Какие нах формы?
Может потому что компонент всё таки на форме будет?
И что мне теперь ради каждого компонента панельки делать к ним? А если на форме 100500 кнопок, это еще +100500 панелек?
Стандартные компоненты как то посамостоятельнее будут, не?
Плюс на каждой панельке DoubleBuffered это кошмар начнется, у меня и так всё невизуально рисуется потом выводится, 4 буфера в 1 компоненте?
Здравствуйте

Последний раз редактировалось NEoMASTERR; 25.10.2014 в 12:31.
NEoMASTERR вне форума Ответить с цитированием
Старый 25.10.2014, 12:37   #16
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
И что мне теперь ради каждого компонента панельки делать к ним?
Что за бред? Зачем для каждого?
Цитата:
А если на форме 100500 кнопок, это еще +100500 панелек?
Причём тут кнопки? Почему они должны быть на пнельках? Почему не на форме непоредственно?
Цитата:
Стандартные компоненты как то посамостоятельнее будут, не?
Это ваще как поимать? TPaintBox тоже мерцает при интенсивной перерисовке.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 25.10.2014, 12:43   #17
NEoMASTERR
Форумчанин
 
Аватар для NEoMASTERR
 
Регистрация: 22.12.2010
Сообщений: 175
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Что за бред? Зачем для каждого?
А если на форме 10 TNEoBar?

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Причём тут кнопки? Почему они должны быть на пнельках? Почему не на форме непоредственно?
Буду делать и кнопки. Вы же сами сказали на панельку положить?

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Это ваще как поимать? TPaintBox тоже мерцает при интенсивной перерисовке.
TImage не мерцает


исходник и демка - посмотрите, подергайте за края блоков в TImage, и за края моего компонента
Здравствуйте

Последний раз редактировалось NEoMASTERR; 25.10.2014 в 12:54.
NEoMASTERR вне форума Ответить с цитированием
Старый 25.10.2014, 12:58   #18
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
А если на форме 10 TNEoBar?
положи на одну общую панель, ё.
вообще, что это за компонент такой, какие у него функции?
Цитата:
Буду делать и кнопки. Вы же сами сказали на панельку положить?
про кнопки я нио не говорил.
Цитата:
TImage не мерцает
Видать, ты на нём рисовать не пробовал 10 раз в секунду. И не пробуй.

Вот TPaintBox на панели. Не мерцает.
Изображения
Тип файла: png 3.png (21.4 Кб, 88 просмотров)
Вложения
Тип файла: rar 4797.RAR (176.0 Кб, 6 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 25.10.2014, 13:05   #19
NEoMASTERR
Форумчанин
 
Аватар для NEoMASTERR
 
Регистрация: 22.12.2010
Сообщений: 175
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
положи на одну общую панель, ё.
вообще, что это за компонент такой, какие у него функции?
А если они в разных местах будут? Это пока тестовый компонент, для понятия азов

Цитата:
Сообщение от min@y™ Посмотреть сообщение
про кнопки я нио не говорил.
На одном компоненте я не остановлюсь, хочу свою палитру компонентов Ex.

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Видать, ты на нём рисовать не пробовал 10 раз в секунду. И не пробуй.
Только что попробовал, не мерцает

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Вот TPaintBox на панели. Не мерцает.
Хочу самостоятельный компонент
Здравствуйте
NEoMASTERR вне форума Ответить с цитированием
Старый 25.10.2014, 13:21   #20
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Короче, я бы сделал так:
  • мерцающее размещал бы на потомке TWinControl с DoubleBuffered = true;
  • оконные элементы управления (кнопки и т.п.), не требующие работы с их графикой снаружи - на потомке TWinControl с DoubleBuffered = false.
Цитата:
Хочу самостоятельный компонент
A TPaintBox - не самостоятельный компонент, штоли? Такой же наследник TGraphicControl.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мерцает GIF анимация bilibian Общие вопросы Delphi 2 26.09.2014 14:06
Drawer Panel мерцает Ko$ Общие вопросы Delphi 2 19.10.2011 13:53
Word 2003 мерцает RIO Софт 0 27.09.2010 16:55
Мерцает экран Ned23 Компьютерное железо 3 13.11.2009 19:59
и все равно мерцает! Spiritual Win Api 4 06.02.2009 20:28