Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Вниз

Подскажите как сделать DBGrid без скролов   Найти похожие ветки 

 
KyRo   (2006-12-25 10:41) [0]

Подскажите как избавить грид от скролбаров.

Я пытаюсь перекрыть метод пейнт вот таким способом

unit NoScrollDBGrid;

interface

uses
 SysUtils, Classes, Controls, Grids, DBGrids,windows;

type
 TNoScrollDBGrid = class(TDBGrid)
 private
   { Private declarations }
 protected
    procedure Paint; override;
   { Protected declarations }
 public
   { Public declarations }
 published
   { Published declarations }
 end;

procedure Register;

implementation

procedure TNoScrollDBGrid.Paint;
begin
 SetScrollRange(Handle, SB_HORZ, 0, 0, false);
 SetScrollRange(Handle, SB_VERT, 0, 0, false);
 inherited;
end;

procedure Register;
begin
 RegisterComponents("Samples", [TNoScrollDBGrid]);
end;

end.


Таким образом у меня получилось избавится от вертикального скрола , а от горизонтального нет !!

Подскажите как убрать горизонтальный скрол ?


 
Desdechado ©   (2006-12-25 12:55) [1]

     EnableScrollBar( gridAbTerms.Handle, SB_VERT, ESB_DISABLE_BOTH );
     ShowScrollBar( gridAbTerms.Handle, SB_VERT, False );


 
KyRo   (2006-12-25 13:31) [2]

Да помогло скролы убрались но при этом появилось какое то неприятное мерцание компонента во время пролистывания записей !!
Можно ли как то его убрать ?


 
allrussia ©   (2006-12-25 16:16) [3]

KyRo  
попробуй
DBGrid1.DoubleBuffered:=true;


 
KyRo   (2006-12-25 16:36) [4]


> allrussia ©   (25.12.06 16:16) [3]
> KyRo  
> попробуй
> DBGrid1.DoubleBuffered:=true;


Помогло спасибо .
Но появился еще один вопрос !
Когда быстро пролистываеш список записей в гриде то все равно видно скрол ! Он сначала прорисовывается , а потом исчезает , но все это он делает очень быстро.
Можно ли сделать так что бы грид вообще его не рисовал ?


 
allrussia ©   (2006-12-25 19:57) [5]

KyRo

poprobui sleduuschee:

V papke Delphi\Source\Vcl vozmi fail
Grids.pas naidi tam strochku
FScrollBars := ssBoth;
pereimenui ee v
FScrollBars := ssNone;
i sohrani Grids.pas v papku
Delphi\Lib

teper tebe uzhe ne nado budet vse chto ranshe tut pisali Desdechado i ya


 
rar ©   (2006-12-25 20:34) [6]

Попробуй так

TNewDBGrid(DBGRidFind).ScrollBars:=ssVertical;


 
KyRo   (2006-12-27 17:23) [7]


> poprobui sleduuschee:
>
> V papke Delphi\Source\Vcl vozmi fail
> Grids.pas naidi tam strochku
> FScrollBars := ssBoth;
> pereimenui ee v
> FScrollBars := ssNone;
> i sohrani Grids.pas v papku
> Delphi\Lib
>
> teper tebe uzhe ne nado budet vse chto ranshe tut pisali
> Desdechado i ya


Это конечно хорошо . Но так у меня вообще не в каком гриде их не будет , а мне надо в некоторых !


 
Desdechado ©   (2006-12-27 18:20) [8]

я [1] делал после открытия датасета
при этом не замечал, чтобы моргало


 
allrussia ©   (2006-12-28 00:17) [9]

KyRo   (27.12.06 17:23) [7]

Это конечно хорошо . Но так у меня вообще не в каком гриде их не будет , а мне надо в некоторых !

Тебе же Desdechado уже писал:
в каких надо делаешь
ShowScrollBar( dbgrid1.Handle, SB_BOTH, True )


 
KyRo   (2006-12-28 11:11) [10]


> Desdechado ©   (27.12.06 18:20) [8]
> я [1] делал после открытия датасета
> при этом не замечал, чтобы моргало


Если быстрор прокручивать то получается что грид сначала рисует скрол , а потом его убирает. Это происходит быстро но если пролистывать большой набор данных то это видно !


 
Desdechado ©   (2006-12-28 11:23) [11]

Я и на больших пробовал на слабых машинах.
Но я не понимаю, зачем "быстро прокручивать большой набор данных"?
Зачем он тогда большой? Только чтобы прокручивать?
Не проще ли ограничить до читаемого размера?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
4-1157661073
aleko
2006-09-08 00:31
2007.01.21
перехват WM_SPOOLERSTATUS под ХР


11-1144151482
BaryVetaL
2006-04-04 15:51
2007.01.21
Новый компонент BVLedNumber


2-1167757954
zol
2007-01-02 20:12
2007.01.21
заблокировать(запретить) ввод в TEdit


2-1166697532
nickhilo
2006-12-21 13:38
2007.01.21
Линейка как в Word е.


15-1167137406
AntiUser
2006-12-26 15:50
2007.01.21
Разработчики Firefox не смогли устранить ошибки при работе в ...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский