تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 6 از 7 اولاول ... 234567 آخرآخر
نمايش نتايج 51 به 60 از 66

نام تاپيک: كنترل هاي توپ ويژوال بيسيك

  1. #51
    Banned
    تاريخ عضويت
    Mar 2007
    محل سكونت
    Forum.p30world
    پست ها
    1,546

    پيش فرض

    بيشتر برامون بزار

  2. #52
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    12 مدیریت رجیستری

    این برنامه چگونگی برنامه نویسی برای رجیستری ویندوز را نشان را می دهد , شما با یک نگاه به سورس این برنامه متوجه می شوید که چگونه عمل می کند . در ضمن علت اینکه من دیگه مثل گذشته توضیحی برای سورس برنامه نمی دهم این است که اصلاً وقت نمی شه , اگه باز هم احساس می کنید که در فهم سورس این برنامه مشکلی دارید برام ایمیل بزنید تا در اولین موقعیت برایتان توضیح دهم .

    همچنین یه Help هم برای دانلود گذاشتم که شما را برای رسیدن به آدرس مورد نظر برای تغییر در رجیستری ویندوز کمک می کنه . این Help طبقه بندی شده است و بسیار کامل و خوب هست حتماً دانلود کنید .
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  3. #53
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    13 قرار دادن يک تصوير در گوشه منوهای ويژوال بيسيک

    خوب حالا یه پروژه جدید بسازین و در ضمن یک تصویر Bitmap با اندازه Pixel 10*10 هم آماده کنید تا در این پروژه ازش استفاه کنید. خوب روی فرمتون دوبار کلیک کنید و کد زیر رو تو قسمت Declaration وارد کنید:

    Option Explicit

    Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long

    Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, _
    ByVal nPos As Long) As Long

    Private Declare Function SetMenuItemBitmaps Lib "user32" _
    (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, _
    ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long

    Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" _
    (ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, _
    ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long

    ' Constant for SetMenuItemBitmaps
    Private Const MF_BYPOSITION = &H400&

    ' Constants for LoadImage
    Private Const IMAGE_BITMAP = &O0
    Private Const LR_LOADFROMFILE = 16
    Private Const LR_CREATEDIBSECTION = 8192

    خوب تو این قسمت ما چهار تا تابع API تعریف کردیم که اینجا کارشونو به طور مختصر شرح میدم:
    GetMenu: از این تابع برای بدست آوردن یک Handle (HWND) از کل منوی فرم استفاده میشه.
    GetSubMenu: از این تابع برای بدست آوردن hwnd یکی از منوها (مثلا منوی File یا منوی Edit) استفاده میشه.
    SerMenuItemBitmap: خوب این تابع نقش اصلی رو بازی میکنه و برای قرار دادن تصویر Bitmap در کنار نام زیر منو استفاده میشه.
    LoadImage: از این تابع برای Load کردن تصویر Bitmap درون حافظه استفاده میکنیم.

    خوب حالا یه Command Button به پروژتون اضافه کنید و کد زیر رو توش وارد کنید (رو دکمه دوبار کلیک کنید و کد رو Paste کنید):

    Dim hMenu As Long
    Dim hSubMenu As Long
    Dim hMenuImg As Long
    Dim sFileName As String

    ' Get the bitmap.
    sFileName = App.Path & "\MenuImg.bmp"
    hMenuImg = LoadImage(0, sFileName, IMAGE_BITMAP, 0, 0, _
    LR_LOADFROMFILE Or LR_CREATEDIBSECTION)
    ' Get the menu item handle.
    hMenu = GetMenu(Me.hwnd)
    hSubMenu = GetSubMenu(hMenu, 1)
    ' Set the "mnuTwo" bitmap to the one that is loaded in memory.
    Call SetMenuItemBitmaps(hSubMenu, 0, MF_BYPOSITION, hMenuImg, 0)

    خوب تو این قسمت اول سک متغیر برای hwnd کلی منو، یکی برای منو، و یک اشاره گر به تصویری که فراره تو حافظه Load شه و یک رشته برای مسیر فایل Bitmap تعریف کردیم. بعد مسیر فایل رو تعیین کردیم که من Bitmap خودمو تو مسیر پروژم (App.path) با نام MenuImg.bmp ذخیره کردم ولی شما میتونین اونو به مسیر فایل خودتون تغییر بدین. بعد توسط تابع LoadImage اونو Load کردیم. بعد از اون hwnd کلی منو و hwnd منوی شماره یک (مثلا اگه شما دو تا منو به ترتیب از چپ به راست File و Edit دارین شماره منوی File میشه 0 و شماره منوی Edit میشه 1 و بقیه هم به همین صورت) رو بدست آوردیم. در مرحله آخر تصویر Bitmap رو برای زیر منوی اول این منو set کردیم. (این هم از 0 شروع میشه یعنی شماره 0 به زیرمنوی اول اشاره میکنه). شما میتونین واسه بقیه منوها هم این کار رو بکنین فقط باید مسیر فایل و شماره منو و شماره زیر منو رو تغییر بدین.
    Last edited by عــــلی; 31-05-2007 at 21:21.

  4. #54
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    پيش فرض به دست آوردن دایرکتوری های اصلی ویندوز

    سلام.

    اینم برای دوستای ویروسی :
    به دست آوردن دایرکتوری ویندوز:

    Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
    lpBuffer یک بافر و nSize اندازه بافر
    Dim sBuf As String * 255
    Dim lLen As Long
    lLen = GetWindowsDirectory(sBuf, 255)
    MsgBox Left(sBuf, lLen)
    به دست آوردن دایرکتوری سیستم:

    Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
    مثل قبلی
    به دست آوردن دایرکتوری Temp:

    Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
    nBufferLength طول بافر و lpBuffer هم یک بافر
    Dim sBuf As String * 255
    Dim lLen As Long
    lLen = GetTempPath(255, sBuf)
    MsgBox Left(sBuf, lLen)
    البته این کارا رو با استفاده از FileSystemObject هم میشه انجام داد. برای این کار باید از متد GetSpecialFolder استفاده کنیم:

    FileSystemObject.GetSpecialFolder(folderspec)

    که folderspec دایرکتوری مورد نظر ما را مشخص می کند و مقادیر آن 0 برای دایرکتوری ویندوز، 1 برای دایرکتوری سیستم و 2 برای دایرکتوری موقت می باشد.
    کد زیر دایرکتوری سیستم را به ما میدهد:

    Dim oFSO As Object
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    MsgBox oFSO.GetSpecialFolder(1)

  5. #55
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    پيش فرض آموزش ساخت فايل Ocx

    چگونه ActiveX بسازیم؟
    ActiveX چیست؟

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


    ActiveX شامل چیست:

    يك ActiveX خوب و كارامد باید دارای امکانات زیر باشد:
    Fuction یا دستور قابل اجرا:
    MP1.Play
    مشخص یا Property:
    MP1.FileName
    رویداد یا Event (مثلا هنگام کلیک برروی چیزی کدی اجرا شود که کاربر به آن می دهد):
    MP1_Click
    اینها تقریباً مهمترین اجرا هستند. اما می توان از اجزای دیگری مثل کلید عکس ویا حتی ActiveX دیگر در آن قرار داد.

    شروع کار:
    وارد محیط Visual Basic شوید و در کادر اولی که باز میشود گزینه ActiveX Control را از سربرگ New دابل کلیک کنید.
    درصورتی که کادر بازنشد از کلیدهای Ctrl+N استفاده کنید.
    یک ActiveX جدید ایجاد شده است.

    مشخصات کنترلها (Properties):


    مهمترین مشخصات یک 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: عرض و پهنای کنترل

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

    فرق بین Function و Sub:

    Sub و Function هر دو - بوسیله یک سری متغییر که از کاربر میگیرند – دستوراتی را انجام میدهند. با این تفاوت که Sub فقط انجام میدهد. اما Function علاوه بر آن که دستورات را انجام میدهد نقش متغیر را نیز دارد و به خود یک متغیر نسبت میدهد.
    برای اضافه کردن Function به کنترل:
    در قسمت General Declarationکد زیر را اضافه کنید:
    Public Function FuncName(ByVal Var1 As String, ByVal Var2 As Integer) As String

    End Function
    به جاي FuncName نام Function را بنويسيد. به جاي Var1و Var2نام متغير دلخواه را تايپ کنید. برای اضافه کردن متغیر هایی دیگر مانند نمونه کد بالا عمل کنید.
    در صورتی که متغیر اختیاری باشد و نسبت دادن به آن اجباری نباشد از نمونه زیر استفاده کنید.
    Public Function FuncName(ByVal Optional Var1 As String = "Text", ByVal Var2 As Integer) _ As String

    End Function
    در نمونه بالا Var1 اختیاری است و در صورت وارد نکردن به Text تبدیل میشود.
    در بین Public Function … و End Function میتوان دستورات را نوشت.
    نمونه زیر از کاربر دو متغیر را میگیرد و سپس جمع آن دو را به خود نسبت میدهد.

    Public Function Add(ByVal Number1 As String, ByVal Number2 As Integer) As Integer
    Dim Addition As Integer
    Addition = Number1 + Number2
    Add = Addition
    End Function
    در اجرای این Function این چنین مینویسیم:
    MsgBox UserControl1.Add(12, 11)
    برای ایجاد یک Sub دقیقا مانند Function عمل میکنیم. با این تفاوت که دیگر بعد از بستن پرانتز آخر نمیتوان نوع متغیر را مشخص نمود. مانند:
    Public Sub Add(ByVal Number1 As String, ByVal Number2 As Integer)
    Dim Addition As Integer
    Addition = Number1 + Number2
    MsgBox Addition
    End Sub
    یک ترفند جالب
    ممکن است شما بخواهید در قسمت Properties کنترل خود یک مورد با نام (About) نیز وجود داشته باشد. برای این کار:
    1- از منوی Project گزینه Add Form را کلیک کرده و از کادر گزینه About Dialog را دابل کلیک کنید.

    2- سپس به کنترل برگردید و یک Sub به آن اضافه کنید. مانند زیر
    Public Sub ShowAboutBox ()
    frmAbout.Show 1
    End Sub
    از منوی Tools گزینه Procedure Attributes را انتخاب کنید.
    از قسمت Name گزینه ShowAboutBox را انتخاب نمایید.
    گزینه Advanced >> را کلیک کنید.
    از قسمت Procedure ID گزینه AboutBox را انتخاب کنید.
    کلید OK را کلیک کنید.


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

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

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

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

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

    اول یک رویداد در General Declaration با نام Change ایجاد میکنیم.
    Public Event Change(OldColor As Long, NewColor As Long)
    بعد یک متغیر برای رنگ تعریف می کنیم.
    Dim varColor As Long
    اکنون یک Property جدید با نام BackColor ایجاد میکنیم.
    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
    S = Shape1.BackColor
    Shape1.BackColor = New_BackColor
    RaiseEvent Change(S, New_BackColor)
    PropertyChanged "BackColor"
    End Property
    فرمان RaiseEvent برای اجرای دستورات یک Event است که این فرامین را کاربر در هنگام Runtime تعریف میکند.

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


    ایجاد Type جدید

    Type یا نوع چیزهایی هستند که کاربر را در انتخاب مقدار متغییرها در هنگام اجرای یک Sub و یا ... راهنمایی میکنند.
    برای ایجاد یک Type جدید ابتدا در قسمت General Declarationکد زیر را تایپ کنید.
    Public Type Color
    Red As Long
    Green As Long
    Yellow As Long
    Black As Long
    White As Long
    End Type
    به جای Color میتوان نام مورد نظر را جایگزین کرد. در بین Private Type و End Type میتوان متغیر و نوع آن را مشخص کرد. ىر حال حاضر يك Type جدید ایجاد شده است.
    اکنون باید متغیرها را مقداردهی کرد.
    Const Red = 255
    Const Green = 65280
    Const Yellow = 65535
    Const blcak = 0
    Const White= 16777215
    اضافه کردن Property Page
    Property Page صفحاتي مانند فرم هستند که میتوان درون آن ها نیز آبجکت و ... قرار داد. برای اضافه کردن در پنجره Project در بالا سمت راست رو Project موردنظر کلیک راست کرده و از زیر مجموعه Add گزینه Property Page را انتخاب کنید.

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

    سپس کد زیر را برای این صفحه وارد کنید:
    Private Sub Combo1_Click()
    Label1.FontName = Combo1.Text
    End Sub
    Private Sub PropertyPage_Initialize()
    For i = 0 To Combo1.ListCount - 1
    Combo1.RemoveItem 0
    Next i
    For i = 0 To Screen.FontCount - 1
    Combo1.AddItem Screen.Fonts(i)
    Next i
    End Sub
    از مشخصات کنترل گزینه PropertyPages را انتخاب كرده و گزینه PropertyPage1 را فعال نمایید و کلید OK را کلیک کنید.

    اکنون هنگام اجرا در مشخصات کنترل برنامه خود گزینه ای بانام (Custom) وجود دارد که باکلیک کزدن برروی آن پنجره مورد نظر نمایش داده میشود.

  6. #56
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    پيش فرض سایه انداختن لبه فرم

    Long, ByVal nIndex As Long) As Long
    Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Const CS_DROPSHADOW = &H20000
    Private Const GCL_STYLE = (-26)
    Sub DropShadow(hwnd As Long)
    SetClassLong hwnd, GCL_STYLE, GetClassLong(hwnd, GCL_STYLE) Or CS_DROPSHADOW
    End Sub
    Private Sub Form_Load()
    DropShadow Form1.hwnd
    End Sub

    حالا اجرا کنید که شاید برای بعضی ها سایه نیفتاد که باید روی دسکتاپ راست کلیک کنید و گزینه Propetice رو انتخاب و در تب Apperance روی دکمه Effect کلیک کنید و گزینه show shadow under menu رو فعال کنید.


  7. #57
    اگه نباشه جاش خالی می مونه AHMADUSE's Avatar
    تاريخ عضويت
    Mar 2006
    پست ها
    239

    پيش فرض

    اقا واقعا دست مريزاد
    اما
    ايكاش همه اينها در vb.net بود

  8. #58
    داره خودمونی میشه winer3549's Avatar
    تاريخ عضويت
    Jan 2008
    پست ها
    25

    پيش فرض

    از همه کنتلرهات توی یه برمانه استفاده کردم !!!!!!!!!!!!!!!

    نمیدونی چه شهر نویی شد !!!!!!!!!!!

  9. #59
    اگه نباشه جاش خالی می مونه mehdibarghi's Avatar
    تاريخ عضويت
    Feb 2008
    پست ها
    275

    پيش فرض

    آقا واقعاً دستتون درد نکنه !! عالیه ...

  10. #60
    اگه نباشه جاش خالی می مونه 301's Avatar
    تاريخ عضويت
    Jul 2007
    محل سكونت
    301World
    پست ها
    218

    پيش فرض

    علی آقا دمت گرم، خیلی علی بود

    بازم زار....

Thread Information

Users Browsing this Thread

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

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •