Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум C++ > Форум C++ Builder > Форум C++ Builder и базы данных
Восстановить пароль Регистрация

Ответ Создать новую тему
 
24.08.2009, 13:52   #1
4aynik
Форумчанин
Регистрация: 17.08.2009
Сообщений: 161
Репутация: 0 (0)
DBGrid - прокрутка scroll / C++ Builder и базы данных

Не подскажите в DBGrid возможна прокрутка по списку с помощью Scroll'a (колеса) мыши?

Скока лазил - не нашёл... пришёл к выводу, что невозможно.
Лучшие ответы (1)
24.08.2009, 13:52
AdAgent
Объявления
25.08.2009, 09:35   #2
Sasha
Форумчанин
Регистрация: 05.06.2008
Сообщений: 5,680
Репутация: 4200 (1889)
Записей в блоге: 3
Лучшие ответы: 73
DBGrid - прокрутка scroll

Возможно
Код 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
void __fastcall TMainForm::OnApplicationMessage(TMsg & Msg, bool & Handled)
{
   if (Msg.message == WM_MOUSEWHEEL)
     {
       if (dynamic_cast<TDBGrid*>(Screen->ActiveControl))
        {
         short zDelta = HIWORD(Msg.wParam);
           if (zDelta !=0)
            {
              Msg.lParam = 0;
              Msg.message = WM_KEYDOWN;
               if (zDelta >0 )
                 {Msg.wParam = VK_UP;}
                 else
                 {Msg.wParam = VK_DOWN;}
 
       }
 
   }
  }
}
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
 Application->OnMessage = OnApplicationMessage;
}
Другие темы раздела
C++ Builder БД Сортировка в гриде через запросы
Уважаемые программисты помогите разобратся по такому вопросу Вот код void __fastcall TMainForm::DBGrid1TitleClick(TColumn *Column) { if (ADOQuery1->Active) if ((ADOQuery1->Sort.Pos(Column->FieldName) > 0) && (ADOQuery1->Sort.Pos("ASC") > 0)) {ADOQuery1->Sort = Column->FieldName + "...
Фильтрация ADOTable C++ Builder БД
Всем привет! Есть табличка, в Edit ввожу число по которому табличка должна отфильтроваться. void __fastcall TForm3::Button1Click(TObject *Sender) { String E1=Edit1->Text; Form1->Table->Filter="Dí(ìì) = '"+E1+"'"; } При такой записи, я ввожу число, жму на кнопку, но ничего не...
25.08.2009, 09:42   #3
FreeWay
Форумчанин
Регистрация: 17.12.2007
Сообщений: 574
Репутация: 73 (73)
Лучшие ответы: 3
DBGrid - прокрутка scroll

или так:

Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class THackDBGrid:public TDBGrid
{__published:
 __property OnMouseWheel;
};
 
 
((THackDBGrid*)DBGrid1)->OnMouseWheel=MainGridWheel;
 
 
void __fastcall TMain::MainGridWheel(TObject *Sender,TShiftState Shift, int WheelDelta,const TPoint &MousePos,bool &Handled)
{
if(WheelDelta>0) DBGrid1->DataSource->DataSet->Prior();
else if(WheelDelta<0) DBGrid1->DataSource->DataSet->Next();
Handled=1;
}
в заголовке:

Код C++
1
void __fastcall MainGridWheel(TObject *Sender, TShiftState Shift, int WheelDelta,const TPoint &MousePos,bool &Handled); 
25.08.2009, 15:01  [ТС]   #4
4aynik
Форумчанин
Регистрация: 17.08.2009
Сообщений: 161
Репутация: 0 (0)
DBGrid - прокрутка scroll

Это в какое событие записать???
25.08.2009, 15:01
AdAgent
Объявления
25.08.2009, 15:53   #5
Sasha
Форумчанин
Регистрация: 05.06.2008
Сообщений: 5,680
Репутация: 4200 (1889)
Записей в блоге: 3
Лучшие ответы: 73
DBGrid - прокрутка scroll

Ты его должен сам создать
26.08.2009, 09:06  [ТС]   #6
4aynik
Форумчанин
Регистрация: 17.08.2009
Сообщений: 161
Репутация: 0 (0)
DBGrid - прокрутка scroll

Если бы я ещё это умел...
26.08.2009, 09:24   #7
Sasha
Форумчанин
Регистрация: 05.06.2008
Сообщений: 5,680
Репутация: 4200 (1889)
Записей в блоге: 3
Лучшие ответы: 73
DBGrid - прокрутка scroll

Цитата Сообщение от 4aynik Посмотреть сообщение
Если бы я ещё это умел...
Зайди к себе на профиль я тебе вчера ссылку сбрасывал
26.08.2009, 09:56  [ТС]   #8
4aynik
Форумчанин
Регистрация: 17.08.2009
Сообщений: 161
Репутация: 0 (0)
DBGrid - прокрутка scroll

Ага видел, пытаюсь сделать.

Добавил метод, только по коду FreeWay'я, но сразу заругался сильно билдер.

Sasha, по твоему коду в добавлении метода вот так нужно задавать (на рисунке)?
Миниатюры
DBGrid - прокрутка scroll  
26.08.2009, 11:13   #9
Sasha
Форумчанин
Регистрация: 05.06.2008
Сообщений: 5,680
Репутация: 4200 (1889)
Записей в блоге: 3
Лучшие ответы: 73
DBGrid - прокрутка scroll

Показываю на своей функции
1.Убери флажок с const
2.Имя метода OnApplicationMessage
3.Аргументы TMsg & Msg, bool & Handled - это то, что в скобках
4.тип функции не bool, short,а void
27.08.2009, 11:09  [ТС]   #10
4aynik
Форумчанин
Регистрация: 17.08.2009
Сообщений: 161
Репутация: 0 (0)
DBGrid - прокрутка scroll / C++ Builder и базы данных

Билдер заругался и я убрал вот этот кусок

Код C++
1
2
3
4
5
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
 Application->OnMessage = OnApplicationMessage;
}
Скомпилился, но в DBGrid'ах моих не прокручивается колесом мыши список...
27.08.2009, 11:09
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C++ Qt: Прокрутка layout в scroll area
У меня есть QHBoxLayout и QScrollArea. Я заполняю лэйаут следующим образом: for(int i = 0; i < 512; i++){ pbmas = new QProgressBar; pbmas->setOrientation(Qt::Vertical); pbmas->setFixedSize(26, 190); pbmas->setValue(0); ui->pb_lay->addWidget(pbmas); } ...
Qt MastAKK 26.01.2014 15:05
Delphi: DBGrid and Scroll Bars.
Здравствуйте. Скажите пожалуйста, столкнулся с такой проблемой: у меня есть БД Access, я ее привязываю к Делфи, и все пучком. На форме я делаю все так, чтобы все столбцы были видны, и чтобы не надо было использовать Scroll Bars (рис. 1). Но когда запускаешь программу, то они появляются (рис 2.)....
Delphi для начинающих SunEclipse 02.05.2011 17:44
Delphi: Прокрутка DBGrid-a
Здравствуйте, подскажите пожалуйста, как прокрутить DBGrid в самый конец. пробовал, так не помогает SendMessage(DBGrid.Handle, WM_VSCROLL, SB_PAGEDOWN, 0); если уже была такая тема дайте ссылку почитать, а то поиском ничего не нашел.
Delphi для начинающих Sanprof 01.11.2010 12:54
C# WinForms: не срабатывает событие scroll когда прокрутка идет по колесику мышки. по scroll bar - работает
не срабатывает событие scroll когда прокрутка идет по колесику мышки. по scroll bar - работает. причем scroll bar при этом прокручивается, но в событие не входит this.Scroll += new ScrollEventHandler(TDOnScroll); //---- protected void TDOnScroll(Object sender,...
C# Windows Forms Кувалда 27.12.2009 11:51
Delphi: три положения (начало, конец и середина) Scroll в dbGrid
Привет. Почему вертикальный scrollbar в dbgrid занимет только три положения: начало, конец и середина. Как с этим бороться? Саша.
Delphi Fikov 11.04.2008 12:02
Опции темы

Текущее время: 17:00. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.