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

توسيط النص داخل أداة Edit

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

السلام عليكم ورحمة الله وبركاته

هل بالامكان توسيط المؤشر حيث يكون وسط الEdit لاني اذا كتبت وجدت المؤشر جهة اليمين ؟

460.gif

#2

ال TEdit لا يوجد به خاصية تسمى Alignment لكن يمكنك اضافتها بسهولة من خلال اشتقاقها من صنف ال TEdit، وهذا مثال لمكون جديد به هذه الخاصية

unit mnEdit;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Windows;

type
  TmnEdit = class(TEdit)
  private
    FAlignment: TAlignment;
    procedure SetAlignment(Value: TAlignment);
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  public
    property Alignment: TAlignment read FAlignment write SetAlignment;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('mnEdit', [TmnEdit]);
end;

{ TmnEdit }

procedure TmnEdit.CreateParams(var Params: TCreateParams);
const
  Alignments : array[TAlignment] of LongWord= (ES_Left,ES_Right, ES_Center);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or Alignments[FAlignment];
end;

procedure TmnEdit.SetAlignment(Value: TAlignment);
begin
  if FAlignment <> Value then
  begin
    FAlignment := Value;
    RecreateWnd;
  end;
end;

end.

ايضا هناك طريقة اخرى وهي ان تقوم بتعريف TEdit مرة اخرى مثلا ضمن النموذج الذى تستخدمه وهذه سوف يقوم بعمل override للنسخة الموجودة ضمن دلفي وسوف تضاف الخاصية تلقائياً ل Tedit ولن تحتاج لاضافة مكون جديد

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

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

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