الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

dbgrids vertical scroll

مغلق
بدأه in4maTic في 22 مايو 2006 · 3 رد · 4,206 مشاهدة · في قسم الأكواد الفاعلة والنادرة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

إخواني الأعزاء!

هل هنالك من طريقة لإزالة الـ vertical scroll (شريط التدرج العمودي) من dbgrid معينة وذلك عند عدم الحاجة له...

أي بمعنى عندما تعرض الـ dbgrid عدداً من السجلات يكفي ارتفاعها الحالي لعرضها تماماً..... لا يظهر الـ vertical scroll...

ولكم جزيل الشكر...

المال في الغربة وطن والفقر في الوطن غربة

#2

في ال Dbgrid الموجود في صفحة Data Controls لا يمكن فعل ذلك الا اذا كنت تريد ان تعدل عليه و تصنع DbGrid من جديد

انا حاليا استخدم ادوات Developer Express و التي تحتوي على grid يحتوي على كل ما تريد من المميزات جميل جدا

و لكن له عيب واحد هو انه لا يدعم العربي اي ليس له خاصية RightToLeft

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3

السلام عليكم

http://www.swissdelphicenter.ch/torry/showcode.php?id=1880

وبالتوفيق ;)

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#4

يمكنك ايضا استخدام الكود التالي عند انشاء الفورم

procedure TForm1.FormCreate(Sender: TObject);
begin
ShowScrollBar(DBCtrlGrid1.Handle, SB_VERT, False);//to hide
ShowScrollBar(DBCtrlGrid1.Handle, SB_VERT, True);//to show
end;

او يمكنك استخدام الكود التالي

procedure TForm1.FormCreate(Sender: TObject);
begin
SetScrollRange(DbGrid1.Handle, SB_VERT, 0,0, True);
end;

او يمكنك استخدام الكود الموجود في موقع Torry و ذلك بعمل Class مشتق من TDBGrid

و الاكمال كما في الموقع

تم نقل الكود من الموقع torry الى هنا لكي تصبح مشاركة كاملة

type
  TNoScrollDBGrid = class(TDBGrid)
  private
	procedure WMNCCalcSize(var Msg: TMessage);
	  message WM_NCCALCSIZE;
  end;

procedure TNoScrollDBGrid.WMNCCalcSize(var Msg: TMessage);
const
  Scrollstyles = WS_VSCROLL or WS_HSCROLL;
var
  Style: Integer;
begin
  Style := GetWindowLong(Handle, GWL_STYLE);
  if (Style and Scrollstyles) <> 0 then
	SetWindowLong(Handle, GWL_STYLE, Style and not Scrollstyles);
  inherited;
end;

//This removes both scrollbars. If you want to remove only the vertical one
//change the scrollstyles constant accordingly.

شكرا للاخ Like Delphi على المساعدة فعلا كنت لا اعرفها

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

هذا الموضوع مغلق.

مواضيع مشابهة