16-01-2022, 10:27 PM
(16-01-2022, 09:09 PM)Delphi4Us كتب : السلام عليكمالسلا عليكم
عند اضافة نصوص الى الاداة كومبوبكس مثلا تكون مثل :
طابعة ليزرية - 1500 دينار
معالج سيلرون 3000 - 800 دينار
محول كهرباء - 150 دينار
فكما تلاحظون كل جملة لها طول مختلف وغير متساوية
المطلوب جعلها بشكل متساوي مثل
طابعة ليزرية - 1500 دينار
معالج سيلرون 3000 - 800 دينار
محول كهرباء - 150 دينار
طبعا وجدت حل وكان طويل نوعا ما وهو بحساب طول الكلمات واضافة فراغات بحسب المسافة المطلوبة ولكني اذكر ان هناك دالة تقوم بذلك
اسمها على ما اعتقد Lcrlf او SpaceCtrl او شئ كهذا
والشيخ قوقل يرفظ ان يعطي اي نتيجة
جرب هذا لعله ينفع
كود :
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TComboBox) do
begin
Canvas.FillRect(Rect);
SetTextAlign(Canvas.Handle, TA_RIGHT);
Canvas.TextOut(Rect.Right - 4, Rect.Top, Items[Index]);
end;
end;TA_LEFT
TA_TOP الخ
وفقكم الله
الخوف من أي محاولة جديدة طريق حتمي للفشل.


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