برگزیده های پرشین تولز

یک مشکل در زمینه ساخت یوزر کنترل (OCX)

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
باسلام
من میخوام در برنامه زیر وقتی روی دکمه کنار تکست باکس کلیک میکنم
فرم زیر منترل تکست باکس باز بشه ولی نمیشه ا
اصلان نمیتونم موقعیت تکست باکس را روی صفحه مشخص کنم:( :(
ممنون منتظر جواب شما هستم
اینم کدش
 

فایل های ضمیمه

  • 99999999999999999999999999999.zip
    7.6 KB · نمایش ها: 29

SNo

Registered User
تاریخ عضویت
18 ژانویه 2007
نوشته‌ها
1,570
لایک‌ها
538
محل سکونت
نوک قله دماوند
در رابطه با مشكلتون بايد بگم كه براي تشخيص دادن موقعيت تكست باكس بايد از شئ Extender استفاده كنيد
و حالا براي اينكه اون فرم زير تكست باكس قرار بگيره ميتونيد كد زير رو در رويداد كليد دكمه بنويسيد.
البته اين كد وقتي جواب ميده كه كنترل داخل خود فرم باشد (در هنگام استفاده از كنترل) يعني اگه اونو داخل يك فريم بذاريد احتمال داره كه فرم سر جاي خودش قرار نگيره


FrmEBCalendar.Left = Extender.Left + UserControl.Parent.Left + 60
FrmEBCalendar.Top = Extender.Top + UserControl.Parent.Top + txtDate.Height + 460
FrmEBCalendar.Width = Extender.Width
FrmEBCalendar.Show​

در ضمن براي مشخص كردن كنترل لازم نيست اسم اون رو بنويسيد و فقط به جاي آن بايد از كلمه UserControl استفاده كنيد.
 

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
متشکر
حالا چه جوري ميتونم وقتي کاربر يک جاي ديگه کليک کرد اين فرم بسته بشه؟
LostFocus کار نميکنه ممنون:(
 

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
سلام
کسی نیست جواب من بده!!!!!!!!!!!!!!!!!!!!!!!!
یعنی این سوال انقدر سخته؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
کسی نیست جواب من بده!!!!!!!!!!!!!!!!!!!!!!!!
یعنی این سوال انقدر سخته؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

سلام
خوب هستي
نه سعيد جان اصلا سخت نيست خيلي هم اسونه :cool:

ببين سعيد جان براي اينكه شما پنجره رو زير دكمه پايين رونده نشان دهيد بايد بتوني توي صفحه مختصاتشو معين كني براي اين كار ميتوني از getwindowrect استفاده كني كه مختصات مستطيل محاط شده بر پنجره تو ميده ( منظورم از پنجره هر چيزيه مثل دكمه و ....)

خوب بعد پنجره تو جابجا ميكني و....
براي اينكه اگر يوزر جاي از صفحه كليك كرد كه تو نميدوني ايا توي فرمته يا نه بهترين روشي كه به ذهنم ميرسه استفاده از getactivewindow است با مقايسه اين مقدار توي پريود ها متفاوت با هندل پنجره مون ميفهميم ايا پنجره اكتيو است يا نه يعني ايا يوزر جاي كليك كرده يا نه
و...

كدشو بهمراه فايل برات اتچ كردم

اميدوارم كم كنه
 

فایل های ضمیمه

  • 1.zip
    7.9 KB · نمایش ها: 24

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
بازم سلام
ممنون سعید جان برای مکان کنترل کدی که آقای ULF_VB6 کار کرد
و کد شما هم برای بستن پنجره کار کرد
حالا چه جوری میتونم برای کنترلی که روی فرم قرار داره پروپرتی تعریف کرد
ممنون
 

فایل های ضمیمه

  • 111111111111.zip
    24.9 KB · نمایش ها: 18

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
خوب هستيد با دستور
Public Property Let ميتوني مقادير رو براي اشيا مختلف بگيري
و با استفاده از
Public Property get ميتوني مقادير رو به خروجي بدي

يك كامپوننت تاريخ قبلا نوشته بودم برات اتچ ميكنم
 

فایل های ضمیمه

  • date_ocx.zip
    20.2 KB · نمایش ها: 33

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
سلام
خوب هستيد با دستور
Public Property Let ميتوني مقادير رو براي اشيا مختلف بگيري
و با استفاده از
Public Property get ميتوني مقادير رو به خروجي بدي

يك كامپوننت تاريخ قبلا نوشته بودم برات اتچ ميكنم

سلام آقا سعید ممنون ولی من با ساخت peroperty برای خود یوزر کنترل مشکلی ندارم من برای ساخت peroperty
کنترل هایی که روی فرم FrmEBCalendar قرار دارن مشکل دارم مثل همون Imigbox که روش قرار داره من چه جوری برای این Imigbox خصوصیت تعریف کنم ممنون
امید وارم منظورم فهمیده باشید:cool:
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام آقا سعید ممنون ولی من با ساخت peroperty برای خود یوزر کنترل مشکلی ندارم من برای ساخت peroperty
کنترل هایی که روی فرم FrmEBCalendar قرار دارن مشکل دارم مثل همون Imigbox که روش قرار داره من چه جوری برای این Imigbox خصوصیت تعریف کنم ممنون
امید وارم منظورم فهمیده باشید:cool:

سلام
خوب هستيد
خوب باري اون ها هم مثل اشيا يوزر كنترل پرو پرتي اختصاص بده اما فكر كنم اين نكته ها رو اگر رعايت كنيد ختما جواب ميگيرد :
1- همانطور كه مي دونيد property ها رو توي صفحه كد يوزر كنترل بايد تعريف بشه
2- براي دسترسي به اشيا ديگر پنجره هاي يوزر كنترل بايد اسم اون ها بياد مثلا
کد:
FrmEBCalendar.image1.picture

شما مي تونيد از property set نيز استفاده كنيد

كد مثال كه خاصيت imagepic و شي picture پنجره image رو ميشه اختصاص داد رو براي پروژه يوزر كنترل رو اتچ كردم

اميدوارم كمك كنه
 

فایل های ضمیمه

  • 1.zip
    28.5 KB · نمایش ها: 25

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
ممنون خودم هم این کار کردم ولی......................................:(
بهر حال الان درست شد:happy:
 
بالا