PDA

View Full Version : سوال: چطوری می شه به یه button شکل خاصی داد



kamran_14
دوشنبه 11 بهمن 1389, 16:22 عصر
سلام
ببخشید
در دلفی 7
چطوری می شه به یه button شکل خاصی داد مثلا به شکل یک مربع با گوشه های گرد در آورد؟

ahmadi3d_ali
دوشنبه 11 بهمن 1389, 17:32 عصر
width , height ش را مثل هم بده! اما در کل اصلا از button استفاده نکن یه image بکار و یه عکس مثلا یک دکمه قشنگ از اینترنت بگیر بهش بده و توی events هرچی دوست راشتی بنویس×! خیلی بهتر از button هست (button اصولا برای کارای گرافیکی استفاده نمیشه!)

حمید محمودی
دوشنبه 11 بهمن 1389, 22:31 عصر
چطوری می شه به یه button شکل خاصی داد مثلا به شکل یک مربع با گوشه های گرد در آورد؟

سلام،
منظور شما استفاده از Theme ویندوز برای برنامه ( و باتن) هست؟اگر نیست، خب یه راه حل ساده استفاده از SpeedButton هست که Flat:=True قرار بدین و یه تصویر براش بزارین (یه تصویر مربع با گوشه های گرد)

mbshareat
سه شنبه 12 بهمن 1389, 00:25 صبح
سلام علیکم
SpeedButton خودش لبه داره حتی اگر Flat اون رو True بکنیم باز هم هنگامی که ماوس رو روش می بریم چهارگوش معمولی بدون لبه گرد ظاهر میشه.
به نظر من اگه از تصویر استفاده کنین بهتره اما اگه اصرار دارید بشه فشرده شدن دکمه رو دید میتونین از یه دکمه معمولی (Button) همراه با XPTheme استفاده کنین.

حمید محمودی
سه شنبه 12 بهمن 1389, 01:04 صبح
SpeedButton خودش لبه داره حتی اگر Flat اون رو True بکنیم باز هم هنگامی که ماوس رو روش می بریم چهارگوش معمولی بدون لبه گرد ظاهر میشه.
خب کافیه که طول و عرض این کنترل رو متناسب با تصویرمون کنیم مثلا یه چیزی مثل برنامه زیر : ( در این حالت دیگه فکر نمیکنم اون کادر دور speedbutton خیلی به چشم بیاد)

mohsen24000
سه شنبه 12 بهمن 1389, 01:49 صبح
باید rgn اون رو تغییر بدید!

soft-c
سه شنبه 12 بهمن 1389, 07:06 صبح
سلام.
از کامپونتهای tms استفاده کنید .

BORHAN TEC
سه شنبه 12 بهمن 1389, 09:25 صبح
از کامپوننت های شرکت Raize Software استفاده کنید. (با نام تجاری Raize Components)

khoshblagh
سه شنبه 12 بهمن 1389, 09:46 صبح
خب کافیه که طول و عرض این کنترل رو متناسب با تصویرمون کنیم مثلا یه چیزی مثل برنامه زیر : ( در این حالت دیگه فکر نمیکنم اون کادر دور speedbutton خیلی به چشم بیاد)

با سلام
ميشه سورس اين برنامه را تو سايت بگذاري.

joooje
سه شنبه 12 بهمن 1389, 10:05 صبح
با سلام
کسی نسخه غیر تریال این کامپوننت (Raize Software) رو داره؟
ممنون میشم اگر کسی داره بزاره یا کمک کنه!
حتی اگر نسخه های پایین ترش (پایین تر از Raize Component 5) باشه
ممنون

حمید محمودی
سه شنبه 12 بهمن 1389, 13:16 عصر
ميشه سورس اين برنامه را تو سايت بگذاري. سلام،

سورسی که ننوشتم واسش، فقط برنامه رو طراحی کردم همین :)
در کل کار خاصی انجام ندادم. فقط برای اون SpeedButton مشخصه Flat:=True تنظیم کردم و در نهایت هم Align اون رو. (برای همین در پست قبلی خودم سورس رو قرار ندادم)

بفرمایید :

Mask
سه شنبه 12 بهمن 1389, 15:18 عصر
به جای این همه دردسر از نمونه زیر استفاده کنید.

kamran_14
چهارشنبه 13 بهمن 1389, 21:40 عصر
سلام


SetWindowRgn(BitBtn1.Handle,rgn,true);

آیا می شه به جای handle یه چیز دیگه داد چون شی image خاصیتی به نام handle ندارد
من می خوام یه دکمه ی دایره ایجاد کنم
اگه من تصویر یه دایره رو به شی image نسبت بدم هنگام اجرا ، می شه به جای اینکه دایره رو انتخاب کنم، روی لبه های image کلیک کنم اما من نمی خوام این طوری بشه
من می خوام فقط بتونم رو ناحیه ی دایره کلیک کنم
و اگه رو لبه ی image کلیک کنم هیچ عکس العملی نشون نده.
مشکل اینجاست که شی image خاصیت handle نداره تا من بتونم از RGN استفاده کنم.

mohsen24000
چهارشنبه 13 بهمن 1389, 23:13 عصر
شما بهتره یک کلاس TWinControl مثل TButton رو برای این کار انتخاب کرده و اون رو توسعه دهید. اون image (تصویر) رو هم میتونید در Canvas کنترل نمایش دهید به این ترتیب دکمه شما هم شکل پیدا میکنه و هم ظاهر مورد نظرتون رو...

kamran_14
پنج شنبه 14 بهمن 1389, 16:34 عصر
شما بهتره یک کلاس TWinControl مثل TButton رو برای این کار انتخاب کرده و اون رو توسعه دهید. اون image (تصویر) رو هم میتونید در Canvas کنترل نمایش دهید به این ترتیب دکمه شما هم شکل پیدا میکنه و هم ظاهر مورد نظرتون رو...
اگه یه مثال بزنین ممنون می شم