با سلام.
از دوستان یک سوال داشتم :
چرا در دلفی رنگ فونت یک باتون عادی را تغییر می دهیم
این تغییر اعمال نمی شود ؟ ( البته در اجرای برنامه )
ممنون.
با سلام.
از دوستان یک سوال داشتم :
چرا در دلفی رنگ فونت یک باتون عادی را تغییر می دهیم
این تغییر اعمال نمی شود ؟ ( البته در اجرای برنامه )
ممنون.
اگه Repaint ویا Refresh کنی درست میشه
با تشکر از شما باز هم تغییر نمیکنه
هم از قسمت Properties باتون مربوطه رنگ فونت رو عوض
کردم ( رنگ عوض شد ) در اجرا اعمال نشد ،
و هم در قسمت کد باتون به اینصورت
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Font.Color:=ClRed;
Button1.Repaint;
Button1.Refresh;
end;a
سلام.
نه از اسکین یا چیز دیگر استفاده نمی کنم
ورژن دلفی مورد استفاده من 7 است
خودم هم تعجب کردم چون تو باتونهای نقشه بیتی
( BitBtn ) و باتون سرعتی (Speed Button )
رنگ فونت باتون تغییر میکند ، بی هیچ مسئله ای.
ولی تو باتون عادی نه.
Last edited by yaghoob1; 05-12-2010 at 11:47.
براي من هم نشد من هم روش بالا رو انجام دادم ولي نشد نمي دونم مشكل از چيه؟
من قبلا این کارو کردم.
ولی الان دسترسی به سورس برنامه هام ندارم. ولی تا جایی که یادم هستش میشد. ولی یک کمی غیر عادی و سخت.
Form.Refresh و Repain رو هم امتحان کن.
با سلام
من امتحان کردم نه Refresh کار کرد و نه Repaint (هم برای Button و هم برای Form)
البته نگارشی که من استفاده میکنم Delphi XE است
با تشکر
با سلام
خودم جواب مسئله را پیدا کردم.
موضوع از این قراره که دلفی رنگ فونت و زمینه باتونها
را تغییر میده ولی ویندوز مانع آن میشود .در حقیقت باتونهای
استاندارد دلفی از کنترلهای مشترک ویندوز استفاده می کنند
و برای تغییر رنگ فونت و زمینه باتونها بایستی به قسمت
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.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)