الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سلسلة تعلم التعامل مع activex controls

مغلق
بدأه net_code في 13 فبراير 2006 · 8 رد · 1,150 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

لاحظت فى الفترة الأخيره أن هناك أسئلة أنتشرت حول بعض الأدوات المدمجه مع الفيجوال بيسيك مل tree view أو coolbars و toolbars

لذلك قررت أن أشرح بعض الأدوات المدمجه فى الفيجوال بيسيك و التى تمثل عقبه فى طريق بعض المبرمجين

و سأعتمد فى شرحى بإذن الله على

Microsoft Visual Basic ActiveXcontrol refrence

MSDN

وأرجو أن تساعدونى بالتوجيه و المشاركه

نبدأ بعون الله

ماهى activexcontrols ؟

هى مجموعة من الأدوات تعتبر كإمتداد للأدوات الأساسيه المدمجه مع الفيجوال بيسيك بإضافتها لبرنامجك تستطيع عمل أشياء من الصعب عملها بالكود ( مثل tool bar أو coolbar ) فهى توفر كثيرا من الوقت و لكنك تحتاج أن تضمن ملف ال ocx الخاتص بالControl ضمن ملفات مشروعك

و هناك بعض أدوات تتطلب عمل تسجيل لها بواسطة regsvr32.exe و لكنه ليس موضوعنا الآن

دعونا ندخل فى الأدوات و نبدأ العمل

لا تراجع و لا إستسلام

#2

1 - animation contrrol

تستخدم لعرض ملفات avi و لكن تعرض ال avi التى بدون صوت فقط و الغير مضغوطه uncompressed أو الملفات المضغوطه بواسطة run - length encoding (RLE)

و يمكنك أضافتها إلى المشروع عن طريق الضغط على Ctrl + T ليظهر لك صندوق الحوار components و يتم أختيار إما

microsoft windows common controls -2 5.0 و يكون الملف المسئول هو comct232.ocx

أو microsoft windows common controls -2 5.0 و يكون الملف المسئول هو mscomct2.ocx

أهم الخصائص :-

--- autoplay

و تحدد إذا ما سيتم تشغيل ملف avi تلقائيا عند تحميله أم لا و تأخذ قيمة boolean إما true أو false

ملحوظه : إذا تم ضبط الautoplay إلى true سيعيد ملفى ال avi تكرار نفسه حتى يتم إسناد القيمه false إلى تلك الخاصيه

--- backstyle

وهى تحدد حالة خلفية ال animation

وهى إما 0 أى بدون خلفيه و هى القيمة الأفتراضيه

أو 1 و فى هذه الحالة يستخدم خلفية ال avi

و هذه الصور تبين أستخدام backstyle

13_02_06_11_22_35_1139858555animation1.gif

13_02_06_11_23_51_1139858631animation_.gif

--- close

تغلق ملف ال avi المفتوح و تستخم وحدها دون معاملات

--- open

و يتم بواسطتها تحميل ملف ال avi إلى الأداة animation

و أستخدامها

animation1.open filename

حيث filename هو إسم ملف ال avi

--- play

و يتم أسخدامها بعد تحميل ملف ال avi لتشغيل الملف

( لا حظ أنه لو الخاصيه autoplay = true سيتم تشغيل الملف فور تحميله و لن نحتاج للخاصيه play )

و إستخدامها

animation1.play
أو
animation1.play ([varRepeatCount], [varStartFrame], [varEndFrame])

حيث

repeatcount هو عدد التكرارات و القيمه الأفتراضيه هى -1 أى أنه سيتكرر بشكل غير محدد

startframe و تحدد ال frame الذى سيتم البدء منه و القيمة الأفتراضيه له 0

end frame و تحدد الframe الذى سيتم الأيقاف عنده و القيمه الأفتراضيه -1 أى آخر frame فى ال avi

--- stop

و تقوم بأيقاف العرض

ملحوظه

تستخدم stop مع الملف الذى تم تشغيله ب play

