۱۷-مرداد-۱۳۹۰, ۱۷:۱۱:۴۳
سلام
خواستم هرجای فرم که رنگش سفیده نامرئی بشه و بقیه اش باقی بمونه
تابع API به نام SetLayeredWindowAttributes تو VB6.0 درست عمل میکرد
تو #C هم شفاف میکنه ولی روی پنجره هایی که زیر قسمت شفاف قرار گرفتن نمیشه کلیک کرد
کلا اگه پیشنهادی غیر از تابع SetLayeredWindowAttributes دارین یا اشکالی تو کدهام هست خیلی ممنون میشم بهم بگین.
فایل ضمیمه کامل ولی کدش رو میذارم که اگه نخواستین، دانلود نکنید...
راستی یه سؤال دیگه: خواستم دو تا مقدار int رو or کنم؛ درسته که از Pipeline باید استفاده کنم؟ منظورم int1 | int2 بود.
خواستم هرجای فرم که رنگش سفیده نامرئی بشه و بقیه اش باقی بمونه
تابع API به نام SetLayeredWindowAttributes تو VB6.0 درست عمل میکرد
تو #C هم شفاف میکنه ولی روی پنجره هایی که زیر قسمت شفاف قرار گرفتن نمیشه کلیک کرد
کلا اگه پیشنهادی غیر از تابع SetLayeredWindowAttributes دارین یا اشکالی تو کدهام هست خیلی ممنون میشم بهم بگین.
فایل ضمیمه کامل ولی کدش رو میذارم که اگه نخواستین، دانلود نکنید...
کد php:
private void Form1_Load(object sender, EventArgs e)
{
this.Visible = false;
this.FormBorderStyle = FormBorderStyle.None;
this.Location = new Point(0, 0);
this.Size = new Size(1024, 768);
this.TopMost = true;
int Retval = API_D.GetWindowLong((int)this.Handle, API_C.GWL_EXSTYLE);
Retval = Retval | API_C.WS_EX_LAYERED;
API_D.SetWindowLong((int)this.Handle, API_C.GWL_EXSTYLE, Retval);
API_D.SetLayeredWindowAttributes((int)this.Handle, 16777215, 0, API_C.LWA_COLORKEY);
API_D.DeleteObject(Retval);
this.Visible = true;
}
راستی یه سؤال دیگه: خواستم دو تا مقدار int رو or کنم؛ درسته که از Pipeline باید استفاده کنم؟ منظورم int1 | int2 بود.