PDA

View Full Version : استفاده از CreateRectRgn



zoncpp
دوشنبه 20 آبان 1387, 12:36 عصر
سلام،
من با VC++ کار می کنم
می خوام یک کنترل در فرم، مثلا یک button یا static شبیه به شکل خاصی مثلا "دایره" یا شکل دیگر باشه. مثل کاری که با CreateRectRgn برای دیالوگ انجام می دیم، و دیالوگ شبیه به آن شکل خاص ما در میاد،

Nima_NF
دوشنبه 20 آبان 1387, 14:40 عصر
در هنگام ساخت کنترل در دیالوگ یا پنجره، آن را به صورت owner draw تغییر دهید(در تنظیمات properties آن) و سپس با استفاده از پیام های مربوطه مثل WM_DRAWITEM هندل گرافیکی کنترل را دریافت کرده و شکل مورد نظر خود را جایگزین کنید(مثلا یک دایره رسم کنید و رنگ پس زمینه کناره های آن را نیز به همان رنگ پس زمینه دیالوگ تغییر دهید). برای این کار نیازی به استفاده از region ها نیست.

یک نمونه مثال در لینک زیر قرار دارد:
http://www.codeproject.com/KB/buttons/odib.aspx