تبلیغات
تبلیغات متنی
محبوبترینها
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
قیمت انواع دستگاه تصفیه آب خانگی در ایران
نمایش جنگ دینامیت شو در تهران [از بیوگرافی میلاد صالح پور تا خرید بلیط]
9 روش جرم گیری ماشین لباسشویی سامسونگ برای از بین بردن بوی بد
ساندویچ پانل: بهترین گزینه برای ساخت و ساز سریع
خرید بیمه، استعلام و مقایسه انواع بیمه درمان ✅?
پروازهای مشهد به دبی چه زمانی ارزان میشوند؟
تجربه غذاهای فرانسوی در قلب پاریس بهترین رستورانها و کافهها
دلایل زنگ زدن فلزات و روش های جلوگیری از آن
خرید بلیط چارتر هواپیمایی ماهان _ ماهان گشت
صفحه اول
آرشیو مطالب
ورود/عضویت
هواشناسی
قیمت طلا سکه و ارز
قیمت خودرو
مطالب در سایت شما
تبادل لینک
ارتباط با ما
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
آمار وبسایت
تعداد کل بازدیدها :
1835239382
سلام کمک در ساخت tooltip که عکس قبول کند
واضح آرشیو وب فارسی:سایت ریسک: ahsanjan16-07-2008, 04:51 PMسلام ببخشید این قدر آقای h2 سوال می کنم ولی این موضوع امروز اومد تو ذهنم و مشغول کرده ذهنم را من می خواستم یک tooltip بسازم که یک خاصیت جدید داشته باشه به نام backgroundimage که در پس زمینه tooltip عکس قرار دهد هر کار کردم نشد مدت زیادی پای کامپیوتر بودم ولی بازم نتونستم اگر شما همین راهنماییی را بکنید راه و روش دستم می آید و بقیه ی خاصیت ها را می نویسم و یک tooltip حرفه ای همراه سورسش در این جا قرار می دهم خواهش می کنم _H2_16-07-2008, 10:02 PMسلام از Tooltip استاندارد استفاده کنید. خصوصیت OwnerDraw را فعال کنید و برای رویداد Draw با کمک دستورات گرافیکی +GDI کد نویسی کنید و هر شکلی را که مایلید ترسیم کنید. ahsanjan17-07-2008, 05:21 AMببخشید من چکار کنم که کنترول ساخته شده ی من مثل tooltip وقتیمی خواهیم ازش استفاده کنیم پایین فرم بیاید تو عکس نگاهکنید تا منظورم را بفهمید http://www.persianupload.com/files/m7x63olfkmkri1drkn8j.png راستی من می خواستم کنترولم وقتی داره ناپدید می شه مثل tooltip اول شفافیتش کم بشه بعد خودم ناپدیدش کنم چون می خواهم یک کنترل بسازم که یه label داشته باشه برای متن و یک picturebox برای عکس ولی نمی دونم خاصیت opacity راچگونه بهش بیفزایم لطفا کمکم کنید _H2_17-07-2008, 11:16 AMسلام اون کنترلر نیست یک کامپونت است، گرچه خود کنترلرها نوعی کامپونت هستند. شما باید واسط IComponent را پیاده سازی کنید یا مثلاً وراثتی از Component بگیرید. Project->Add Component ahsanjan17-07-2008, 12:00 PMببخشید آقایh2 وقت شما را می گیرم ولی اگر می شود کمی دقیقتر توضیح دهید و بگویید خاصیت opacity را چگونه بنویسم من همه خاصیت هاش را یاد دارم بنویسم فقط همین را موندم _H2_17-07-2008, 07:18 PMسلام اگر بخواهید ToolTip تان نیمه شفاف باشد، این مطلب ربطی به ترسیمات +GDI ندارد. ToolTip در واقع یک پنجره است، همانطور که بارها گفتم، همه چیز در سیستم عامل Windows یک Window است. اگر بخواهید این پنجره نیمه شفاف باشد، ربطی به ترسیمات شما ندارد، شما باید اشاره گر پنجره را داشته باشید و با API مربوطه آن را نیمه شفاف کنید. کلاسس ToolTip هیچ طوری به زبان خوش و در سطح Public این اشاره گر را به شما نمیدهد. پس رسماً نمیتوانید از این کلاسس استفاه کنید، البته شاید بشود برای اشکال غیر مستطیل هنوز به دستکاری کلاسس امید داشت ولی برای نیمه شفاف این دستکاری چندان منطقی نیست. راه اصولی این است که خودتان همه چیز را از اول بسازید یعنی یک Form خالی برای نمایش ToolTip و یک کلاسس برای مدیریت کترلرها و متن هایی که باید نمایش داده شود و زمان نمایش و همچنین کنترلر ابعاد مناسب برای نمایش و... کار سختی نیست ولی کد نویسی قابل توجهی دارد، به نظر من که به زحمتش نمی ارزد! البته اگر بخواهید راجب یک کنترلر خاص این ToolTip را نشان دهید، میتوانید با کمک رویداهای ماوس پنجره ToolTip را نشان دهید و برای حالت کلی راه همان طراحی یک کلاسس جدید است. ahsanjan17-07-2008, 07:58 PMمن هم همین کار را می خواهم بکنم فقط زمانی که user control را اضافه می کنم user control مثل form خاصیت opacity ندارد وقتی هم که form را به جای user control انتخاب می کنم و ازش فایل dllll می سازم و می خواهم ازش استفاده کنم این اخطار می آید شما اگر می توانید فقط یک کنترول بسازید که فقط یک خاصیت opacity داشته باشد چون فقط فرم این خاصیت را دارد و من هم یاد ندارم چطور ازش استفاده شما اگر این لطف را بکنید بقیه برای آسونه http://i35.tinypic.com/i2owfs.png _H2_17-07-2008, 11:45 PMسلام یعنی چه؟ شما یک dll ساختید که یک form دارد و میخواهید آن را به toolbox اضافه کنید؟؟؟!!!!! که چه شود؟؟؟؟؟؟؟ من واقعاً کارتان را درک نمیکنم. میخواهید یک form در toolbox باشد که بگیرید و بندازیدش در روی یک form یا یک usercontrol ؟؟؟؟!!!!! مگر tooltip خود دات نت form ای در زمان طراحی به form یا usercontrol مورد طراحی اضافه میکند؟ شما نیاز به یک کامپونت پشتیبان دارید، که شامل یک Collection داخلی باشد و لیست کنترلرهای مورد نیاز برای نمایش به همراه متن مورد نظر را نگاه دارد و متدهای خود را به رویدادهای ماوس کنترلر مورد نظر handler کند تا بتواند در لخظه مورد نظر فرم مربوطه را نشان دهد و در صورت نیاز واسط System.ComponentModel.IExtenderProvider را هم پیاده سازی کند. ahsanjan18-07-2008, 11:46 AMآقای h2 به نظر شما فقط نوشتن یک خاصیت opacity کار مشکلی هست اگر کد زیاد داری که نه نویسین ولی اگر کدهاش کم فقط همین خاصیت را لطفا بنویسید _H2_18-07-2008, 05:13 PMسلام خصوصیتی که شما نیاز دارید صرف یک قابلیت و یک پله بیشتر نیست. مرز استفاده از کلاسس استاندارد دات نت با نوشتن کد صفر کیلومتر را مشخص میکند. چون وقت کم دارم یک راه زیرمیزی را برایتان میگذارم. این راه غیر رسمی است و به قول ایرانیها من درآوردی است، ولی در نسخه جاری فریم ورک به خوبی جواب میدهد. (نسخه های آتی ا... اعلم!) چندان دلم نمیخواست این راه غیر شی گرایی را من مطرح کنم، ولی شما که تمایلی به ... !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشید. ahsanjan19-07-2008, 03:09 PMممنون از کدتون ولی من یک کامپوننت ساختم و این کد را در اون نوشتم و tooltip را هم به کامپوننت اضافه کردم اضافه کردم بعد که فایل dll ساختم و می خواهم ازش لستفاده کنم اصلا همچین خاصیتی را نداره اگر می شود بگین این کد را کجا بنویسم از اول تا آخر ببخشید _H2_20-07-2008, 09:45 AMسلام این کد که برایتان گذاشتم مختص ToolTip استاندارد دات نت است. یعنی اگر خودتان از صفر ToolTip ساخته اید که باید Opacity فرم را دستکاری کنید و اگر بخواهید مشکلتان را با خود ToolTip استاندارد دات نت حل کنید، کافیست سه دستور Declare را در سر مازول کدنویسی (بعد از Public Class ) و دستورات بعدی را در رویداد Draw مربوطه به ToolTip مورد نظر تایپی کنید، البته میتوانید دستورات ترسیمی خود برای Background و متن(e.DrawText) و .... را هم در قبل یا بعد این کد وارد کنید. یعنی با این کد نیازی به ساخت ToolTipجدید نیست. اگر باز هم نتوانستید مشکلتان را حل کنید، بگویید تا ... موفق باشید. ahsanjan20-07-2008, 04:46 PMببخشید این کدها را در کدام فایل بنویسم class.vb یا component یا در خود برنامه و این کد چجوری شفافیت tooltip را تغییر می دهد tooltip که خودش وقتی می خواد ناپدید شود خودش شفافیتش کم می شود این به چه درد می خورد؟ ببخشید ها سوال هست و دیگر اینکه من هدف اصلم طراحی یک tooltip از اول بود یعنی تمام کدهایش را خودم بنویسم و می خواستم اولین خاصیتش که opacity بود را چون یاد نداشتم شما بنویسید آیا نوشتن این خاصیت کد زیادی می خواهد که بی خیالش شوید ولی اگر نوشتن تنها همین خاصیت برای شما زمان زیادی را تلف نمی کند خوب خواهش می کنم بنویسید _H2_21-07-2008, 10:19 AMسلام rapidshare.com/files/131273858/WindowsApplication2.zip ahsanjan21-07-2008, 04:40 PMسلام و خسته نباشید خدمته شما فکر کنم اصلا منظورم را بد توضیح دادم یا شما قشنگ متوجه نشدید آقای h2 من نمی دانم کد شما چکارمی کند یعنی نمی دانم بود و نبودشچه فرقی دارد ولی من منظورم این نیست که از tooltip ساخته شده استفاده کنید من می خواهم یک کنترول خودم بسازم که خودش خاصیت opacity داشته باشه شما این user control را ببینید من می خواهم همان صفحه ی مربع شکلرا بهش یک خاصیت اضافه کنم به نام opacity که وقتی مثلا بهش عدد 10 را می دهم مثل فرم پایینیش بشه http://i38.tinypic.com/iz9vtd.png http://i38.tinypic.com/30awdxl.png _H2_22-07-2008, 01:27 AMسلام ========== من گمان کردم که شما نیاز به یک ToolTip با خاصیت Transparent دارید و هدفتان همین است و هنوز هم از پستهای قبلیتان همین برداشت را میکنم. هدف UserControl نبود، هدف ToolTip بود. نمونه ای هم که برایتان گذاشتم در همین راستا بود. یعنی بدون کد نویسی، ToolTip دات نت به طور صریح و مات نشان داده میشود ولی اگر در نمونه فوق دقت کنید، متوجه میشود ToolTip ای که روی محدوده مربع شکل نمونه نشان داده میشود، نیمه شفاف است و ضمینه و اجزای زیر ToolTip معلوم هستند، یعنی همان چیزی که من از مشکل شما از متن پستهای قبلیتان برداشت کرده بودم. میتوانید با دقت بیشتری برنامه نمونه را اجرا کنید و نتیجه را ببینید و مقدار ثابت OPACITY را برای تغییر میزان این شفافیت دستکاری کنید. ========== ولی مشکل جاری. اگر شما قصدتان ToolTip نیست و میخواهید کنترلرهای موجود را نیمه شفاف کنید، این کار یک سری قواعد ویندوزی دارد که دستتان را خواهد بست. اولاً بگذارید مشخص کنم که شفاف کردن با نیمه شفاف کردن تفاوت دارد... شفاف کردن مثل حالتی است که شما پنجره مستطیل شکلتان را مثلثی یا دایره ای میکند، یعنی قسمتی از آن را کلاً شفاف میکنید. ولی نیمه شفاف کردن ان چیزی است که خودتان در عکی نمونه نشان داده اید. پس شد دو بحث با دو کد مجزا ! با توجه به مشکل شما من شرایط نیمه شفافیت را در ویندوز توضیح میدهم: سیستم عامل ویندوز فقط و فقط از نیمه شفافیت برای کنترلرها و پنجره های شناور (البته شناور نه به این معنا که بتوان آنها را با ماوس تکان داد) پشتیبانی میکند. یعنی شما نمیتوانید یک دکمه نیمه شفاف بر روی فرمتان داشته باشید ولی میتوانید کل فرم اصلی را نیمه شفاف کنید. ( و نیز میتوانید با ترفند های تصویری آماده، اینطور نشان دهید که به نظر برسد دکمه شما نیمه شفاف است.) در واقع UserControl و Form از یک جنس هستند و چندان تفاوتی ندارند. اگر UserControl ای قرار باشد به طور عادی استفاده شود و روی یک UserControl دیگر یا یک Form یا هر ظرف دیگری قرار بگیرد، مطلقاً امکان نیمه شفاف کردنش وجود ندارد. ولی میتوان UserControl را مستقل کرد، یعنی روی هیچ والد مشخصی نباشد، در اصل آن را به جای Form استفاده کرد که خودش مستقلاً در Desktop ویندوز شناور شود، در این حال میتوان نیمه شفاف اش کرد. ولی باید توجه داشت که این کار یعنی چرخواندن لقمه دور سر! چرا؟ برای آنکه باید کد بیشتری بنویسیم که به UserControl را مستقیماً در Desktop شناور کنیم (مثل یک Form) و باز باید کد بنویسیم تا نیمه شفاف شود (مثل Form) ، خوب اینکه میشود خود Form !!!! کافیست Border فرمتان را None کنید و این همه هم کد نویسی نکنید.! پس یک بار دیگر خلاصه بحث را مینوسیم، تا وقتی UserControl شما در زمان طراحی روی یک کنترلر دیگر قرار بگیرد و اصطلاحاً ظرف مشخصی داشته باشد، امکان نیمه شفاف کردن آن وجود ندارد. اگر هم بخواهید یک UserControl را مستقل و نیمه شفاف کنید هم نیازی نیست، چون شی مخصوصی به نام Form برای این کار وجود دارد. OK ؟؟؟ ahsanjan22-07-2008, 03:04 PMپس من تا حالا اشتباه فکر می کردم و دیگر اینکه من راستش می خواستم یک کنترول یا کامپوننت یک چیزی که روی فرم قرار بگیرد و نیمه شفاف شود بسازم بعد توش متن بنویسم و بشه شبیه tooltip ویندوز به نظر شما آیا راهی هست به جز user control که نمی شود باهاش این کار را کرد یعنی آیا با کامپوننت هم نمی شود یعنی هیچ راهی نیست با هیچ چیزی که بتوان این کار را کرد لطفا بگویید transparent هم که گفتید چی هست و اگر نمیشه ما هم چین چیزی بسازیم که روی فرم نیمه شفاف بشه پس مایکروسافت چجوری نوشته _H2_23-07-2008, 10:59 AMسلام برای ادامه راحت تر بحث، شما میتوانید مثالی از برنامه های مایکروسافت بیاورید؟؟؟؟ تا بهتر متوجه شوم منظورتان چه جلوه ی گرافیکی بوده. ولی مجدداً تاکید میکنم که کنترلری که روی فرم باشد، نمیتواند نیمه شفاف باشد، ولی میتوان با جلوه های گرافیکی و استفاده بجا از تصاویر همچین توهم نیمه شفافیتی را به وجود آورد. ahsanjan08-09-2008, 12:02 AMسلام آقای h2 ببخشید یک مشکلی برخودم نتونستم این یک ماه به اینترنت برسم منظور من این هست شما خودتون را به جای یکی از برنامه نویسان مایکروسافت بزارین و فکر کنین می خواهید یک tooltip بسازین همین tootip که تو ویزوال هست و فکر کنید که قبل شما این tooltip را کسی نساخته و در ویزوال همچین کنترولی نیست و شما می خواهید بسازید آیا می توانید بسازید چطور؟ _H2_08-09-2008, 01:42 PMسلام من میتونم ToolTip دات نت را مجدداً بسازم و چرخ را مجدداً اختراع کنم، کار پیچیده اید نیست. ولی نمیدونم شما میدانید چه میخواهید؟ یعنی منظورم ان است که ان بحث Transparent تمام شد؟ این الآن سوال جدید است؟ ToolTip دات را میخواهید Transparent کنید، نیازی نیست ار نو بسازیدش، کافیست به پست 10 همین تاپیک مراجعه کنید. عکس هم میخواهید بندازید در پست 2 توضیح دادم. یعنی رسم کار اینطور است که فقط برای قابلیت جدید کد نویسی میکنیم، نه اینکه برای یک چیز کوچک، کل ابزار را از اول بسازیم. این از تفکرات پایه ای وراثت و OOP است. شما اگر میخواهید شیشه ماشینتان را دودی کنید، نمی روید خودتان از صفر و طراحی نقشه و جوشکاری و... ماشین بسازید! شما باید متوجه باشید که ساختن کپی ToolTip ارزشی جز ارائه به استاد و گرفتن نمره ندارد! اگر قصدتان تحویل دادن به استاد و گرفتن نمره نیست، این کار را به شما پیشنهاد نمیکنم، چون قبل از شما این کار انجام شده. ===== اما روش پیاده سازی: (همانطور که قبلاً هم گفتم، شما باید) - یک Component جدید بسازید یا با کد دستی و وراثت یا با Project->Add Component - بعد واسط تک متدی System.ComponentModel.IExtenderProvider را در ان پیاده سازی کنید. - دو متد زیر را هم برای تکمیل واسط فوق اضافه کنید: Public Function GetToolTip(ByVal control As System.Windows.Forms.Control) As String (Public Sub SetToolTip(ByVal control As System.Windows.Forms.Control, ByVal caption As String - یک Form جدید خالی بدون Border و Caption و ShowInTaskbar و StartPosition بسازید. حالا کنترلر و متن ToolTip مورد نظر به متد SetToolTip شما پاس داده میشود. شما در این متد می آیید و مقادیر را ذخیره میکنید و با AddHandler رویداد های MouseEnter و MouseLeave و... کنترلر مورد نظر را هندلر میکنید. بعد هم مثلاً در رویداد MouseEnter کنترلر با متنی که قبلاً ذخیره کرده اید، Form را بر فراز کنترلر نمایش میدهید. و در رویداد MouseLeave هم اگر ماوس روی Form هم نبود، Form را مخفی میکنید و... و... روند کار بسیار ساده و روشن است، پیچیده گی ندارد، ولی یک کم زحمت کد نویسی دارد! شما شروع کنید، هر جایش گیر کردید، در خدمت هستم. ahsanjan08-09-2008, 06:41 PMببخشید آقای h2 که من اینقدر سوال می کنم ولی اول اینکه من این برنامه را بخاطر استاد یا کسی نمی نویسم دوم اینکه من منظورم از این سوال که آیا شما می توانید بسازید یا نه این هست که می خواستم ببینم آیا شما می توانید این سوال من را جواب بدین من در یک سایت دیدم که یک کنترول می فروشند که مثل همین tooltip ویزوال هست اما شما می توانید در خاصیت image آن عکس خودتون را بزارید یعنی یک خاصیت اضافه داشت به نام image که عکس قبول می کرد اگر در ساخت همین خاصیت به من کمک کنید ممنون می شوم راستی از کمک بالا هم ممنون چیزهای زیادی از کد بالای شما فهمیدم _H2_08-09-2008, 09:09 PMسلام این طور که معلومه باید برایتان کد بگذارم ! مشکلی نداره، فقط باید یک کم صبر کنید تا وقت کنم، یک کد ساده برایتان درست کنم. ahsanjan08-09-2008, 11:43 PMممنون که کمکم می کنید هر موقه کاری نداشتید کد را بنویسید من زیاد عجله ندارم ولی خیلی خیلی خیلی خیلی خیلی خیلی خیلی ... ممنون _H2_11-09-2008, 01:28 AMسلاممن یک نمونه خیلی ساده برایتان حاضر کردم، خودتان با توجه به نیازتان کاملش کنید.!!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! مفهوم وراثت است، اضافه کردن قابلیت های جدید به کلاسس های دیگر) ahsanjan14-09-2008, 12:34 PMسلام ممنون از زحمتتون من دانلود کردم یک صفحه ای با پسوند html دانلود شد بازش کردم تمامش حروف چینی بود مثل اینکه یک فایل dll را تو notpad باز کنی _H2_14-09-2008, 10:50 PMسلام ممنون از زحمتتون من دانلود کردم یک صفحه ای با پسوند html دانلود شد بازش کردم تمامش حروف چینی بود مثل اینکه یک فایل dll را تو notpad باز کنی اون صفحه html چینی را با پسوند zip ذخیره کنید! احتمالاً حل میشه. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در اصل با SaveTarget مشکل حل میشه ولی لینک ها در این سایت غیر فعال است. اگر باز نتوانستید، برایتان یک جای دیگر آپلود میکنم. ahsanjan16-09-2008, 04:59 PMممنون خیلی قشنگ بود ببخشید این همه سوال کردم _H2_14-01-2009, 04:33 PMسلام متاسفانه/خوشبختانه مجبور شدم این تاپیک قدیمی را فعال کنم... چون گمان میکردم یک مورد راهی ندارد ولی راهش بیخ گوشم بود و اتفاقی متوجه شدم سیستم عامل ویندوز فقط و فقط از نیمه شفافیت برای کنترلرها و پنجره های شناور (البته شناور نه به این معنا که بتوان آنها را با ماوس تکان داد) پشتیبانی میکند. یعنی شما نمیتوانید یک دکمه نیمه شفاف بر روی فرمتان داشته باشید ولی میتوانید کل فرم اصلی را نیمه شفاف کنید. ( و نیز میتوانید با ترفند های تصویری آماده، اینطور نشان دهید که به نظر برسد دکمه شما نیمه شفاف است.) در واقع UserControl و Form از یک جنس هستند و چندان تفاوتی ندارند. اگر UserControl ای قرار باشد به طور عادی استفاده شود و روی یک UserControl دیگر یا یک Form یا هر ظرف دیگری قرار بگیرد، مطلقاً امکان نیمه شفاف کردنش وجود ندارد. درست است که خاصیت opacity فقط مخصوص فرمها است و حتی تغییر opacity مستقیماً با API های ویندوز روی کنترلرها کاملاً بی ثمر است. ولی اگر رنگ پس زمینه یک کنترلر با رنگی با پارامتر آلفا ست شود، کنترلر روی فرم خود حالت نیمه شفاف پیدا میکند ! گرچه من شخصاً چندان به گرافیک برنامه اهمیت نمیدهم ولی این مطلب انقدر ساده و اصولی و منطقی و جلوی چشم است که تعجب میکنم چرا قبلاً متوجه نشده بودم. جمیعاً موفق باشید. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1462]
-
گوناگون
پربازدیدترینها