ورود

View Full Version : سوال: جلوگیری از نمایش اسکرول در دی بی گرید



nilidelphi
سه شنبه 09 مهر 1392, 13:27 عصر
سلام
دوستان یه کمکی میخواستم بکنید
من برای نمایش دیتا از DBGrid استفاده میکنم
ولی میخوام که اسکرول (چه افقی و چه عمودی) بصورت خودکار در دی بی گرید نتمایش داده نشود

اگه میشه کسی کمک کنه. به دلایلی هم نمیتونم از کامپوننت دیگه ای استفاده کنم

با تشکر

hossein_h62
سه شنبه 09 مهر 1392, 14:57 عصر
سلام
اینها رو یه چکی بکن لطفا :
ShowScrollBar (DBGrid1.Handle, SB_HORZ, False);
ShowScrollBar (DBGrid1.Handle, SB_VERT, False);
ShowScrollBar (DBGrid1.Handle, SB_BOTH, False);

nilidelphi
پنج شنبه 11 مهر 1392, 06:49 صبح
با سلام و تشکر
آقا جواب نداد بازم نمایش داده میشه

راه دیگه ای نیست؟

یوسف زالی
پنج شنبه 11 مهر 1392, 11:26 صبح
1- اشتقاق یک کامپوننت از گرید
2- هک گرید

روش دو (البته من تونستم افقی ش رو بردارم، احتمالا با کمی وقت عمودی هم برداشته می شه)

یک یونیت با این محتوا درست کنید:


unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids;

type
THackedDBGrid = class(TDBGrid);

TDBGrid = class(THackedDBGrid)
public
constructor Create(AOwner: TComponent); override;
end;

implementation

{ TDBGrid }

constructor TDBGrid.Create(AOwner: TComponent);
begin
inherited;

ScrollBars := ssNone;
end;

end.


بعد در یونیت هایی که از گرید استفاده کردید، "دقیقا بعد از DBGrids در USES" (فرقی نمی کنه چقدر بعد) اسم یونیتی که الان نوشتید رو بیارید.
خواهید دید که در ران تایم کامپوننتتون تغییر خواهد کرد.

موفق باشید.