PDA

View Full Version : چطوری میشه از توی یه عکس png حالت هات های مختلف یه دکمه رو در آورد؟



combo_ci
یک شنبه 18 فروردین 1387, 14:07 عصر
سلام
اگه توی resourc های بعضی از برنامه ها نگاه کنین عکس های png به این حالت رو میبینین
http://barnamenevis.org/forum/attachment.php?attachmentid=16017&d=1207476321
میخواستم بیبنم کسی از دوستان میدونه که چطور میشه از توی این عکس با کد نویسی مثلا حالت on over یا on press یه دکمه (یا هر object دیگه) رو در آورد؟

gdevnb
یک شنبه 18 فروردین 1387, 18:49 عصر
به نظر من شما یه یوزر کنترل طراحی کنید و اون حالتها رو با یه سری متغیر چک کنید در رویدادهایی مثل OnKeyDown , OnMouseDownبعد عکسو رو با چک کردن شرایط در OnPaint رسم کنید.
اگه سرچ کنید فکر کنم چیزای خوبی دستگیرتون بشه.



protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if (e.KeyCode == Keys.Space)
{
this.isMouseDown = true;
}
base.Invalidate();

}
protected override void OnPaint(PaintEventArgs e)
{
States disabled;
base.OnPaint(e);
if (!base.Enabled)
{
disabled = States.Disabled;
}
else if (this.isMouseDown.Equals(false))
{
if (this.isMouseOver.Equals(true) && this._toggled.Equals(false))
{
this.BackgroundImage = this.over_image;
disabled = States.MouseOver;
}
else if (this.isFocused.Equals(false))
{
this.BackgroundImage = this.normal_image;
disabled = States.Focused;
}
else
{
this.BackgroundImage = this.normal_image;
disabled = States.Normal;
}
}
else
{
this.BackgroundImage = this.down_image;
disabled = States.MouseDown;
}
this.DrawText(e, disabled, this.Text, this.Font, this.ForeColor);
}