PDA

View Full Version : سوال: راهی برای ممانعت از به روز شدن لیست باکس هنگام تغییر محتوایش هست؟



mbshareat
یک شنبه 29 اردیبهشت 1398, 04:57 صبح
سلام
می دونم به نظر غیر متعارف میاد اما من برای نمایش فایل از لیست باکس استفاده کردم.وقتی عبارتی رو در فالیها جستجو میدم هم سطر به سطر محتوا رو بررسی می کنم.
نمیخوام برنامه رو پیچیده کنم و اول جستجو در فایل در پس زمینه انجام بدم و اگز موردی یافت شد فایل رو نمایش بدم.این صورت مساله بود.

من میخوام لیست باکس یه جورایی فریز بشه و با اینکه محتواش تغییر کرده همون محتوای سابق رو نشون بده.راهی سراغ دارید؟

mbshareat
یک شنبه 29 اردیبهشت 1398, 07:31 صبح
راستش مساله رو یه جور دیگه حل کردم.اما بدم نمیاد جوابی برای سوالم ارائه بشه.
(اگر راه ساده ای بلد بودم ، نیاز نبود یه ساعت روی برنامه کار کنم)

یوسف زالی
یک شنبه 29 اردیبهشت 1398, 10:44 صبح
سلام
در مواقعی که می خواهید نمایش یک کامپوننت رو دست بزنید، باید در کامپوننت مذکور رویداد paint رو دستی بازنویسی کنید و مود کامپوننت رو هم روی ownerdraw بگذارید (اگر داره) بعد خودتون نحوه کشیده شدنش رو دست بگیرید
در حالت لیست، رویدادی برای draw شدن وجود داره که باید آیتم ها رو خودتون بکشید به جای این که خود دلفی پیش فرضش رو بکشه
اگر اینها پاسخگوی شما نیست، یا باید دست به کار کامپوننت نویسی (یا دانلود کامپوننت آماده) بشید یا این که با کثیف کاری مثل انداختن دو تا لیست روی هم، اون رو در بیارید.
اینا روشهایی بود که یادم اومد، ممکنه روش دیگه ای هم باشه که خیلی راحت تره و من ندونم یا یادم نباشه.

mbshareat
یک شنبه 29 اردیبهشت 1398, 16:26 عصر
ممنون.من خودم ItemDraw رو کنترل می کنم.یادم اومد یه متغیر CanRedraw هم گذاشتم.اما تغییر تعداد رو نمیشه کاری کرد.بگذریم امروز شاید دو ساعت وقتم تلف شد به خاطر اینکه نمی دونم چرا لیست باکس میخواست یه سطر رو ترسیم کنه.کد مشابهی که در یک پنجره بود کپی پیست کردم ولی مشکل وجود داشت.بعد فهمیدم خود نمایش پنجره مشکل رو حل می کنه.در هر صورت آخرش مجبور شدم از همون متغیر CanRedraw رو false کنم.اما وقتی داشتم میومدم سر کار به نظرم رسید اصلا شاید مقداردهی یه متغیر دیگه باعث مشکل هنگام ترسیم ظاهرا بی دلیل سطر جاری میشه.

آقای زالی ممکنه سوال بعدیم رو هم جواب بدید.ظاهرا کسی دوستم نداره

یوسف زالی
یک شنبه 29 اردیبهشت 1398, 23:42 عصر
سوال رو یک بار دیگه بپرسید، کامل و دقیق، اگر بدونم چشم

mbshareat
سه شنبه 31 اردیبهشت 1398, 00:21 صبح
منظورم تاپیک بعدیم در مورد متن سطرهای قبل از سطر جاری از لیست باکس بود.جوابش رو خودم فهمیدم.ممنون