![]() |
|
تلوين خلية في SringGrid؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : تلوين خلية في SringGrid؟ (/showthread.php?tid=10844) الصفحات:
1
2
|
تلوين خلية في SringGrid؟ - ALG2009 - 26-05-2020 السلام عليكم كيف يمكن عند الضغط على زر (Button) يتم تلوي خلية في الـ StringGrid كود : Procedure TForm3.Button1Click(Sender: TObject);
Var
begin
StringGrid1.Cells[aCol, aRow] := clLime;
;end;لا أدري لماذا يجب أن يكون الكود في StringGrid1DrawCell و إلا لن يعمل RE: تلوين خلية في SringGrid؟ - sofiane201 - 26-05-2020 لأنه الحدث المسؤول عن رسم الخلايا في المكون, الحدث تقريبا في مناداة دائمة كل ضغطة بالفارة او انتقال من خلية الى خلية اخرى يتم استدعاء الحدث OnDrawCell, لا يمكن التلوين من خلال دالة خارجية لان فيه شغل كبير فستحتاج للتلوين كل ما تعاملت مع stringgrid. PHP كود : procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;RE: تلوين خلية في SringGrid؟ - ALG2009 - 26-05-2020 (26-05-2020, 06:26 PM)sofiane201 كتب : لأنه الحدث المسؤول عن رسم الخلايا في المكون, الحدث تقريبا في مناداة دائمة كل ضغطة بالفارة او انتقال من خلية الى خلية اخرى يتم استدعاء الحدث OnDrawCell, لا يمكن التلوين من خلال دالة خارجية لان فيه شغل كبير فستحتاج للتلوين كل ما تعاملت مع stringgrid. جزاك الله خير ولكن عندي زر به كود ومن ظمن الكود يتحقق من تكرار الخلايا في StringGrid فإذا تكررت الخلية يقوم بتلوينها أي الكود ظمن الـزر (Button) فكيف يمكن عمل ذلك يعني لا يوجد حل؟ RE: تلوين خلية في SringGrid؟ - sofiane201 - 26-05-2020 يمكنك عمل أي شيء يتعلق بمظهر الخلايا في الحدث OnDrawCell ارفق مثال حتى نرى RE: تلوين خلية في SringGrid؟ - ALG2009 - 26-05-2020 هذا الكود يتأكد من تكرار الخلية ولكن لا يقوم بتلوينها كود : procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
for i:=1 to StringGrid1.rowcount-1;
for j:=i+1 to StringGrid1.rowcount-1;
if StringGrid1.Cells[2, i]=StringGrid1.Cells[2, j];
StringGrid1.Canvas.Brush.Color:= clLime;
end;ما الحل لم يقم بالتلوين RE: تلوين خلية في SringGrid؟ - medreg - 26-05-2020 السلام عليكم ورحمة الله تعالى وبركاته هل من كود لتلوين خلية في DBGrid حسب شرط معين بمعنى اذا كانت قيمة الحقل " name " تساوي " x " إذًا لون الخلية يكون مثلا اصفر RE: تلوين خلية في SringGrid؟ - sofiane201 - 26-05-2020 PHP كود : procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;RE: تلوين خلية في SringGrid؟ - ALG2009 - 26-05-2020 بارك الله فيك ولكن هذا الكود سيظر بمجرد تشغيل البرنامج وانا اريده بعد ضغط الزر الذي سيقوم بالبحث على التكرار في حالة الضغط عليه على حسب قولك لا يمكن تلوين الخلية بضغط الزر RE: تلوين خلية في SringGrid؟ - sofiane201 - 26-05-2020 طريقة ليست جيدة لكن تفي بالغرض لانه ليس لدي الوقت, وهو الاحتفاظ بالحدث في متغير واعادة تعيينه عند الحاجة مثال ضع على الفورم TCheckBox ثم في الحدث OnClick الخاص به, احتفظ بحدث stringgrid في متغير ثم عينه ان كان TCheckBox في حالة checked PHP كود : procedure TForm1.CheckBox1Click(Sender: TObject);RE: تلوين خلية في SringGrid؟ - medreg - 26-05-2020 بارك الله فيكم الكود يخص stringGrid لكن المطلوب الكود الذي يخص DBGrid |