Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для El Fuego
16 / 15 / 2
Регистрация: 07.12.2009
Сообщений: 52

Прикрутить таймер к таблице

07.02.2010, 12:27. Показов 1004. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
if (State.Contains(gdFocused))
    {
      StringGrid1->Canvas->Brush->Color = clSkyBlue;
      StringGrid1->Canvas->FillRect(Rect);
      StringGrid1->Canvas->Font->Color = clRed;
      StringGrid1->Canvas->Font->Style = TFontStyles() << fsBold;
      StringGrid1->Canvas->TextOut(Rect.Left + 10, Rect.Top + 4, "Text");
    }
Вопрос собственно такой. Как можно прикрутить таймер к этому коду, чтобы цвет ячейки в фокусе менялся? Возможно ли это?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.02.2010, 12:27
Ответы с готовыми решениями:

Как таблице прикрутить полосу прокрутки вертикальную?
у меня есть фрейм, в нем таблица с юзерами, как прикрутить scrollbar к этой таблице, так чтоб напр. если юзеров больше 7, то появлялась...

Как прикрутить фильтр к собственной таблице в админке?
Есть табличка на базе класса Wp_list_table. Не нашел информации как прикрутить фильтр к таблице через функцию extra_tablenav( $which ) ...

Как прикрутить спинер, например к таблице что загружает данные, после нажатия на кнопку?
Как прикрутить спинер, например к таблице что загружает данные, после нажатия на кнопку? Angular 6

2
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
07.02.2010, 13:21
Можно вот так вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
if (State.Contains(gdFocused))
        {
          StringGrid1->Canvas->Brush->Color = RGB(random(255),random(255),random(255));
          StringGrid1->Canvas->FillRect(Rect);
          StringGrid1->Canvas->Font->Color = clRed;
          StringGrid1->Canvas->Font->Style = TFontStyles() << fsBold;
          StringGrid1->Canvas->TextOut(Rect.Left + 10, Rect.Top + 4, "Text");
        }
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
StringGrid1->Repaint();
}
Добавлено через 11 минут
А если сделать вот так вот, то будет вообще переливаться радугой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
TColor Rcolors[65535];
int ColorDirection=0;
int ColorPos=0;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
double r=255;
double g=0;
double b=0;
for(int i=0;i<=65535;i++)
{
if((i>=0)&&(i<=13107)){g+=0.0194552529182;}
if((i>13107)&&(i<=26214)){r-=0.0194552529182;}
if((i>26214)&&(i<=39321)){b+=0.0194552529182;}
if((i>39321)&&(i<=52428)){g-=0.0194552529182;}
if((i>52428)&&(i<=65535)){r+=0.0194552529182;}
Rcolors[i]=RGB(r,g,b);
}
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
if (State.Contains(gdFocused))
        {
          StringGrid1->Canvas->Brush->Color = Rcolors[ColorPos];
          StringGrid1->Canvas->FillRect(Rect);
          StringGrid1->Canvas->Font->Color = clRed;
          StringGrid1->Canvas->Font->Style = TFontStyles() << fsBold;
          StringGrid1->Canvas->TextOut(Rect.Left + 10, Rect.Top + 4, "Text");
          if(ColorDirection==0)
            {
            ColorPos+=100;
            if(ColorPos>=65534)
              {
              ColorDirection=1;
              ColorPos=65534;
              }
            }else
            {
            ColorPos-=100;
            if(ColorPos<0)
              {
              ColorDirection=0;
              ColorPos=0;
              }
            }
        }  
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
StringGrid1->Repaint();
}
Интервал таймера - 10 миллисекунд. Это конечно же очень жирно так т перерисовывать всю таблицу столько раз подряд, но кто тебе мешает перерисовывать только выделенную ячейку?
1
 Аватар для El Fuego
16 / 15 / 2
Регистрация: 07.12.2009
Сообщений: 52
07.02.2010, 13:28  [ТС]
Otaka, спасиб за пример.
Может я не полно выразился, но стараюсь, чтобы при дабл клике, та ячейка которая в фокусе меняла цвет с дефолта на прописанный. Проще говоря светофор только двухцветный.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.02.2010, 13:28
Помогаю со студенческими работами здесь

Таймер на подключение к MySQL-базе для проверки значения в таблице
доброе время суток первое извините если вопрос попал не в ту тему, так как я слегка потерян в поставленой задаче... нужно...

Таймер должен через время положить файл на БД. [Таймер]
Мне нужен таймер, а я не знаю как его делать именно, чтоб в конкретное время он сохранял информацию в файл. Чтобы он в конкретный период...

Поясните за таймер!) Или таймер на формах наследниках
Доброго. В проге есть основная форма и в процессе работы создается 1-2-3-4-5 форм наследников все одного типа, но вот в чем загвоздка, на...

Таймер похожий на таймер в delphi
Добрый всем)В общем хочу создать класс таймера похожий на класс таймера на delphi.Суть в том,что я хочу включать и выключать таймер за счет...

Как сделать что если нет данных в таблице, чтобы шаблон этой самой таблице не выводился а писалось что данных в таблице нет
В общем проблема такая, есть админка где выводится список жалоб которые без ответа, когда они есть то всё нормально список выводится и с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru