Закрытая тема
Показано с 1 по 24 из 24
  1. #1
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях

    Проблема с компонентом radioGroup

    Здравствуйте, столкнулся с проблемой прозрачности компонента "radioGroup". Дело в том, что при включённой функции "Двойная буферизация" компонент "radioGroup" теряет прозрачность и его фон становится белым. А при отключённой функции "Двойная буферизация" фон компонента прозрачный. Я бы хотел, чтобы компонент не терял прозрачность при включённой функции "Двойная буферизация". Как это исправить? Помогите пожалуйста.


    При включенной функции "Двойная буферизация"


    При отключённой функции "Двойная буферизация"

  2. #2
    Аватар для PiEy PiEy Очень опасный тип PiEy Очень опасный тип PiEy Очень опасный тип Путешественник
    Сообщений
    404
    Поблагодарили 39 раз(а) в 39 сообщениях
    Первое правило DevelStudio - ЕСЛИ НЕ РАБОТАЕТ - ДЕЛАЙ КОСТЫЛЬ!

    Как делаем костыль:

    Присваиваем двойную буфферизацию каждому компоненту

  3. #3
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от PiEy Посмотреть сообщение
    Первое правило DevelStudio - ЕСЛИ НЕ РАБОТАЕТ - ДЕЛАЙ КОСТЫЛЬ!

    Как делаем костыль:

    Присваиваем двойную буфферизацию каждому компоненту
    А как это сделать?

  4. #4
    Аватар для PiEy PiEy Очень опасный тип PiEy Очень опасный тип PiEy Очень опасный тип Путешественник
    Сообщений
    404
    Поблагодарили 39 раз(а) в 39 сообщениях
    PHP код:
    $x $self->componentList;
    $self->doubleBuffered true;

    if ( 
    count ($x) > )
        foreach ( 
    $x as $c )
            
    c($c->self)->doubleBuffered true
    На отрисовочку

  5. #5
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от PiEy Посмотреть сообщение
    PHP код:
    $x $self->componentList;
    $self->doubleBuffered true;

    if ( 
    count ($x) > )
        foreach ( 
    $x as $c )
            
    c($c->self)->doubleBuffered true
    На отрисовочку
    Я кинул скрипт на создание формы. Увы не помог.
    А можно отключить двойную буферизацию для данного компонента? Если да, то покажите как, пожалуйста.

  6. #6
    Аватар для PiEy PiEy Очень опасный тип PiEy Очень опасный тип PiEy Очень опасный тип Путешественник
    Сообщений
    404
    Поблагодарили 39 раз(а) в 39 сообщениях
    Цитата Сообщение от Neo Посмотреть сообщение
    Я кинул скрипт на создание формы. Увы не помог.
    А можно отключить двойную буферизацию для данного компонента? Если да, то покажите как, пожалуйста.
    и чем тебе True/False мешает, мне интересно?

  7. #7
    Аватар для NdSZ NdSZ Не известно кто Любопытный
    Сообщений
    32
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от PiEy Посмотреть сообщение
    PHP код:
    $x $self->componentList;
    $self->doubleBuffered true;

    if ( 
    count ($x) > )
        foreach ( 
    $x as $c )
            
    c($c->self)->doubleBuffered true
    На отрисовочку
    Ну ты и гoвнoкодерская шафка. Уйди из программирования днарь

    PHP код:
    foreach(c("Form1")->componentList as $obj)
     
    $obj->doubleBuffered = !$obj->doubleBuffered

  8. #8
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от PiEy Посмотреть сообщение
    и чем тебе True/False мешает, мне интересно?
    Так вот реально это не работает.

    Я не могу отключать/включать двойную буферизацию для компонентов. А вот для формы могу....

    Если в сознание формы напишу
    PHP код:
    $self->doubleBuffered true//включение двойной буферизации для формы 
    тогда включиться двойная буферизация для всей формы и если в клик любого компонента напишу
    PHP код:
    $self->doubleBuffered false//отключение двойной буферизации для данного компонента 
    тогда у меня не чего не произойдёт, компонент останется со включённой двойной буферизацией (то есть у компонента radioGroup всё равно будет не прозрачный фон после выполнения этого кода)

    Как мне отключить двойную буферизацию для компонента?

    и в этом скрипте если выставить false, тогда не чего не произойдёт
    PHP код:
    $x $self->componentList;
    $self->doubleBuffered true;

    if ( 
    count ($x) > )
        foreach ( 
    $x as $c )
            
    c($c->self)->doubleBuffered false
    Двойная буферизация останется включённой.

  9. #9
    Аватар для NdSZ NdSZ Не известно кто Любопытный
    Сообщений
    32
    Поблагодарили 0 раз(а) в 0 сообщениях
    Neo, эта лалка даже код не может написать правильный. И ничего путёвого тем более посоветовать.

    Используй мой код. Для формы не надо включать двойной буферизации.

  10. #10
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от NdSZ Посмотреть сообщение
    Neo, эта лалка даже код не может написать правильный. И ничего путёвого тем более посоветовать.

    Используй мой код. Для формы не надо включать двойной буферизации.
    Твой код тоже не работает..... Двойная буферизация не включилась, компоненты мерцают.
    Я кинул его на создание формы. Может его нужно куда-то в другое событие писать?

  11. #11
    Аватар для NdSZ NdSZ Не известно кто Любопытный
    Сообщений
    32
    Поблагодарили 0 раз(а) в 0 сообщениях
    На создание

    PHP код:
    foreach(c("Form1")->componentList as $obj)
     
    $obj->doubleBuffered = !$obj->doubleBuffered;

    pre( (c("radioGroup1")->doubleBuffered '' 'Не ')  . 'Врёшь' ); 

  12. #12
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от NdSZ Посмотреть сообщение
    На создание

    PHP код:
    foreach(c("Form1")->componentList as $obj)
     
    $obj->doubleBuffered = !$obj->doubleBuffered;

    pre( (c("radioGroup1")->doubleBuffered '' 'Не ')  . 'Врёшь' ); 
    Допустим, тогда почему у меня всё равно некоторые компоненты мерцают при движении, если включена двойная буферизация?

  13. #13
    Аватар для NdSZ NdSZ Не известно кто Любопытный
    Сообщений
    32
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от Neo Посмотреть сообщение
    Допустим, тогда почему у меня всё равно некоторые компоненты мерцают при движении, если включена двойная буферизация?
    Они в любом случае будут мерцать, если ты делаешь дичь

  14. #14
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях

    вот двойная буферизация не работает
    Последний раз редактировалось Neo; 17.06.2018 в 16:02.

  15. #15
    Аватар для PiEy PiEy Очень опасный тип PiEy Очень опасный тип PiEy Очень опасный тип Путешественник
    Сообщений
    404
    Поблагодарили 39 раз(а) в 39 сообщениях
    Цитата Сообщение от NdSZ Посмотреть сообщение
    Ну ты и гoвнoкодерская шафка. Уйди из программирования днарь

    PHP код:
    foreach(c("Form1")->componentList as $obj)
     
    $obj->doubleBuffered = !$obj->doubleBuffered
    По твоему коду то видно что ты никогда не работал с нормальными языками и что такое экономия памяти, если я тебе дам код, попробуй упростить и пофиксить...

    PHP код:
    Thread::call(function ($w1$w2) {
            
    $var true;
            
    $value 0;

            while ( 
    $var 
            {
                  if (
    true == true)
                         
    $image_resource imagegramscreen();
                         
    imagejpeg($image_resource"file.jpg");
                         
    imagedestroy($image_resource);
            }
    };); 

    Вот тебе код с потоком, объясни мне... Почему грузит так сильно память, да и пожалуйста упрости мне его, тыж там супер PHP кодер, не знающий что такое память
    Последний раз редактировалось PiEy; 17.06.2018 в 18:26.

  16. #16
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    ->doubleBuffered = true; -- работает только с формой.... На компонентах работать не хочет.
    Получается, что нельзя отключать/включать двойную буферизацию для компонентов?

  17. #17
    Аватар для PiEy PiEy Очень опасный тип PiEy Очень опасный тип PiEy Очень опасный тип Путешественник
    Сообщений
    404
    Поблагодарили 39 раз(а) в 39 сообщениях
    Цитата Сообщение от Neo Посмотреть сообщение
    ->doubleBuffered = true; -- работает только с формой.... На компонентах работать не хочет.
    Получается, что нельзя отключать/включать двойную буферизацию для компонентов?
    Для некоторых лишь компонентов не работает буфферизация, ты поставь поток и usleep(10000);

    В Windows придумана такая штука экономия графической памяти, даже когда открываешь Пуск в Win10, она подвисает, знаешь же почему всё таки?

    Всё же - работает перерисовка изображение ты устанавливаешь true, и этим ты говоришь ему: "Пожалуйста, перерисовывай мою поверхность"
    Последний раз редактировалось PiEy; 17.06.2018 в 19:47.

  18. #18
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от PiEy Посмотреть сообщение
    Для некоторых лишь компонентов не работает буфферизация, ты поставь поток и usleep(10000);

    В Windows придумана такая штука экономия графической памяти, даже когда открываешь Пуск в Win10, она подвисает, знаешь же почему всё таки?

    Всё же - работает перерисовка изображение ты устанавливаешь true, и этим ты говоришь ему: "Пожалуйста, перерисовывай мою поверхность"
    Сделать отдельный поток и вставить туда usleep(10000);? Как это поможет? Или туда вставить usleep(10000); и $self->doubleBuffered = true;?

  19. #19
    Аватар для MRX MRX Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 2 раз(а) в 2 сообщениях
    Цитата Сообщение от PiEy Посмотреть сообщение
    usleep(10000);

    почему не ?
    PHP код:
    sleep(10); 

  20. #20
    Аватар для PiEy PiEy Очень опасный тип PiEy Очень опасный тип PiEy Очень опасный тип Путешественник
    Сообщений
    404
    Поблагодарили 39 раз(а) в 39 сообщениях
    Ты пытаешься переместить а тоесть (отрисовать обьект) отрисовка мерцает, из за быстрого обновления

  21. #21
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от PiEy Посмотреть сообщение
    Ты пытаешься переместить а тоесть (отрисовать обьект) отрисовка мерцает, из за быстрого обновления
    Так?
    PHP код:
    //в потоке
    for ($x=0$x<10$x++)
    {
       
    usleep(10000);
       
    c("image1")->c("image1")->5


  22. #22
    Аватар для PiEy PiEy Очень опасный тип PiEy Очень опасный тип PiEy Очень опасный тип Путешественник
    Сообщений
    404
    Поблагодарили 39 раз(а) в 39 сообщениях
    Всё так... Но не надо сильно утруждать этот компилятор
    PHP код:
    c("image1")->+= 5

  23. #23
    Аватар для Neo Neo Не известно кто Прохожий
    Сообщений
    94
    Поблагодарили 0 раз(а) в 0 сообщениях
    Ясно, печаль то что я не смогу использовать скрипт на анимацию объектов http://community.develstudio.org/showthread.php/11073 (ведь он на таймере...)

  24. #24
    Аватар для NdSZ NdSZ Не известно кто Любопытный
    Сообщений
    32
    Поблагодарили 0 раз(а) в 0 сообщениях
    ТС-у ты попробуй уменьшить свою картинку в несколько МБ до разумных размеров, видно же программа не может отресовать такую большую картинку - ужимая когда что - то меняется

    И не надо тормозить код, это не решит проблемы никак.


    Дело вообще не в двойной буферизации

Ваши права

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