أما إذا كانت autoplay = true فيكفى لأيقاف العرض أسناد القيمه false للخاصيه autoplay و إلا ستتعرض للخطأ 35759

مثال على أستخدام الأداة

private sub command1_click()
with commondialog1
.filter = "avi (*.avi)|*.avi"
.showopen
endwith
with animation1
.autoplay = true
.open commondialog1.filename
end with
end sub

كفاية كده النهارده علشان تعبت

لا تراجع و لا إستسلام

#3

بما أننا عرضنا ال animation control إذا لا بد أن نشرح updown contrtrol و التى تظهر معها عند أختيار microsoft windows common controls -2 5.0 من نافذة components

2- updown control

14_02_06_12_08_45_1139947725updown.gif

هى عباره عن أداة تتكون من سهمان للزيادة و النقصان يمكن ربطها بأداة أخرى على حسب ما سنرى

1-alignment

و هى تحدد محاذاة أداة ال upcontrol1 بالنسبه للأداة الأخرى التى سترتيط بها

وهى إما 0 و معناها أن ال upcontrrol ستصبح يسار الأداة الأخرى

أو 1 و معناها أن ال upcontrol ستصبح يمين الأدة الأخرى

2-buddycontrol

وعن طريقها نحدد الأداة التى سيتم الأرتباط بها

مثال

updown1.buddycontrol =text1

3-autobuddy

وهى تحدد ما إذا كانت أداة updown سترتبط تلقائيا بالأداة الأخرى أم لا و تأخذ قيمة boolean أما true أو false

و فى هذه الحالة تكون الأداة التى سيتم الأرتباط بها هى الأداة التى تسبق الأدة updwon فى ال tabindex

4-min

وهى تحدد أقل قيمة للupdown

5-max

وهى تحدد أقصى قيمة لل updown

6 -increment

وهى تحدد الزيادة و النقصان فى قيمة ال updown عند الضغط على الأسهم

7 - value

ويتم بها أسناد قيمة الupdown للأداة المرتبطه بها

مثلا إذا كانت ال updown مرتبطه ب text يعرض قيمة ال updown

نستخدم الكود

text1.text = updown1.value

دعونا نصنع مثال حتى تكون الرؤيه أوضح

private sub form_load()
with updown1
.buddycontrol
.min=10
.max=100
.increment = 10
end with
text1.text = updown1.value

هذا الكود يربط أداة ال updown بtext و يعرض ال text قيمة ال updown

و لكن .....

تأمل معى الكود السابق ... ألا تلاحظ شئ

نعم بالتأكيد ... السطر

text1.text = updown1.value

وهو موجود فى الحدث form_load أى أنه سيحدث عند تحميل الفورم فقط أى أن ال Text سيحمل قيمة ال Updown مرة واحدة وهى عند تحميل الفورم

و لن تتأثر قيمة ال text بالضغط على الأسهم للزيادة أو النقصان

و لكن نريده أن يتأثر

قد يقول لنا أحد المبرمجين أن نضع السطر السابق فى الحدث updown_change و بالتالى سيتم تغيير قيمة ال text كلما حدث تغيير فى قيمة ال updown

وهو حل جيد فعلا و لكنى أفضل الحل العملى التى وفرته مايكروسوفت هو الخاصيه syncbuddy

فعند أسناد القيمة true للخاصيه syncbuddy

تستجيب الأداة المرتبطه بالتغييرات فى ال updown

8 - wrap

لو جربت المثال السابق بعد التعديل سيتم التغيير فى قيمة text كلما ضغطنا على الأسهم سواء بالزيادة أوالنقصان و لكنه يرتفع لأقصى قيمة و هى 100 و يقف و ينخفض لأقل قيمة وهى 0 و يقف

ماذا لو نريده أن إذا ضغطنا على السهم للزيادة بعد ال 100 يتم الرجوع لل 0 و هكذا

و عند الضغط على السهم للنقصان يتم الرجوع لل 100 بعد ال0 و هكذا

