تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 9 از 9

نام تاپيک: چرا رنگ باتون عادی عوض نمی شود ؟

  1. #1
    داره خودمونی میشه yaghoob1's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    PC , + Martial Arts +
    پست ها
    81

    پيش فرض چرا رنگ باتون عادی عوض نمی شود ؟

    با سلام.

    از دوستان یک سوال داشتم :
    چرا در دلفی رنگ فونت یک باتون عادی را تغییر می دهیم
    این تغییر اعمال نمی شود ؟ ( البته در اجرای برنامه )

    ممنون.

  2. #2
    حـــــرفـه ای مرد مباح's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    روي ميخ
    پست ها
    2,143

    پيش فرض

    اگه Repaint ویا Refresh کنی درست میشه

  3. #3
    داره خودمونی میشه yaghoob1's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    PC , + Martial Arts +
    پست ها
    81

    پيش فرض تغییر نمیکنه!!!

    اگه Repaint ویا Refresh کنی درست میشه


    با تشکر از شما باز هم تغییر نمیکنه

    هم از قسمت Properties باتون مربوطه رنگ فونت رو عوض
    کردم ( رنگ عوض شد ) در اجرا اعمال نشد ،

    و هم در قسمت کد باتون به اینصورت

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Button1.Font.Color:=ClRed;
    Button1.Repaint;
    Button1.Refresh;
    end;a




  4. #4
    پروفشنال hp1361's Avatar
    تاريخ عضويت
    Aug 2005
    پست ها
    514

    پيش فرض

    سلام

    از اسکینی چیزی استفاده نمیکنی؟

  5. #5
    داره خودمونی میشه yaghoob1's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    PC , + Martial Arts +
    پست ها
    81

    پيش فرض

    سلام.

    نه از اسکین یا چیز دیگر استفاده نمی کنم
    ورژن دلفی مورد استفاده من 7 است
    خودم هم تعجب کردم چون تو باتونهای نقشه بیتی
    ( BitBtn ) و باتون سرعتی (Speed Button )
    رنگ فونت باتون تغییر میکند ، بی هیچ مسئله ای.
    ولی تو باتون عادی نه.
    Last edited by yaghoob1; 05-12-2010 at 11:47.

  6. #6
    پروفشنال ebrahimjan's Avatar
    تاريخ عضويت
    Jan 2009
    محل سكونت
    Team A.s.A
    پست ها
    657

    پيش فرض

    سلام.


    نه از اسکین یا چیز دیگر استفاده نمی کنم
    ورژن دلفی مورد استفاده من 7 است
    خودم هم تعجب کردم چون تو باتونهای نقشه بیتی
    ( BitBtn ) و باتون سرعتی (Speed Button )
    رنگ فونت باتون تغییر میکند ، بی هیچ مسئله ای.
    ولی تو باتون عادی نه.
    براي من هم نشد من هم روش بالا رو انجام دادم ولي نشد نمي دونم مشكل از چيه؟

  7. این کاربر از ebrahimjan بخاطر این مطلب مفید تشکر کرده است


  8. #7
    حـــــرفـه ای مرد مباح's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    روي ميخ
    پست ها
    2,143

    پيش فرض

    من قبلا این کارو کردم.
    ولی الان دسترسی به سورس برنامه هام ندارم. ولی تا جایی که یادم هستش میشد. ولی یک کمی غیر عادی و سخت.
    Form.Refresh و Repain رو هم امتحان کن.

  9. این کاربر از مرد مباح بخاطر این مطلب مفید تشکر کرده است


  10. #8
    کاربر فعال آنتی‎ویروس و نرم‎افزارهای امنیتی M.Hashemi's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    کرمان - رفسنجان
    پست ها
    726

    پيش فرض

    با سلام
    من امتحان کردم نه Refresh کار کرد و نه Repaint (هم برای Button و هم برای Form)
    البته نگارشی که من استفاده میکنم Delphi XE است
    با تشکر

  11. #9
    داره خودمونی میشه yaghoob1's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    PC , + Martial Arts +
    پست ها
    81

    پيش فرض دلیل عوض نشدن رنگ باتونها

    با سلام

    خودم جواب مسئله را پیدا کردم.

    موضوع از این قراره که دلفی رنگ فونت و زمینه باتونها

    را تغییر میده ولی ویندوز مانع آن میشود .در حقیقت باتونهای

    استاندارد دلفی از کنترلهای مشترک ویندوز استفاده می کنند

    و برای تغییر رنگ فونت و زمینه باتونها بایستی به قسمت

    Control Panel -- Display Properties- Appearance- Windows and Buttons

    مراجعه نمود و گزینه Windows Classic Style را انتخاب نمود

    وسپس از قسمت

    Control Panel -- Display Properties- Appearance- Advanced-Item - 3d Objects

    رنگ فونت و زمینه باتون را تغییر داد.

    ولی متاسفانه این تغییر در قسمتهای دیگر پنجره های ویندوز تاثیر می گذارد



    بنابرین راه حل اصولی برای تغییر رنگ باتونها کار کردن با خود دلفی است :

    چند راه حل به شرح زیر است:


    1- استفاده از TPanel به عوض باتون :

    داخل روالهای MouseDown و MouseUp این تغییرات اعمال شود.


    procedure TForm1.Panel1MouseDown(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

    begin

    Panel1.BevelOuter := bvLowered;

    end;


    procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

    begin

    Panel1.BevelOuter := bvRaised;

    end;


    حال میتوان رنگ فونت و زمینه TPanelرا تغییر داد و از آن به بعوض باتون رنگی استفاده نمود



    2-استفاده از پیاده سازیهای گوناکون دیگر :

    فایل مربوطه از لینک زیر سه روش جداگانه ( مشابه هم ) را برای اعمال رنگ برای باتونها را ارائه می دهد.

    ( بایستی فایلها بعنوان Component نصب شوند و بعدا مورد استفاده واقع شوند. )

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مثال نمونه استفاده شده از مورد فوق

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    3- استفاده از BitBtn و Speed Button بعوض باتون معمولی


    Last edited by yaghoob1; 25-12-2010 at 22:12.

  12. 5 کاربر از yaghoob1 بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •