Форум программистов, компьютерный форум CyberForum.ru
С Днём Победы!
CyberForum.ru - форум программистов и сисадминов > > > >
Восстановить пароль Регистрация
 
 
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
24.08.2009, 13:52     DBGrid - прокрутка scroll #1
Не подскажите в DBGrid возможна прокрутка по списку с помощью Scroll'a (колеса) мыши?

Скока лазил - не нашёл... пришёл к выводу, что невозможно.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2009, 13:52     DBGrid - прокрутка scroll
Посмотрите здесь:

Почему исчезла прокрутка в TDBGrid? C++ Builder БД
DBGrid C++ Builder БД
[C++ builder XE] DBGrid. Удаление/добавление/изменение БД mysql через DBGrid C++ Builder БД
C++ Builder БД DBGrid
DBGrid C++ Builder БД
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sasha
 Аватар для Sasha
4776 / 2250 / 201
Регистрация: 05.06.2008
Сообщений: 7,104
Записей в блоге: 3
25.08.2009, 09:35     DBGrid - прокрутка scroll #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Возможно
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;
}
FreeWay
 Аватар для FreeWay
78 / 78 / 4
Регистрация: 17.12.2007
Сообщений: 574
25.08.2009, 09:42     DBGrid - прокрутка scroll #3
или так:

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); 
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
25.08.2009, 15:01  [ТС]     DBGrid - прокрутка scroll #4
Это в какое событие записать???
Sasha
 Аватар для Sasha
4776 / 2250 / 201
Регистрация: 05.06.2008
Сообщений: 7,104
Записей в блоге: 3
25.08.2009, 15:53     DBGrid - прокрутка scroll #5
Ты его должен сам создать
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
26.08.2009, 09:06  [ТС]     DBGrid - прокрутка scroll #6
Если бы я ещё это умел...
Sasha
 Аватар для Sasha
4776 / 2250 / 201
Регистрация: 05.06.2008
Сообщений: 7,104
Записей в блоге: 3
26.08.2009, 09:24     DBGrid - прокрутка scroll #7
Цитата Сообщение от 4aynik Посмотреть сообщение
Если бы я ещё это умел...
Зайди к себе на профиль я тебе вчера ссылку сбрасывал
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
26.08.2009, 09:56  [ТС]     DBGrid - прокрутка scroll #8
Ага видел, пытаюсь сделать.

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

Sasha, по твоему коду в добавлении метода вот так нужно задавать (на рисунке)?
Миниатюры
DBGrid - прокрутка scroll  
Sasha
 Аватар для Sasha
4776 / 2250 / 201
Регистрация: 05.06.2008
Сообщений: 7,104
Записей в блоге: 3
26.08.2009, 11:13     DBGrid - прокрутка scroll #9
Показываю на своей функции
1.Убери флажок с const
2.Имя метода OnApplicationMessage
3.Аргументы TMsg & Msg, bool & Handled - это то, что в скобках
4.тип функции не bool, short,а void
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
27.08.2009, 11:09  [ТС]     DBGrid - прокрутка scroll #10
Билдер заругался и я убрал вот этот кусок

C++
1
2
3
4
5
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
 Application->OnMessage = OnApplicationMessage;
}
Скомпилился, но в DBGrid'ах моих не прокручивается колесом мыши список...
Sasha
 Аватар для Sasha
4776 / 2250 / 201
Регистрация: 05.06.2008
Сообщений: 7,104
Записей в блоге: 3
27.08.2009, 12:53     DBGrid - прокрутка scroll #11
Покажи ошибку на что он заругался?

А если ты убрал этот кусок то конечно оно прокручиватся не будет
FeNr1z
3 / 3 / 0
Регистрация: 18.11.2008
Сообщений: 61
27.08.2009, 13:41     DBGrid - прокрутка scroll #12
А можно поподробнее про создание метода и как оно работает все? )))