يتم ذلك بسهوله بإسناد القيمه true للخاصيه wrap

الآن نستعرض المثال كاملا

private sub form_load()
with updown1
.buddycontrol = text1
.min = 10
.max = 100
.increment = 10
.wrap=true
.syncbuddy = true
end with
text1.text=updown1.value

تم تعديل هذه المشاركة بواسطة net_code في 14 فبراير 2006 في 23:10

لا تراجع و لا إستسلام

#5

و الله موضيع جميل جداً

جزاك الله كل خير أخي الكريم net_code

مواضيع و دروس
الكتابة بعدة ألوان داخل الــ TetxBoxمكتبة الأكوادتحميل الــ Visual Basic Express 2005
تحميل فيجوال بسيك 6أكواد × أكواددروس في الخوارزميات
لتحميل عدة إصدارات من كريستال ريبورتتحميل برنامج Activ Skin 4.3جمل الــ Sql من الألف إلى الياء
معظم المواقع المختصة بالفيجوال بيسيكموقع كويس للأيقوناتمرجع شامل لأدوات ActivX
كيفية نطق الحرف المكتوب شرح عن كيفية إقامة علاقة مع Data Reprot باستخدام الــ DataEnvironment علاقة مع الـ Datareport بدون استخدام DataEnvironment (( شرح ))
كتاب Migrating From DAO to ADOإضافة لـ VB6 بريمج IndenterVB, إضافة لبيئة تطوير فيجوال بيسك 6حوار بينى و بين عضو حول ال winsock , اتمنى ان يعجبكم
Smart Indenter 3.5 لتنسيق الأكواد, هديه لكل الأعضاء السلسلة الدهبية في المواضيع العلمية ، إستغلال الـ Balloons في الـ Windows XP مصفوفات الأدوات Control Arrays افكار وتلميحات ! , لمن افتقدها من أيام الـ VB6.0
جعل خلفية الـ Mid Form تظهر بالكامل خواص الاداة Winsock لربط الاجهزة عن طريق الانترنتكيف يتم عمل تقارير بإستخدام HTML

7.gif
#6

يا أخي والله يعجز اللسان على الشكر

الله يوفقك ان شاء الله

3424.gif
#7

السلام عليكم

حبيت استفسر عن شي بسيط

قبل اي شي اعرف انه مالي مشاركات ويمكن ما الومكم لو مارديتو علي

عموما

سؤالي كان عن ال toolbar تبع الاكسبلورر انا حاب اسوي واحد كامل زي قوقل مثلا او الياهو

سؤالي

:::: ماهي الادوات المستخدمه والمتطلبات المفروض معرفتها قبل البدء في هذا المشروع ::::

ولكم جزيل الشكر

#8

محمد زغلول

COMFORT

ibn_als3odiah

شكرا أخوانى لقد أعطيتمونى دفعه للأمام

الأخ درر

لماذا تعتقد أنه لن يتم الأجابه عليك لقلة مشاركاتك ؟

الأمور هنا لا تقاس بهذا فهذا المنتدى للتعلم و لا مجال لكاتم العلم هنا

و بالنسبه لسؤالك و لو أنه خارج أطار شرحنا إلا أنه يتعلق ب visual basic shell programming

,و بالتحديد فى internet explorer extention

فيه كتاب جميل أسمه visual basic shell programming ل O'Reilly

بصراحه كتاب و لا أروع و شكرا للأخ طارق أبراهيم الذى أرفقه هنا فى المنتدى

يمكنك الأطلاع على الموضوع الأصلى هنا

http://204.157.36.16/index.php?showtopic=5...ell+programming

و أى حاجه أنا فى الخدمه

و شكرا للجميع

تم تعديل هذه المشاركة بواسطة net_code في 16 فبراير 2006 في 21:01

لا تراجع و لا إستسلام

#9

3 - common dialog control

وهى أداة تزودك بصناديق الحوار الشائعه فى الويندوز حتى تستطيع التعامل معها فى برنامجك بسهوله مثل : فتح - حفظ - ألوان - طباعه - خطوط

