5 ضمیمه
StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء
سلام.
عنوان این کامپوننت StringProvider هست که در Designer میتوان از آن برای فراهم کردن متن از خصوصیتهای Strings، RegistryDatas و ExternalValues آن استفاده کرد.
خصوصیت Strings یک دیکشنری هست با کلیدی از نوع عددی برای Id و با مقداری از نوع String برای Value (مقدار) از رشته برگشتی که بصورت فرمتبندی های خاصی که برای آن تعریف شده مقدار رو برمی گردونه.
ضمیمه 154244
خصوصیت RegistryDatas هم یک دیکشنری هست که می شه از با اضافه کردن کلیدی که در رجیستری موجود هست و یک ValueName از اون کلید مقدار ValueName بعنوان متن برای اشیاء استفاده کرد.
ضمیمه 154245
می مونه خصوصیت ExternalValues که خاص هست و می شه متن رو از ریسورس فایلهای dll موجود در سیستم مثل Shell32.dll فراخوانی کرد مثل کاربرد این مورد در رجیستری ویندوز البته بدون کاراکتر @ و - با آدرس فایل مورد نظر و آی.دی ریسورس با استفاده از جدا کننده کاما.
ضمیمه 154246
برای فراهم کردن متن برای چند شیء که خصوصیت Text داره CheckBox, TextBox, Form,Lable
ضمیمه 154247
به خصوصیات این اشیاء یک ProvideProperty اضافه می شه که یکی Id که همون شماره Id موجود در جدول هست و یکی هم ProvideType که نوع جدول رشته مقادیر هست،
ضمیمه 154248
که از طریق این دو خصوصیت پروواید متن شیء تغییر می کنه هم در حالت Designer و هم در RunTime.
لطفا خطاها و مشکلات این کامپوننت رو اگر استفاده می کنید در همین تاپیک اعلام کنید. با تشکر
1 ضمیمه
نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء
برای دانلود کامپوننت از لینک زیر استفاده کنید:
(با آخرین تغییرات در تاریخ: 1401/09/10)
نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء
در مورد ExternalValues این رو اضافه کنم که شما می تونید خودتون یک فایل dll ایجاد کنید با ++C یا خود ویژوال استودیو ریسورس StringTable اون رو ویرایش کنید و از آن استفاده کنید.
و اینکه ان شاء الله در آینده برای اشیاء دیگه هم کاربرد خواهد داشت. و کاربرد رشته در اون قابلیت تعیین خصوصیت خواهد داشت به فرض مثال آدرس فایل تصویری برای PictureBox را مهیا خواهد کرد.
5 ضمیمه
نمایش توضیحات برای اشیاء هنگام نگهداشتن ماوس توسط StringProvider
برای نمایش توضیحات هنگام نگهداشتن ماوس روی اشیاء توسط StringProvider
- کامپوننت StringProvider را به فرم اضافه می کنیم.
- اشیاء مورد نظر را باهم انتخاب کرده و خصوصیت Target on StringProviderX را انتخاب و از خصوصیت های زیرمجموعه آن ProvideRole را به مقدار InfoTip تغییر می دهیم. ضمیمه 154266
- کامپوننت StringProvider را انتخاب و خصوصیت Strings را انتخاب و برای مدیریت جدول رشته ها کلید سمت راست مقدار آن را کلیک می کنیم تا پنجره StringTable نمایش داده شود و مقادیر را به تعداد اشیاء آیتم اضافه می کنیم و اینا.ضمیمه 154267 ضمیمه 154268
- اشیائی که می خواهیم برای آنها توضیحات نمایش داده شود را یک به یک انتخاب و از خصوصیت Target بچه خصوصیت ID را طبق اعدادی که در StringTable ایجاد شده مقدار می دهیم، مثلا برای Button1 ID برابر با 101: ضمیمه 154269
- و همین طور به اندازه آیتم ها و آی.دی هایی که در StringTable داریم می تواینم برای اشیاء مقدار ID ست کنیم.
ضمیمه 154270
تذکر: در صورتی که آیتم ها را بخواهیم از خصوصیت Strings داشته باشیم خصوصیت ProvideType از اشیاء باید برابر با FormattedText باشد.
5 ضمیمه
نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء
سلام دوباره.
ی تغییرات اساسی برای کامپوننت اعمال کردم و خصوصیات مجزا برای هر خصیصه مورد نیاز برای تغییرات در شیء ایجاد کردم و می شه همزمان چندین خصوصیت از یک شیء رو تغییر داد مثل Image, Text, ToolTip و ...
توانایی نمایش آیکونهای ریسورس فایل DLL خارج از برنامه:
این آیکون در Shell32.dll قرار دارد و آی.دی آن 1001 هست.
ضمیمه 154289
یک آیتم با متن:
C:\Windows\System32\Shell32.dll, 1001
به کالکشن ExternalValues از StringProvider اضافه می کنیم بصورت پیشفرض اگر تنها آیتم باشد آی.دی آن در کالکشن StringProvider می شود 101:
ضمیمه 154290
ضمیمه 154291
حالا فرم را انتخاب و خصوصیت StringBind on StringProviderX را Expand و بچه خصوصیت Icon را به مقدارد 101 و همچنین خصوصیت BindingType را به مقدار ExternalLibrary تغییر دهید و دیباگ را شروع کنید(آیکونی که در ریسورس فایل Shell32.dll بود با آی.دی 1001 به فرم مربوطه تعلق می گیرد):
ضمیمه 154292
ضمیمه 154293
5 ضمیمه
نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء
سلام دوباره.
طبق تغییراتی که کامپوننت داره نامش هم باید به ResourceProvider تغییر کنه، متن(رشته) - آیکون - عکس و کرسر رو می شه توسط آی دی برای اشیاء فرم تعیین کرد:
ایجاد فایل DLL برای فراخوانی اجزای ریسورس توسط ++Visual C
ضمیمه 154303
برای اضافه کردن کرسر به فایل DLL رو پروژه ایجاد شده راست کلیک Add --> Resource
از پنجره Add Resource آیتم Cursor انتخاب و کلید ...Import
ضمیمه 154304
فایلهای کرسر را با هم انتخاب و کلید Open
ضمیمه 154305
پروژه رو Build و آدرس پوشه فایل رو کپی و از طریق اون فایل dll رو به پوشه برنامه اصلی انتقال دهید:
ضمیمه 154306
برای مشاهده ریسورس و دانستن آی.دی کرسر ها از طریق Visual Studio فایل dll را برای ویرایش انتخاب کنید
ضمیمه 154308
ادامه در پست بعدی...
4 ضمیمه
نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء
ادامه پست قبل...
در پروژه اصلی ResourceProvider را انتخاب و کلید خصوصیت ExternalValues را کلیک
ضمیمه 154313
و یک آیتم با محتوای نام فایل dll و آی.دی کرسری که می خواهید را بعد از یک کاما می نویسید:
ضمیمه 154309
در آخر فرم یا یک شیء که می خواهید Cursor آن را تغییر دهید انتخاب Resource از اون رو طبق آی دی آیتم ایجاد شده تعیین می کنید:
ضمیمه 154310
دانلود مجموعه کرسر ضمیمه 154312