نمایش نتایج 1 تا 13 از 13

نام تاپیک: لیبل در ادیت Label in Edit

  1. #1
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    لیبل در ادیت Label in Edit

    با سلام
    من یه کومپوننت میخوام به شکل زیر داشته باشم.
    عددهای بزرگ قابل ویرایش توسط کاربر باشه و تکست کوچک هم که عنوانش هست.
    کسی از دوستان میتونه راهنمائیم کنه؟
    LabelEdit.jpg

  2. #2
    کاربر دائمی آواتار hamedjim
    تاریخ عضویت
    مهر 1393
    محل زندگی
    تهران
    پست
    140

    نقل قول: لیبل در ادیت Label in Edit

    فقط با استفاده از کامپوننت های پیش فرض دلفی، می تونید از TPanel استفاده کنید. یک پنل در فرم قرار بدید و داخل اون دو پنل دیگه ( یکی برای عنوانو یکی هم برای مقدار) قرار بدید و سایز فونت و سایر مشخصات رو تنظیم کنید

  3. #3
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: لیبل در ادیت Label in Edit

    سلام
    تشکر از راهنمائیتون
    اگه بخوام مقدارش رو ویرایش کنم باید با کلیک روی اون پنل یک ادیت باکس ظاهر کنم و مقدار بدم یا راه بهتری هم هست؟

  4. #4

    نقل قول: لیبل در ادیت Label in Edit

    سلام. می تونید اقدام به نوشتن کامپوننت کنید.
    اگر بلد هستید، شروع کنید و سوال های احتمالی تون رو بپرسید.
    اگر نه، دوستان هستند که با صرف کمی هزینه براتون بنویسند.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  5. #5
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: لیبل در ادیت Label in Edit

    اوکی. ممنون.

  6. #6
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: لیبل در ادیت Label in Edit

    با عرض سلام
    من روی این کومپوننت کار کردم و تا یه جاهای پیش رفتم.

    یه نگاه بندازید.
    unit MyControls;

    interface

    uses
    SysUtils,Classes,ExtCtrls,Controls,StdCtrls;

    type

    TMyBoundEdit = class (TEdit)
    private
    { Private-Deklarationen }
    function GetLeft :Integer;
    function GetTop :Integer;
    procedure SetLeft(const Value: Integer);
    procedure SetTop(const Value: Integer);
    procedure SetHeight(const Value: Integer);
    procedure SetWidth(const Value: Integer);
    // procedure OnExit(Sender: TObject);

    protected
    { Protected-Deklarationen }
    public
    constructor Create(AOwner: TComponent); override;
    { Public-Deklarationen }
    published
    property Top: Integer read GetTop write SetTop;
    property Left: Integer read GetLeft write SetLeft;
    { Published-Deklarationen }

    end;

    TMyBoundLabel = class (TLabel)
    private
    { Private-Deklarationen }
    function GetLeft :Integer;
    function GetTop :Integer;
    procedure SetLeft(const Value: Integer);
    procedure SetTop(const Value: Integer);
    protected
    { Protected-Deklarationen }
    public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    published
    property Top: Integer read GetTop write SetTop;
    property Left: Integer read GetLeft write SetLeft;
    { Published-Deklarationen }
    end;

    TMyBoundEditLabel = class (TLabel)
    private
    { Private-Deklarationen }
    function GetLeft :Integer;
    function GetTop :Integer;
    procedure SetLeft(const Value: Integer);
    procedure SetTop(const Value: Integer);
    protected
    { Protected-Deklarationen }
    public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    published
    property Top: Integer read GetTop write SetTop;
    property Left: Integer read GetLeft write SetLeft;
    { Published-Deklarationen }
    end;


    TMyLabelEdit = class (TWinControl)
    private
    { Private-Deklarationen }
    FMyEdit:TMyBoundEdit;
    FMyLabel:TMyBoundLabel;
    FMyEditText:TMyBoundEditLabel;
    protected
    { Protected-Deklarationen }
    procedure SetParent(AParent: TWinControl); override;
    // procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure SetName(const Value: TComponentName); override;
    public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    // destructor Destroy(AOwner: TComponent); override;
    published
    property fEdit: TMyBoundEdit read FMyEdit ;
    property fLabel: TMyBoundLabel read FMyLabel ;
    property fEditText: TMyBoundEditLabel read FMyEditText ;
    { Published-Deklarationen }
    end;


    procedure Register;

    implementation

    procedure Register;
    begin
    RegisterComponents('Farid Controls', [TMyLabelEdit]);
    end;

    constructor TMyBoundEdit.Create(AOwner: TComponent);
    begin
    inherited Create(AOwner);
    Name := 'SubEdit'; { do not localize }
    SetSubComponent(True);
    if Assigned(AOwner) then
    Text := AOwner.Name;
    end;

    procedure TMyBoundEdit.SetHeight(const Value: Integer);
    begin
    inherited height:= Value;
    end;

    procedure TMyBoundEdit.SetWidth(const Value: Integer);
    begin
    inherited width:= Value;
    end;

    procedure TMyBoundEdit.SetTop(const Value: Integer);
    begin
    inherited top:= Value ;
    end;

    procedure TMyBoundEdit.SetLeft(const Value: Integer);
    begin
    inherited left:=Value;
    end;

    function TMyBoundEdit.GetTop :Integer;
    begin
    Result := inherited Top ;
    end;

    function TMyBoundEdit.GetLeft :Integer;
    begin
    Result := inherited Left;
    end;

    {procedure TMyBoundEdit.OnExit(Sender: TObject);
    begin
    //FMyEdit.Caption := MyLabelEdit1.fEdit.Text;
    // Visible := false;
    end;}

    constructor TMyBoundEditLabel.Create(AOwner: TComponent);
    begin
    inherited Create(AOwner);
    Name := 'EditText'; { do not localize }
    SetSubComponent(True);
    if Assigned(AOwner) then
    Caption := AOwner.Name;

    end;

    function TMyBoundEditLabel.GetTop :Integer;
    begin
    Result := inherited Top;
    end;

    function TMyBoundEditLabel.GetLeft :Integer;
    begin
    Result := inherited Left;
    end;

    procedure TMyBoundEditLabel.SetTop(const Value: Integer);
    begin
    inherited top:= Value ;
    end;

    procedure TMyBoundEditLabel.SetLeft(const Value: Integer);
    begin
    inherited left:=Value;
    end;

    constructor TMyBoundLabel.Create(AOwner: TComponent);
    begin
    inherited Create(AOwner);
    try
    Name := 'SubLabel'; { do not localize }
    except
    Name := 'SubLabel2';
    end;
    SetSubComponent(True);
    if Assigned(AOwner) then
    Caption := AOwner.Name;
    end;

    function TMyBoundLabel.GetTop :Integer;
    begin
    Result := inherited Top;
    end;

    function TMyBoundLabel.GetLeft :Integer;
    begin
    Result := inherited Left;
    end;

    procedure TMyBoundLabel.SetTop(const Value: Integer);
    begin
    inherited top:= Value ;
    end;

    procedure TMyBoundLabel.SetLeft(const Value: Integer);
    begin
    inherited left:=Value;
    end;

    constructor TMyLabelEdit.Create(AOwner: TComponent);
    begin
    inherited Create(AOwner);
    if Assigned(FMyLabel) then exit;
    FMyLabel := TMyBoundLabel.Create(Self);
    //Width := 125;
    FMyLabel.FreeNotification(Self);

    if Assigned(FMyEditText) then exit;
    FMyEditText := TMyBoundEditLabel.Create(Self);
    FMyEditText.top := 15;
    FMyEditText.font.Size := 14;
    // FMyEditText.Font.Style := [TFontStyle.fsBold]
    FMyEditText.Anchors := [akLeft,akBottom,akRight];
    FMyEditText.FreeNotification(Self);

    if Assigned(FMyEdit) then exit;
    FMyEdit := TMyBoundEdit.Create(Self);
    FMyEdit.Top := 15;
    FMyEdit.Visible := False;
    FMyEdit.font.Size := 14;
    //FMyEdit.Font.Style := [fsBold];
    FMyEdit.Anchors := [akLeft,akBottom,akRight];
    FMyEdit.FreeNotification(Self);

    end;

    {procedure TMyLabelEdit.Notification(AComponent: TComponent;
    Operation: TOperation);
    begin
    inherited Notification(AComponent, Operation);
    if (AComponent = FMyLabel) and (Operation = opRemove) then
    FMyLabel := nil;
    end; }

    procedure TMyLabelEdit.SetName(const Value: TComponentName);
    begin
    if (csDesigning in ComponentState) and ((FMyLabel.GetTextLen = 0) or
    (CompareText(FMyLabel.Caption, Name) = 0)) then
    begin
    FMyLabel.Caption := Value;
    FMyEdit.Text := Value;
    FMyEditText.Caption := Value;
    end;
    inherited SetName(Value);
    end;

    procedure TMyLabelEdit.SetParent(AParent: TWinControl);
    begin
    inherited SetParent(AParent);
    if FMyEdit = nil then exit;
    FMyEdit.Parent := self; // AParent;
    FMyEdit.Visible := True;

    if FMyLabel = nil then exit;
    FMyLabel.Parent := self; // AParent;
    FMyLabel.Visible := True;

    if FMyEditText = nil then exit;
    FMyEditText.Parent := self; // AParent;
    FMyEditText.Visible := True;

    end;

    initialization

    finalization


    end.

    ==================

    procedure TForm1.OnExit1(Sender: TObject);
    begin
    (sender as TMyBoundEdit).Visible := False;
    (((sender as TMyBoundEdit).Parent) as TMyLabelEdit).fEditText.Caption :=
    (sender as TMyBoundEdit).text;
    end;

    procedure TForm1.OnDblClick1(Sender: TObject);
    begin
    (((sender as TMyBoundEditLabel).Parent) as TMyLabelEdit).fEdit.Visible := True;
    end;

    ========================





    الان اگه بخوام دو بخش بعد از End. رو در رویداد OnDblClick EditText و OnExit Edit اضافه کنم باید چطور بنویسم؟

  7. #7
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: لیبل در ادیت Label in Edit

    موقع خروج از برنامه هم که خطا میده.
    اساتید لطفا راهنمایی بفرمائید.

  8. #8
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: لیبل در ادیت Label in Edit

    یادش بخیر

    قدیما هیچ سوالی تو این سایت بی جواب نمی موند.
    اما الان خیلی تغییر کرده.

  9. #9

    Thumbs up نقل قول: لیبل در ادیت Label in Edit

    نقل قول نوشته شده توسط seyed_farid مشاهده تاپیک
    با سلام
    من یه کومپوننت میخوام به شکل زیر داشته باشم.
    عددهای بزرگ قابل ویرایش توسط کاربر باشه و تکست کوچک هم که عنوانش هست.
    کسی از دوستان میتونه راهنمائیم کنه؟
    LabelEdit.jpg
    شما می تونید با استفاده از دو کامپوننت پیش فرض دلفی این کارو به راحتی انجام بدید
    به فایل ضمیمه مراجعه کنید
    فایل های ضمیمه فایل های ضمیمه

  10. #10
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: لیبل در ادیت Label in Edit

    سلام
    ممنون از راهنماییتون.
    جالب بود.
    آیا راهی هم برای وسط‌چین کردن ادیت باکس وجود داره؟

  11. #11
    کاربر دائمی آواتار hamedjim
    تاریخ عضویت
    مهر 1393
    محل زندگی
    تهران
    پست
    140

    نقل قول: لیبل در ادیت Label in Edit


    Edit1.Alignment:= taCenter

  12. #12
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: لیبل در ادیت Label in Edit

    ممنونم. ولی روی ورژن 7 دلفی Alignment برای ادیت وجود ندارد.
    راه دیگه‌ای براش نیست؟

  13. #13
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: لیبل در ادیت Label in Edit

    اینطور حل شد.
    میشه اینو تبدیل کنیم به یه کومپوننت که همه رو با هم داشته باشه؟ New comp.rar

تاپیک های مشابه

  1. پاسخ: 2
    آخرین پست: جمعه 04 دی 1394, 09:10 صبح
  2. سوال: درج و ویرایش متن label در زمان اجرا برنامه (متنند edit)
    نوشته شده توسط idehrayan در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: شنبه 04 بهمن 1393, 16:04 عصر
  3. سوال: پیدا کردن tag یک label از تعداد نامشخصی از label
    نوشته شده توسط mthreat.info در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 25 آذر 1392, 11:09 صبح
  4. سوال: کلیک روی دکمه Edit و بردن FormView به مد Edit ?
    نوشته شده توسط odiseh در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: پنج شنبه 20 مرداد 1390, 09:19 صبح
  5. یک edit با قابلیت جدا کردن سه رقمی اعداد
    نوشته شده توسط mortezakiaee در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: چهارشنبه 10 بهمن 1386, 01:11 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •