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

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

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

Скока лазил - не нашёл... пришёл к выводу, что невозможно.
Лучшие ответы (1)
24.08.2009, 13:52
AdAgent
Объявления
25.08.2009, 09:35   #2
Sasha
Форумчанин
4203 / 1892 / 73
Регистрация: 05.06.2008
Сообщений: 5,686
Записей в блоге: 3
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
Форумчанин
73 / 73 / 3
Регистрация: 17.12.2007
Сообщений: 574
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
Форумчанин
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
DBGrid - прокрутка scroll

Это в какое событие записать???
25.08.2009, 15:53   #5
Sasha
Форумчанин
4203 / 1892 / 73
Регистрация: 05.06.2008
Сообщений: 5,686
Записей в блоге: 3
DBGrid - прокрутка scroll

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

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

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

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

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

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

Показываю на своей функции
1.Убери флажок с const
2.Имя метода OnApplicationMessage
3.Аргументы TMsg & Msg, bool & Handled - это то, что в скобках
4.тип функции не bool, short,а void
27.08.2009, 11:09  [ТС]   #10
4aynik
Форумчанин
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
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++ Builder БД Прокрутка DBGrid-а колесиком мыши
Добрый вечер!!! Столкнулся с такой проблемой, на форме имеется DBGrid в нем отображается только 4 строки из таблицы БД, а ней 136 строк (это не столь важно), подскажите как настроить DBGrid, чтобы при наведении курсора на компонент можно было прокручивать колесиком мыши?
C++ Builder и базы данных Within_t 17.05.2014 11:09
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
C++ Builder БД [C++ builder XE] DBGrid. Удаление/добавление/изменение БД mysql через DBGrid
Здравствуйте! Возможно тема заезженная, но не чего путнего не нашел(может так искал!) Нужна помощь в добавлении и изменении данных в таблице БД mysql через DBGrid. На форме есть: TSQLConnectionSQLQuerySQLTableSimpleDataSetDataSource
C++ Builder и базы данных Infinity3000 02.05.2012 15:06
C++ Builder БД Вычисляемые поля dbgrid по другим полям того же dbgrid'а
Здравствуйте, уважаемые пользователи, программеры и "гуру" форума. Подскажите, пожалуйста, как переписать код, чтобы все работало с умом.. Мой код считает правильно только количество пятерок, выставленных пятью учителями 15-ю учеников (данные хранятся в базе данных. для их отображения...
C++ Builder и базы данных zener 19.03.2012 20:59
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
Опции темы

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

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