PDA

View Full Version : تغییر رنگ پس زمينه دسكتاپ



repo20
شنبه 17 بهمن 1388, 20:31 عصر
سلام دوستان


میخام برنامه رنگ را از ColorDialog بگیره و رنگ پس زمینه دسکتاپ ویندوز را به آن رنگ تغییر بده.:متفکر:
منظورم همون رنگیه که تصویر در حالت Center اطراف عکس را پر میکنه.
لطفا کمک کنید.:لبخندساده::تشویق:
ممنون.:بوس:

rezatati
یک شنبه 18 بهمن 1388, 11:25 صبح
ابتدا تو قسمت Using کد زیر رو بنویس


using System.Runtime.InteropServices;بعد کد پایینی رو هم در اول کلاس فرمت بنویس


[DllImport("user32.dll")]
public static extern bool SetSysColors(int cElements, int[] lpaElements, uint[] lpaRgbValues);



const int COLOR_DESKTOP = 1;

uint RGB(byte byRed, byte byGreen, byte byBlue)
{
uint res = byBlue;
res = res << 8;
res += byGreen;
res = res << 8;
res += byRed;
return res;
}
int[] aiElements = { COLOR_DESKTOP };
uint[] aColors = { 0 };بعد هم جایی که میخواهی رنگ رو تغییر بدی از دو دستور زیر استفاده کن البته من در اینجا از رنگ قرمز استفاده کردم ولی تو باید از رنگ ColorDialog استفاده کنی


aColors[0] = RGB(Color.Red.R,Color.Red.G ,Color.Red.B );
SetSysColors(1, aiElements, aColors);
اگه با این کد مشکلی داشتی بگو

repo20
پنج شنبه 22 بهمن 1388, 16:54 عصر
ابتدا تو قسمت Using کد زیر رو بنویس


using System.Runtime.InteropServices;بعد کد پایینی رو هم در اول کلاس فرمت بنویس


[DllImport("user32.dll")]
public static extern bool SetSysColors(int cElements, int[] lpaElements, uint[] lpaRgbValues);



const int COLOR_DESKTOP = 1;

uint RGB(byte byRed, byte byGreen, byte byBlue)
{
uint res = byBlue;
res = res << 8;
res += byGreen;
res = res << 8;
res += byRed;
return res;
}
int[] aiElements = { COLOR_DESKTOP };
uint[] aColors = { 0 };بعد هم جایی که میخواهی رنگ رو تغییر بدی از دو دستور زیر استفاده کن البته من در اینجا از رنگ قرمز استفاده کردم ولی تو باید از رنگ ColorDialog استفاده کنی


aColors[0] = RGB(Color.Red.R,Color.Red.G ,Color.Red.B );
SetSysColors(1, aiElements, aColors);
اگه با این کد مشکلی داشتی بگو

آقا دمت گرم فقط چطوري رنگ ColorDialog را به اون بدم.

Reza1607
جمعه 23 بهمن 1388, 14:30 عصر
آقا دمت گرم فقط چطوری رنگ ColorDialog را به اون بدم.

رنگ colordialog باید با این دستور بگیری

Color a;
colorDialog1.ShowDialog();
a = colorDialog1.Color;
SetSysColors(1, aiElements, a);
ولی نتونستم از کدی که دوستمون rezatati دادن استفاده کنم اگه شما تونستی من رو هم راهنمایی کنید

repo20
جمعه 23 بهمن 1388, 15:17 عصر
رنگ colordialog باید با این دستور بگیری

Color a;
colorDialog1.ShowDialog();
a = colorDialog1.Color;
SetSysColors(1, aiElements, a);
ولی نتونستم از کدی که دوستمون rezatati دادن استفاده کنم اگه شما تونستی من رو هم راهنمایی کنید


دوست عزيز كد جواب نميده و كد دوستمون rezatati رنگ قرمز را براي Back Color قرار داد و مشكلي هم نداشت فقط نمي دونم چطوري رنگ را از colorDialog به اون بدم.