Добавлено через 5 минут
Цитата Сообщение от FeNr1z Посмотреть сообщение
А можно поподробнее про создание метода и как оно работает все? )))

Все разобрался! Работает ))
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
27.08.2009, 17:02  [ТС]     DBGrid - прокрутка scroll #13
Ошибки такие:

[C++ Error] Unit1.cpp(1049): E2090 Qualifier 'TMainForm' is not a class or namespace name

[C++ Error] Unit1.cpp(1049): E2040 Declaration terminated incorrectly
говорит 1-я ошибка в этой строке: __fastcall TMainForm::TMainForm(TComponent* Owner)

2-я там же...
FreeWay
 Аватар для FreeWay
78 / 78 / 4
Регистрация: 17.12.2007
Сообщений: 574
28.08.2009, 08:55     DBGrid - прокрутка scroll #14
Цитата Сообщение от 4aynik Посмотреть сообщение
Это в какое событие записать???
сделай как тут и все будет работать cpp+h.rar
Вложения
Тип файла: rar cpp+h.rar (3.3 Кб, 139 просмотров)
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
28.08.2009, 09:48  [ТС]     DBGrid - прокрутка scroll #15
FreeWay, А где в коде там конкретно кусок для скролла?

не это?

C++
1
2
3
4
5
6
7
8
9
10
11
12
class THackDBGrid:public TDBGrid
{__published:
 __property OnMouseWheel;
};
 
