نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

موضوع: روش ساختن اکتیوکس

  1. #1


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    روش ساختن اکتیوکس

    با سلام خدمت دوستان

    چند وقتیه خیلی تالار بی رمق و سوت و کور شده نمیدونم چرا بچه ها بی انگیزه شدن خلاصه گفتم خودم دس بکار شم حداقل یه موضوع جدید مطرح کنم:P


    ابتدا مقدمه ای مطرح میکنم و بعد اگه عمری بود ادامه میدم:


    ActiveX چیست؟


    مایکروسافت از نگارش 4 به بعد ویژوال بیسیک تکنولوژی جدیدی به نام ActiveX یا OCX به جای VBX در آن گنجاند که با استقبال خوبی روبرو شد. ActiveX ابزاری است که شما میتوانید با آن به برنامه خود شیئی را اضافه کنید که از قبل تعریف شده است و دارای توانیی هایی باشد که زبان برنامه نویسی شما قادر به انجام آن نیست. مثلاً پخش فایل صوتی با پسوند خاص (مثل:OGG) که زیبان بیسیک نمیتواند این کار را انجام دهد.
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2. سپاس ها (1)


  3.  

  4. #2


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    RE: روش ساختن اکتیوکس

    ActiveX شامل چیست:

    يك ActiveX خوب و كارامد باید دارای امکانات زیر باشد:
    Fuction یا دستور قابل اجرا:

    [align=left]ACTIVEX.COMMAND[/align]
    مشخصه یا Property:
    [align=left]ACTIVEX.FileName[/align]
    رویداد یا Event (مثلا هنگام کلیک برروی چیزی کدی اجرا شود که کاربر به آن می دهد

    [align=left]ACTIVEX _Click [/align]
    اینها تقریباً مهمترین اجزا هستند. اما می توان از اجزای دیگری مثل کلید عکس ویا حتی ActiveX دیگر در آن قرار داد.

  5. سپاس ها (1)


  6. #3


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    RE: روش ساختن اکتیوکس

    برای ایجاد اکتیوکس باید از vb6 استفاده کنید در اینجا منظور از محیط vb محیط اکسل نیست بلکه محیط زبان VB هست

    شروع کار:
    وارد محیط Visual Basic شوید و در کادر اولی که باز میشود گزینه ActiveX Control را از سربرگ New دابل کلیک کنید.

    درصورتی که کادر بازنشد از کلیدهای Ctrl+N استفاده کنید.
    یک ActiveX جدید ایجاد شده است.

    تصاویر مربوط رو در پیوست ببینید

    مهمترین مشخصات یک ActiveX عبارتند از:

    Name: نام کنترل در هنگام قرار دادن در برنامه. (معمولا به شکل Name1 میباشد).

    Appearance: نوع نمایش آن که به دونوع سه بعدی و فلات قابل تنظیم است
    .
    AutoRedraw: این قسمت مربوط به این است که اشکالی مثل مربع یا متن هایی که با فرمان Print نوشته یا ایجاد شده اند با خارج شدن آن قسمت از فرم ازبین برند یا نه. (True = از بین نروند)

    BackColor: رنگ پس زمینه کنترل

    BackStyle: نوع کنترل که به دونوع شفاف و کدر تقسیم میشود. در صورت شفاف بودن فقط آبجکتها نمایش داده میشوند و خودکنترل به صورت شفاف یا Transparent نمایش داده میشود.

    CanGetFocus: قابلیت فکوس داشتن. یعنی یک آبجکت محسوب شود و بافشردن کلید Tab فوکوس بگیرد.

    Font: فونت پیشفرض آبجکتها و کنترل

    FontTransparent: شفافیت و زیبایی فونت

    ForeColor: رنگ رو. مثل کاملاتی که با دستور Print نوشته میشوند.

    Height: ارتفاع یا طول کنترل

    InvisibleAtRuntime: این گزینه اگر True باشد در هنگام اجرا قابلیتهایی مثل Drag و Drop رو از دست میده.

    KeyPreview : این گزینه به شما میگوید که وقتی کلیدی فشرده شد اول به فرم انتقال داده شود بعد به آبجکت.

    MouseIcon: آیکن ماوس کنترل

    MousePointer: نشانه گرد ماوس. مثل Hourglass که برابر است با 11

    Picture: عکس پس زمینه کنترل

    PropertyPage: فعال بودن با نبودن صفحاتی مثل Font و ...

    Public: قابلیت قرار گرفتن روی فرم. (همیشه باید True باشد)

    RightToLeft: طریقه نوشتن کنترل. مثلا در دستور Print متن از سمت راست کنترل نوشه میشود

    ScaleMode: تعیین نوع واحد ها مثل تویپ پیکسل و ...

    ToolboxPicture: عکسی که در هنگامی که در لیست کنترل ها قرار گیرد

    Width: عرض و پهنای کنترل
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست untitled.JPG  

  7. سپاس ها (1)


  8. #4


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    RE: روش ساختن اکتیوکس

    اضافه کردن Function و Sub به ActiveX

    فرق بین Function و Sub:

    Sub و Function هر دو - بوسیله یک سری متغییر که از کاربر میگیرند – دستوراتی را انجام میدهند. با این تفاوت که Sub فقط انجام میدهد. اما Function علاوه بر آن که دستورات را انجام میدهد نقش متغیر را نیز دارد و به خود یک متغیر نسبت میدهد.
    برای اضافه کردن Function به کنترل:
    در قسمت General Declaration کد زیر را اضافه کنید:

    [align=left]
    کد PHP:
    Public Function FuncName(ByVal Var1 As StringByVal Var2 As Integer) As String

    End 
    Function 
    [/align]

    به جاي FuncName نام Function را بنويسيد. به جاي Var1 و Var2 نام متغير دلخواه را تايپ کنید. برای اضافه کردن متغیر هایی دیگر مانند نمونه کد بالا عمل کنید.
    در صورتی که متغیر اختیاری باشد و نسبت دادن به آن اجباری نباشد از نمونه زیر استفاده کنید.

    [align=left]
    کد PHP:
    Public Function FuncName(ByVal Optional Var1 As String "Text"ByVal Var2 As IntegerAs String

    End 
    Function 
    [/align]
    در نمونه بالا Var1 اختیاری است و در صورت وارد نکردن به Text تبدیل میشود.
    در بین Public Function … و End Function میتوان دستورات را نوشت.
    نمونه زیر از کاربر دو متغیر را میگیرد و سپس جمع آن دو را به خود نسبت میدهد.
    [align=left]
    کد PHP:
    Public Function Add(ByVal Number1 As StringByVal Number2 As Integer) As Integer
    Dim Addition 
    As Integer
    Addition 
    Number1 Number2
    Add 
    Addition
    End 
    Function 
    [/align]

    در اجرای این Function این چنین مینویسیم:

    [align=left]
    کد PHP:
    MsgBox UserControl1.Add(1211
    [/align]

    برای ایجاد یک Sub دقیقا مانند Function عمل میکنیم. با این تفاوت که دیگر بعد از بستن پرانتز آخر نمیتوان نوع متغیر را مشخص نمود. مانند:
    [align=left]
    کد PHP:
    Public Sub Add(ByVal Number1 As StringByVal Number2 As Integer
    Dim Addition As Integer
    Addition 
    Number1 Number2
    MsgBox Addition
    End Sub 
    [/align]

  9. سپاس ها (2)


  10. #5


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    RE: روش ساختن اکتیوکس

    اضافه کردن Property به ActiveX

    برای اضافه کردن Property به کنترل دو راه وجود دارد.
    راه اول:
    در قسمت General Declaration کد زیر را اضافه کنید:
    [align=left]
    کد PHP:
    Public Text As String 
    [/align]
    اما این روش خوبی نیست. دلیلش رو باروش دوم میشه فهمید.

    راه دوم:
    این راه خیلی سخت تر از روش اول هست. از دو قسمت Get و Let و گاهی اوقات نیز از Set نیز دراین
    تشکیل میشود.

    در این نمونه یک Label برروی فرم موجود است که با این Property میتوان متن آن را تغییر داد.
    ابتدا یک Label به کنترل اضافه کنید.
    Get
    نخست باید یک متغیر در General Declaration تعریف کرد.
    [align=left]
    کد PHP:
    Dim varText As String
    بعد کد زیر را اضافه کنید
    .
    Public 
    Property Get Text() As String
    Text 
    Label1.Caption
    End Property 
    [/align]
    Property Get هنگامی اجرا میشود گه شما بخواهید مقدار مورد نظر (در اینجا Text) را بگیرید. مثلا:
    [align=left]
    کد PHP:
    MsgBox UserControl1.Text 
    [/align]
    Let
    کد زیر را اضافه کنید.
    [align=left]
    کد PHP:
    Public Property Let Text(New_Text As String)
    Label1.Caption New_Text
    PropertyChanged 
    "Text"
    End Property 
    [/align]
    Property Let هنگامي اجرا ميشوى كه شما بخواهيد مقدار مورد نظر (در اینجا Text) را تغییر دهید.
    Propery Set نیز مانند Property Set میماند ام معمولا برای فونت ها به جای Let استفاده میشود.
    اضافه کردن Event به کنترل
    Event مجموعه دستوراتی هستند که کاربر آن ها را در هنگام اجرای برنامه تعریف میکند. اما زمان اجرای آن دست برنامه نویس است.
    نمونه: در این نمونه یک Shape وجود دارد. یک Property رنگ نیز موجود است که با تغییر آن رنگ Shape نیز تغییر میکند. با تغییر رنگ Shape دستوراتی که کابر در هنگام اجرا میشود.

    ایتدا یک Shape به کنترل اضافه کنید و حالت BackStyle آن را به Opaque تغییر دهید.
    طبق تصویر پیوست

    اول یک رویداد در General Declaration با نام Change ایجاد میکنیم.
    [align=left]
    کد PHP:
    Public Event Change(OldColor As LongNewColor As Long
    [/align]
    بعد یک متغیر برای رنگ تعریف می کنیم.

    [align=left]
    Dim varcolor as long
    [/align]

    اکنون یک Property جدید با نام BackColor ایجاد میکنیم.

    [align=left]
    کد PHP:
    Public Property Get BackColor() As OLE_COLOR
    BackColor 
    Shape1.BackColor
    End Property
    Public Property Let BackColor(New_BackColor As OLE_COLOR)
    Dim S As Long
    Shape1.BackColor
    Shape1
    .BackColor New_BackColor
    RaiseEvent Change
    (SNew_BackColor)
    PropertyChanged "BackColor"
    End Property 
    [/align]





    فرمان RaiseEvent برای اجرای دستورات یک Event است که این فرامین را کاربر در هنگام Runtime تعریف میکند.
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست Capture.GIF  

  11. سپاس ها (1)


  12. #6


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    RE: روش ساختن اکتیوکس

    مشخصات متغیرها
    برای تغییر مشخصات متغیرها از منوی Tools گزینه Procedure Attributes را انتخاب کنید.
    از قسمت Name نام متغیر را انتخاب کنید و در قسمت Description توضیحی در مورد آن بنویسید.

    ایجاد Type جدید

    Type یا نوع چیزهایی هستند که کاربر را در انتخاب مقدار متغییرها در هنگام اجرای یک Sub و یا ... راهنمایی میکنند.
    برای ایجاد یک Type جدید ابتدا در قسمت General Declaration کد زیر را تایپ کنید.
    [align=left]
    کد PHP:
    Public Type Color
    Red 
    As Long
    Green 
    As Long
    Yellow 
    As Long
    Black 
    As Long
    White 
    As Long
    End Type 
    [/align]
    به جای Color میتوان نام مورد نظر را جایگزین کرد. در بین Private Type و End Type میتوان متغیر و نوع آن را مشخص کرد. ىر حال حاضر يك Type جدید ایجاد شده است.
    اکنون باید متغیرها را مقداردهی کرد.
    [align=left]
    کد PHP:
    Const Red 255
    Const Green 65280
    Const Yellow 65535
    Const blcak 0
    Const White16777215 
    [/align]
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست untitled.bmp  

  13. سپاس ها (1)


  14. #7


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    RE: روش ساختن اکتیوکس

    اضافه کردن Property Page

    Property Page صفحاتي مانند فرم هستند که میتوان درون آن ها نیز آبجکت و ... قرار داد. برای اضافه کردن در پنجره Project در بالا سمت راست رو Project موردنظر کلیک راست کرده و از زیر مجموعه Add گزینه Property Page را انتخاب کنید.

    از کادر بازشده Open را کلیک کنید.
    پنجره Property خود را مانند زیر آرایش کنید:

    سپس کد زیر را برای این صفحه وارد کنید:
    [align=left]
    کد PHP:
    Private Sub Combo1_Click()
    Label1.FontName Combo1.Text
    End Sub

    Private Sub PropertyPage_Initialize()
    For 
    0 To Combo1.ListCount 1
    Combo1
    .RemoveItem 0
    Next i
    For 0 To Screen.FontCount 1
    Combo1
    .AddItem Screen.Fonts(i)
    Next i
    End Sub 
    [/align]


    از مشخصات کنترل گزینه PropertyPages را انتخاب كرده و گزینه PropertyPage1 را فعال نمایید و کلید OK را کلیک کنید.

    اکنون هنگام اجرا در مشخصات کنترل برنامه خود گزینه ای بانام (Custom) وجود دارد که باکلیک کزدن برروی آن پنجره مورد نظر نمایش داده میشود.
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست 1.JPG   2.JPG   3.JPG  

  15. سپاس ها (1)


  16. #8


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    RE: روش ساختن اکتیوکس

    یک ترفند جالب
    ممکن است شما بخواهید در قسمت Properties کنترل خود یک مورد با نام (About) نیز وجود داشته باشد. برای این کار:

    1- از منوی Project گزینه Add Form را کلیک کرده و از کادر گزینه About Dialog را دابل کلیک کنید.

    2- سپس به کنترل برگردید و یک Sub به آن اضافه کنید. مانند زیر

    [align=left]
    کد PHP:
    Public Sub ShowAboutBox ()
    frmAbout.Show 1
            End Sub 
    [/align]
    از منوی Tools گزینه Procedure Attributes را انتخاب کنید.
    از قسمت Name گزینه ShowAboutBox را انتخاب نمایید.
    گزینه Advanced >> را کلیک کنید.
    از قسمت Procedure ID گزینه AboutBox را انتخاب کنید.
    کلید OK را کلیک کنید.


    این آخرین تایپیک در این زمینه بود امیدوارم برای دوستان مفید واقع بشه
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست 1.JPG   2.JPG  

  17. سپاس ها (1)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

ایجاد اکتیوکس

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است