مشاهده نسخه کامل
: رنگselect شده
--------------------------------------------------------------------------------
وقتی ایتمی را در داخل لیست باکس انتخاب می کنیم به رنگ ابی انتخاب شده ومتن داخل ان به رنگ سفید است چطور میشه این رنگ را عوض کرد
فکر کنم با SetSysColors بشه ولی نمی دانم چطوری
--------------------------------------------------------------------------------
وقتی ایتمی را در داخل لیست باکس انتخاب می کنیم به رنگ ابی انتخاب شده ومتن داخل ان به رنگ سفید است چطور میشه این رنگ را عوض کرد
فکر کنم با SetSysColors بشه ولی نمی دانم چطوری
سلام
اینها رنگهای رلخواه نیستن. همون رنگی هست که
ویندوز استفاده میکنه. برای مثال اگر ویندوز اکس پی داشته باشی.
و استایل آبی انتخاب باشه. اون هم آبی میشه.
اگر استایل نقره ای رو انتخاب کنی. اون هم نقره ای میشه.
بای
homayoun_delphi
01-01-2007, 06:58
یک روشی می تونم پیشنهاد کنم که لیست باکست در زمان اجرا رنگ مورد علاقه ات باشه
البته شاید این راه مناسبت نباشه چون باید اون رو تو event لیست باکست قسمت OnMouseMove بنویسی
و باز در همین رویداد form دوباره به خالت اول در بیاریش چون این رنگ دلخواهت رو که تو فقط برای لیست باکست
می خواهی رو برای ویندوزت انتخاب می کنه
با استفاده از دستور API مربوط به تغییر رنگهای ویندوز
setSysColors(CElements : integer , constElements
که
ipaelements نام نام قسمتی است که میخواهی رنگش رو عوض کنی که این پارمتر نام آرایه ای است که به ترتیب در خانه 1 تا n آن مقدار قسمت یا قسمتهایی که می خواهیم رنگش را تغییر دهیم
البته من فکر کنم پارامترش color_DEsktop باشه ولی خودم تستش نکردم !!!
ipargbvalues هم نام رنگ جدید است
homayoun_delphi
02-01-2007, 20:45
دوست عزیز این کد را واست می گذارم امیدوارم کمکت کنه ولی اگه مشکلی پیدا کردی بگو در خدمتت هستم
procedure TForm1.Button1Click(Sender: TObject);
var
color ,colorvalue : integer;
begin
color:=COLOR_WINDOWTEXT;
colorvalue := RGB(1,1,200);
SetSysColors(1,color,colorvalue);
end;
color را نوع تغییر رنگ object مورد نظر است که البته با زدن ctrl+space می تونی بقیه اش رو هم ببینی
colorvalue هم رنگ مورد نظرت است که می تونی در قسمت رنگ paint ویندوز و یا هر برنامه گرافیکی دیگه بدست بیاری که البته دقت کن که اعداد باید در دامنه 1-255 باشه چون از نوع byte است
که البته می تونی در زمان اجرای فرم این کد را هم بزنی و در زمان خروج نیز به حالت اول برگردونی
موفق باشی
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.