و يتم أختيارها بأختيار

microsoft common dialog control

من صندوق الحوار components

الملف المسئول هو comdlg32.ocx

19_02_06_04_50_21_1140353421commondialog.gif

سوف أغير طريقة الشرح قليلا فسوف أقسم الآداه و سأشرح الأداة بالنسبه لصندوق الحوار الذى ستستخدمه

لكن أولا هناك خصائص مشتركه يجب شرحها أولا

1- action

و هى تحدد أى صناديق الحوار سيتم فتحها و هذه الخاصيه كانت مصممه للأصدارات القديمه من الفيجوال بيسيك

و تأخذ الأرقام

0 noaction

1 open

2 save as

3 color

4 font

5 printer

6 help

مثال

commondialog1.action = 1 'لفتح صندوق الحوار open

2- cancel error

وهى تحدد إذا ما سيتم توليد خطأ عندما يختار المستخدم زر cancel و سيتم توضيح أستخدامه فيما بعد عندما نتطرق لصندوقى الفتح و الحفظ

و يمكن أستخدامها لعمل أجراء عند ضغط المستخدم زر cancel

مثال

private sub command1_click()
with commondialog1
.cancelerror = true
on error goto err1:
.showopen
end with
exit sub
err1:
' الأجراء الذى تريد حدوثه
end sub

أولا : صندوق حوار الألوان

خصائصه الخاصه

1-color

وهى تستقبل اللون الذى تم أختياره فى صندوق حوار الألوان و هو عبارة عن رقم

2- showcolor

و تستخدم لعرض صندوق حوار الألوان

مثال

private sub command1_click()
with commondialog1
.cancelerror = true
on error goto err1:
.showcolor
me.backcolor = .color
end with
exit sub
err1:
msgbox "you didnt select color"
end sub

ثانيا صندوق حوار الخطوط

كل خصائصه سهله و لكن سنتعرض لأخطر خاصيه وهى flags

Flags

وهى تحدد خصائص صندوق الحوار و لها الكثير من الثوابت سأذكر أهمها فى نهاية الموضوع و لكن يمهنا الآن الثابت

cdlCFEffects

و عند أسناده للخاصيه flags سيظهر اللون و under line و سيتم أرجاع اللون فى هذه الحاله فى الخاصيه color و يمكن قراءته منها

و لكن فى حالة أستخدام صندوق حوار الألوان لابد من أسناد الثابت cdlCCRGBInit حتى تختزن الخاصيه color اللون

مثال لتتضح الرؤيه

Private Sub Command2_Click()
With CommonDialog1
.CancelError = True
On Error GoTo err1:
.Flags = cdlCFEffects
.ShowFont
Text1.Font.Name = .FontName
Text1.Font.Size = .FontSize
Text1.Font.Bold = .FontBold
Text1.Font.Italic = .FontItalic
Text1.Font.Underline = .FontUnderline
Text1.ForeColor = .Color
End With
Exit Sub
err1:
MsgBox "you didnt define the font setings"
End Sub

ثالثا صندوق حوار المساعده

و فيه يتم تشغيل ملف المساعده .hlp بواسطة محرك المساعده الخاص بالويندوز

و به ثلاث خصائص مهمه

1- helpfile

و يتم فيه تحديد ملف المساعده الذى سيتم عرضه

2- helpcommand

وتحدد ما سيتم عرضه فى البدايه من ملف ال help

مثال

private sub command1_click()
const HelpCnt = &HB
with commondialog1
.helpfile = "vb6.hlp"
.helpcommand = HelpCnt
.showhelp
end with
end sub

أرجو التفاعل و إذا كانت طريقة الشرح مبهمه يمكننى تغييرها ... أريد آرائكم

يتبع ......

تم تعديل هذه المشاركة بواسطة net_code في 19 فبراير 2006 في 15:48

لا تراجع و لا إستسلام

هذا الموضوع مغلق.

مواضيع مشابهة