ورود

View Full Version : سوال: چطور میشه تصویر مخفی رو در بخشی از تصویر قابل رؤیت کپی کرد؟



mbshareat
دوشنبه 19 اردیبهشت 1390, 10:41 صبح
با سلام و خدا قوت خدمت دوستان گرامی
من برای قرار دادن علامت تیک کنار یه لیست رنگی که خودم طراحی کردم و یک PictureBox هستش نیاز دارم
تصویر او تیک (علامت صحت) رو که با فلش طراحی کردم در بخش سمت راست لیست با برقرار بودن شرطی کپی کنم.
برای این کار نباید دو تصویر صحیح و غلط که مبدأ کپی هستند توی پنجره دیده بشن و تنها باید داخل لیست
اگه نیاز بود باشند.
من از BitBlt استفاده کردم ولی این تابع تنها در صورتیکه Visible تصویر مبدأ True باشه میتونه تصویرش رو کپی کنه.با StretchBlt هم همین مشکل رو داشتم.
آیا راهی به نظر کسی میرسه که منو راهنمایی کنه؟

محسن واژدی
دوشنبه 19 اردیبهشت 1390, 11:08 صبح
سلام علیکم
خب تصاویر را در خارج از فرم قرار بدین یعنی هم visible=true باشد و هم جهت جلوگیری از دیده شدن خارج از فرم باشد، البته این پیشنهاد رو هنوز با BitBltتست نکرده ام اما بنظر می آید که مشکلی ایجاد نشود

موفق باشید

mbshareat
دوشنبه 19 اردیبهشت 1390, 13:20 عصر
با سلام و درود
آقا من قبلا امتحان کردم چیزی کپی نمی کنه.
من خودم یه راه دیگه دارم که تصویر روی فرم و مرئی باشه اما فکر کنم موجب پرش تصویر بشه!
خیلی پیش تو دلفی می خواستم تصویر TRichEdit رو کپی کنم به نظرم همین مشکل رو داشتم.
تو تاپیکی که ایجاد کردم جواب نگرفتم اما بعدها تو یه قسمت دیگه (فکر کنم نمونه کدهای آموزشی بود) جواب اومده بود.
اگه میشد توی VB هم این کار رو کرد خوب بود.ولی خودمونیم VB ظاهرا خیلی با Handle مشکل داره.(مثلا قلم دستگیره نداره)

محسن واژدی
دوشنبه 19 اردیبهشت 1390, 14:11 عصر
یک سورس ضمیمه کرده ام که البته چون از یک روش غیراستاندارد استفاده میکنه برایش یک روال گذاشتم تا از تکرار این روش جلوگیری بشه یعنی سریعا" picturebox هدف را ظاهر و BitBlt تصویر خود را از آن گرفته سپس مجددا" سریعا" مخفی میشود و چون تقریبا" تصویر دیده نمیشه شاید بکارتان بیاید
البته مجددا" عرض میکنم که تقریبا" روشی غیراستاندارد است

موفق باشید

mbshareat
دوشنبه 19 اردیبهشت 1390, 15:57 عصر
با سلام
ایده من هم همین بود که تصویر رو نمایش بدم و ازش کپی بگیرم و انجام دادم خوشبختانه مشکل سرعت و پرش تصویر هم نداشتم.
البته در روش من ابتدا تصویر مخفیه و اولین تیک که لازم باشه ترسیم شه تصویر Visible میشه و در محل قرار میگیره و دیگه نیازی به مخفی کردن نیست و برای تیکهای بعدی ازش کپی برداری میشه.
در هر صورت ممنون! اون روشی که تو تالار دلفی اومده بود هم تو VB کمکی نکرد!

vbhamed
دوشنبه 19 اردیبهشت 1390, 17:01 عصر
سلام

وي بي خودش يك راه بهتر داره، استفاده از PictureClip كه مخصوص همين كاره
دو روش استفاده هم داره كه تو سورس نوشته شده