Главная страница
    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.042 c
2-1167913674
Neket
2007-01-04 15:27
2007.01.21
Иконка Программы


15-1167220321
kroner
2006-12-27 14:52
2007.01.21
Регулярное выражение


2-1167212791
Elfenit
2006-12-27 12:46
2007.01.21
Помогите открыть RTF


8-1144257990
suharew
2006-04-05 21:26
2007.01.21
Запись экрана монитора


2-1167293326
Neket
2006-12-28 11:08
2007.01.21
Процессы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский