PDA

View Full Version : مشکل با GlassFrame (کمک)



aj1shir
پنج شنبه 28 بهمن 1389, 00:13 صبح
سلام
به یه مشکل جالب برخورد کردم در رابطه با این خاصیت فرم های ویندوز 7 منظورم GlassFrame هست
دوستان من وقتی با

rgn := CreateRoundRectRgn(0,0,Width,Height,15,15);
SetWindowRgn(Handle, rgn, true);
این فرمان شکل ظاهری فرمم رو تغییر میدم و خاصیت GlassFrame رو enabel میکنم تمام قسمتهایی که باید شفاف و آینه مانند باشند به رنگ مشکی تغییر حالت میدهند
میشه شما هم این رو تست کنید
لطفا اگه راه حلی برای جلوگیری از این تغییر رنگ زایع دارید تو رو خدا بگید چون من هلاک شدم بسکه فکر کردم.
ممنون
یا علی

AliReza Vafakhah
پنج شنبه 28 بهمن 1389, 01:31 صبح
من کد شما تست زدم و اون چیزی که مد نظر شما هست نشد.

اگر خاصیت Glass را می خواهید می توانید از دلفی 2009 به بعد استفاده کنید. البته یک کامپوننت هم هست که تو دلفی 7 این کار رو می کنه.

این هم دوتا عکس از خاصیت Glass در دلفی 2010

aj1shir
پنج شنبه 28 بهمن 1389, 11:00 صبح
سلام دوستان و اساتید محترم
ممنون بابت توجهتون آقا علی رضا
ببینید آقا علیرضای گل شما تاین کد رو به همون بر نامه بالا اضافه کن بعد جواب رو به من بده

procedure TForm1.FormCreate(Sender: TObject);
var
rgn:HRGN;
begin
rgn := CreateRoundRectRgn(0,0,Width,Height,15,15);
SetWindowRgn(Handle, rgn, true);
end;
تو حالتی که این کد نوشته نباشه درسته ولی وقتی این کد رو مینویسی این خاصیت به هم میریزه و جواب اتین میشه
66469
مشکل من با استفاده همزمان این کد و خاصیت glass frame میباشد
بازم ممنون بابت توجهتون
یا علی

aj1shir
پنج شنبه 28 بهمن 1389, 12:14 عصر
بازم سلام
با اون کامپوننتی هم که داده بودید تست کردم
اون هم با این فرمان مشکل داره
فقط به جایه این که سیاه بشه به بی رنگی تبدیل میشه و اجزای زیر فرم رو نمایش میده
راستی این توی وین xp جواب میده یا نه فقط برای ویستتا به بالا ست
ممنون

aj1shir
پنج شنبه 28 بهمن 1389, 12:15 عصر
راستی این توی وین xp جواب میده یا نه فقط برای ویستتا به بالا ست
ممنون

AliReza Vafakhah
پنج شنبه 28 بهمن 1389, 14:32 عصر
ممنون بابت توجهتون آقا علی رضا
خواهش می کنم ، کاری نکردم.


با اون کامپوننتی هم که داده بودید تست کردمببخشید من کامپوننتی قرار ندادم ! فقط بهش اشاره کردم.



راستی این توی وین xp جواب میده یا نه فقط برای ویستتا به بالا ست بله فقط ویندوز ویستا به بعد (XP توابع API مربوط به Glass رو نداره)

مجددا کد شما را تست زدم با خاصیت Glass و پنجره برنامه این شکلی شد

راستی لینک کامپوننت را الآن براتون قرار دادم ، ببینید این چه طوریه

aj1shir
پنج شنبه 28 بهمن 1389, 19:15 عصر
سلام
بازم ممنون از توجهتون علی رضا جان
به نظر میرسه که این باگ برای شما هم به وجود میاد