//---------------------------------------------------------------------------
__fastcall TMain::TMain(TComponent* Owner)
        : TForm(Owner)
{
 
 
((THackDBGrid*)DBGrid1)->OnMouseWheel=MainGridWheel;
Sasha
 Аватар для Sasha
4776 / 2250 / 201
Регистрация: 05.06.2008
Сообщений: 7,104
Записей в блоге: 3
28.08.2009, 10:29     DBGrid - прокрутка scroll #16
Цитата Сообщение от 4aynik Посмотреть сообщение
Ошибки такие:



говорит 1-я ошибка в этой строке: __fastcall TMainForm::TMainForm(TComponent* Owner)

2-я там же...
Покажи как выглядит твой h-фаил с теми ошибками которые ты выложил

Добавлено через 25 минут
И имя формы желательно
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
28.08.2009, 12:29  [ТС]     DBGrid - прокрутка scroll #17
Вот так выглядит h-файл:

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
//---------------------------------------------------------------------------
 
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include <DBGrids.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
#include <Menus.hpp>
#include <DBTables.hpp>
#include <ComCtrls.hpp>
#include <DBCtrls.hpp>
#include <QRCtrls.hpp>
#include <QuickRpt.hpp>
#include <Graphics.hpp>
#include <jpeg.hpp>
#include <Mask.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TDataSource *DSIzdeliya;
        TDBGrid *DBGrid1;
        TADOConnection *ADOConnection1;
        TADOTable *TIzdeliya1;
        TGroupBox *GroupBox1;
        TButton *Button1;
        TButton *Button2;
        TButton *Button3;
        TButton *Button4;
        TButton *Button5;
        TEdit *Edit1;
        TGroupBox *GroupBox2;
        TLabel *Label1;
        TADOQuery *QCreate;
        TPanel *Panel1;
        TDataSource *DSMash;
        TADOTable *TMash;
        TButton *Button11;
        TPanel *Panel4;
        TQuickRep *QuickRep1;
        TQRLabel *QRLabel6;
        TQRLabel *QRLabel7;
        TQRLabel *QRLabel8;
        TQRLabel *QRLabel9;
        TQRLabel *QRLabel10;
        TQRBand *DetailBand1;
        TQRBand *ColumnHeaderBand1;
        TQRDBText *QRDBText1;
        TQRDBText *QRDBText2;
        TQRDBText *QRDBText3;
        TQRDBText *QRDBText4;
        TQRDBText *QRDBText5;
        TQRLabel *QRLabel1;
        TLabel *Label3;
        TQRShape *QRShape9;
        TQRLabel *QRLabel2;
        TQRDBText *QRDBText6;
        TQRShape *QRShape1;
        TQRShape *QRShape2;
        TQRShape *QRShape3;
        TQRShape *QRShape4;
        TQRShape *QRShape5;
        TADOTable *TSpisok;
        TADOTable *TTemp;
        TQRShape *QRShape7;
        TQRShape *QRShape8;
        TQRShape *QRShape10;
        TQRShape *QRShape11;
        TQRShape *QRShape12;
        TQRShape *QRShape13;
        TPanel *Panel2;
        TLabel *Label4;
        TDBGrid *DBGrid2;
        TGroupBox *GroupBox4;
        TLabel *Label6;
        TLabel *Label7;
        TLabel *Label8;
        TLabel *Label10;
        TLabel *Label5;
        TLabel *Label9;
        TLabel *Label13;
        TLabel *Label14;
        TLabel *Label15;
        TLabel *Label16;
        TEdit *EOTMET;
        TEdit *EPRIM;
        TEdit *EZAVN;
        TComboBox *ENCH;
        TComboBox *ENAIM;
        TButton *Button7;
        TButton *Button6;
        TButton *Button8;
        TButton *Button12;
        TButton *Button14;
        TButton *Button15;
        TDBNavigator *DBNavigator1;
        TButton *Button13;
        TButton *Button16;
        TPanel *Panel3;
        TImage *Image1;
        TGroupBox *GroupBox3;
        TLabel *Label11;
        TLabel *Label12;
        TLabel *Label2;
        TButton *Button10;
        TButton *Button9;
        TEdit *Edit2;
        TEdit *Edit3;
        TCheckBox *CheckBox1;
        TADOQuery *QSearch;
        TButton *Button17;
        TButton *Button18;
        TGroupBox *GroupBox5;
        TButton *Button19;
        TGroupBox *GroupBox6;
        TButton *Button20;
        TButton *Button21;
        TButton *Button22;
        TButton *Button23;
        TButton *Button24;
        TQRShape *QRShape6;
        TQRSysData *QRSysData1;
        TGroupBox *GroupBox8;
        TButton *Button25;
        TADOQuery *TIzdeliya;
        TLabel *Label17;
        TEdit *Edit4;
        TButton *Button26;
        TGroupBox *GroupBox7;
        TLabel *Label18;
        TLabel *Label19;
        TDateTimePicker *DateTimePicker1;
        TTimer *Timer1;
        TLabel *Label20;
        TLabel *Label21;
        TLabel *Label22;
        TLabel *Label23;
        TEdit *Edit5;
        TButton *Button27;
        TLabel *Label24;
        TButton *Button28;
        TGroupBox *GroupBox9;
        TRadioButton *RadioButton1;
        TRadioButton *RadioButton2;
        TRadioButton *RadioButton3;
        TRadioButton *RadioButton4;
        TRadioButton *RadioButton5;
        TButton *Button29;
//        void __fastcall N2Click(TObject *Sender);
        void __fastcall Button1Click(TObject *Sender);
        void __fastcall Button3Click(TObject *Sender);
        void __fastcall Button5Click(TObject *Sender);
        void __fastcall Button2Click(TObject *Sender);
        void __fastcall Button4Click(TObject *Sender);
//        void __fastcall Button6Click(TObject *Sender);
//        void __fastcall GroupBox4Click(TObject *Sender);
        void __fastcall Button7Click(TObject *Sender);
        void __fastcall Button6Click(TObject *Sender);
        void __fastcall Button8Click(TObject *Sender);
        void __fastcall Button9Click(TObject *Sender);
        void __fastcall Button10Click(TObject *Sender);
        void __fastcall CheckBox1Click(TObject *Sender);
        void __fastcall Button11Click(TObject *Sender);
        void __fastcall Button12Click(TObject *Sender);
        void __fastcall Button13Click(TObject *Sender);
        void __fastcall Button14Click(TObject *Sender);
        void __fastcall Button15Click(TObject *Sender);
        void __fastcall ENCHSelect(TObject *Sender);
        void __fastcall Button16Click(TObject *Sender);
        void __fastcall Button17Click(TObject *Sender);
        void __fastcall Button18Click(TObject *Sender);
        void __fastcall Button20Click(TObject *Sender);
        void __fastcall Button21Click(TObject *Sender);
        void __fastcall Button22Click(TObject *Sender);
        void __fastcall Button23Click(TObject *Sender);
        void __fastcall Button24Click(TObject *Sender);
        void __fastcall Button19Click(TObject *Sender);
        void __fastcall Button25Click(TObject *Sender);
        void __fastcall Button26Click(TObject *Sender);
        void __fastcall Timer1Timer(TObject *Sender);
        void __fastcall Button27Click(TObject *Sender);
        void __fastcall Button28Click(TObject *Sender);
        void __fastcall RadioButton1Click(TObject *Sender);
        void __fastcall RadioButton2Click(TObject *Sender);
        void __fastcall RadioButton3Click(TObject *Sender);
        void __fastcall RadioButton4Click(TObject *Sender);
        void __fastcall RadioButton5Click(TObject *Sender);
        void __fastcall Button29Click(TObject *Sender);
//        void __fastcall Button6Click(TObject *Sender);
//        void __fastcall FormCreate(TObject *Sender);
private:    // User declarations
public:     // User declarations
        __fastcall TForm1(TComponent* Owner);
        void __fastcall OnApplicationMessage(TMsg & Msg, bool & Handled);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Форма называется Form1
Sasha
 Аватар для Sasha
4776 / 2250 / 201
Регистрация: 05.06.2008
Сообщений: 7,104
Записей в блоге: 3
28.08.2009, 14:26     DBGrid - прокрутка scroll #18
Цитата Сообщение от Sasha Посмотреть сообщение
Покажи как выглядит твой h-фаил с теми ошибками которые ты выложил

Добавлено через 25 минут
И имя формы желательно
Ну вот видна ошибка, вместо MainForm напиши своё имя формы оно у тебя Form1, а в h-файле всё правильно
4aynik
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
31.08.2009, 09:51  [ТС]     DBGrid - прокрутка scroll #19
Написал...

C++
1
2
3
4
5
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 Application->OnMessage = OnApplicationMessage;
}
Ошибка:
[C++ Error] Unit1.cpp(1051): E2171 Body has already been defined for function '_fastcall TForm1::TForm1(TComponent *)'

На эту строчку ругается:
: TForm(Owner)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2009, 10:10     DBGrid - прокрутка scroll
Еще ссылки по теме:

C++ Builder БД DBGrid
DBGRID C++ Builder БД
Прокрутка DBGrid-а колесиком мыши C++ Builder БД

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

Или воспользуйтесь поиском по форуму:
Sasha
 Аватар для Sasha
4776 / 2250 / 201
Регистрация: 05.06.2008
Сообщений: 7,104
Записей в блоге: 3
31.08.2009, 10:10     DBGrid - прокрутка scroll #20
Цитата Сообщение от 4aynik Посмотреть сообщение
Написал...

C++
1
2
3
4
5
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 Application->OnMessage = OnApplicationMessage;
}
Ошибка:
[C++ Error] Unit1.cpp(1051): E2171 Body has already been defined for function '_fastcall TForm1::TForm1(TComponent *)'

На эту строчку ругается:
: TForm(Owner)
Ты конструктор, тоже вручную пишешь чтоли?
Yandex
Объявления
31.08.2009, 10:10     DBGrid - прокрутка scroll
Ответ Создать тему
Опции темы

Текущее время: 13:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru