السلام عليكم ورحمة الله
ربما قراتم انني قلت في موضوع انني اخاطب امبركاديرو دائما لتحديث حزمة الـ VCL القديمة
هذه الحزمة التي توارتثها الكثير من المكونات بنقصها وعيوبها مثل مكونات StyleControls و مكونات كثيرة أخرى
فأي مكون تجده يرث مثلا
او
فغالبا ستجده ورث كذلك العيوب ايضا ولم يعالجها ، بينما بعض المكونات عالجت المشكلة مثل مكونات Devexpress وايضا AlphaControl ومكونات اخرى
الان لدينا مشروع استئصال هذا المرض من هذه المكونات ولن نعتمد على امبركاديرو
لدينا الكثير من العمليات الجراحية على العديد من المكونات ولكن سوف نبداء بمكون DBGrid وايضا Tedit وبعدها سوف نرى Tdate
NewStanderedVcl.rar (الحجم : 6.1 ك ب / التحميلات : 16)
وبداية عملت المشروع واضفت له بعض الخصائص مثلا في المكون Tedit اضفت الخاصية VerticalAlignment لمعالجة وضع النص بحال كان المكون ارتفاعه اكثر من المعدل الطبيعي ويحتاج الى البحث اكثر ولا تعمل حتى الان هذه الخاصية بالشكل المطلوب
وايضا اضفت للمكون DBGrid الخاصية DefaultRowHeight وهي تعمل جيدا فقط تحتاج الى بعض التعديلات
والان كل من يمر من هنا فليعالج ما يمكن علاجه وبالمشاركة من الجميع سوف نحل مشكلة هذه الحزمة
عندما كتبت هذا المشروع حصل ظرف وخرجت من المنزل ورفعت المشروع حيث وصلت
ولهذا سوف تلاحظون ان ارتفاع الخلايا سوف يعود الى الارتفاع الافتراضي لهذا يجب التغيير الى هذا الكود للحفاظ على القيمة
ربما قراتم انني قلت في موضوع انني اخاطب امبركاديرو دائما لتحديث حزمة الـ VCL القديمة
هذه الحزمة التي توارتثها الكثير من المكونات بنقصها وعيوبها مثل مكونات StyleControls و مكونات كثيرة أخرى
فأي مكون تجده يرث مثلا
كود :
type
TNewEdit = class(TEdit)او
كود :
type
TNewDBGrid = class(TDBGrid)فغالبا ستجده ورث كذلك العيوب ايضا ولم يعالجها ، بينما بعض المكونات عالجت المشكلة مثل مكونات Devexpress وايضا AlphaControl ومكونات اخرى
الان لدينا مشروع استئصال هذا المرض من هذه المكونات ولن نعتمد على امبركاديرو
لدينا الكثير من العمليات الجراحية على العديد من المكونات ولكن سوف نبداء بمكون DBGrid وايضا Tedit وبعدها سوف نرى Tdate
NewStanderedVcl.rar (الحجم : 6.1 ك ب / التحميلات : 16)
وبداية عملت المشروع واضفت له بعض الخصائص مثلا في المكون Tedit اضفت الخاصية VerticalAlignment لمعالجة وضع النص بحال كان المكون ارتفاعه اكثر من المعدل الطبيعي ويحتاج الى البحث اكثر ولا تعمل حتى الان هذه الخاصية بالشكل المطلوب
وايضا اضفت للمكون DBGrid الخاصية DefaultRowHeight وهي تعمل جيدا فقط تحتاج الى بعض التعديلات
والان كل من يمر من هنا فليعالج ما يمكن علاجه وبالمشاركة من الجميع سوف نحل مشكلة هذه الحزمة
عندما كتبت هذا المشروع حصل ظرف وخرجت من المنزل ورفعت المشروع حيث وصلت
ولهذا سوف تلاحظون ان ارتفاع الخلايا سوف يعود الى الارتفاع الافتراضي لهذا يجب التغيير الى هذا الكود للحفاظ على القيمة
كود :
unit DBGrid1;
interface
uses
System.SysUtils, System.Classes, Vcl.Controls, Vcl.Grids, Vcl.DBGrids;
type
TMyDBGrid = class(TDBGrid);
type
TNewDBGrid = class(TDBGrid)
private
FDefaultRowHeight:Integer;
protected
procedure SetDefaultRowHeight(const Value: Integer);
procedure Paint; override;
public
constructor Create(AOwner: TComponent); override;
published
property DefaultRowHeight: Integer read FDefaultRowHeight write SetDefaultRowHeight default 21;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TNewDBGrid]);
end;
{ TNewDBGrid }
constructor TNewDBGrid.Create(AOwner: TComponent);
begin
inherited;
FDefaultRowHeight := 21;
TMyDBGrid(self).DefaultRowHeight := 21;
end;
procedure TNewDBGrid.Paint;
begin
inherited;
if TMyDBGrid(self).DefaultRowHeight <> FDefaultRowHeight then
TMyDBGrid(self).DefaultRowHeight := FDefaultRowHeight;
end;
procedure TNewDBGrid.SetDefaultRowHeight(const Value: Integer);
begin
if FDefaultRowHeight <> Value then begin
FDefaultRowHeight := Value;
TMyDBGrid(self).DefaultRowHeight := FDefaultRowHeight;
end;
end;
end.
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)