تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طريقة من أجمل الطرق لجعل الفورم على شكل صورة عندك
#31
أسامة أحمد كتب :هذا هو بعد التعديل الست تقصد ان الصورة تتغير ولما تنتهي الصور يفتح الفورم

[ATTACH]823[/ATTACH]


استاذي الغالي أسامة تحيه
مع الاسف شغلت المشروع وتظهر نفس رسالة الخطأ
حتى بعدما حذفت حضرتك الكلاس ووضعت كل الكود داخل الفورم
انا اعمل على اصدار 2010 وانت تعمل على اصدار 2008
هل تتوقع هذا سبب الخطأ ؟
الرد }}}
تم الشكر بواسطة:
#32
لا أخي أنا اعمل على 2008 و2010 و2012 لكن ليستطيع الجميع فتحه
ممكن تحول الإصدارات من المشروع التالي


[ATTACH]824[/ATTACH]


الملفات المرفقة
.zip   ProjectConverter.zip (الحجم : 38.96 ك ب / التحميلات : 51)
رابط قناتي على اليوتيوب :
https://www.youtube.com/user/OsamaAhmadGalal
رابط حساب الفيسبوك :

https://www.facebook.com/P.Osama.Ahmad.Galal
رابط حساب التويتر :
https://twitter.com/osamaahmadgalal
البريد الإلكتروني للتواصل :
OsamaAhmadGalal@Hotmail.Com
OsamaAhmadGalal@Yahoo.Com
OsamaAhmadGalal@Gmail.Com
رقم الموبايل :
00201122777845

الرد }}}
تم الشكر بواسطة:
#33
استاذي الكريم أسامة تحيه كذلك لم يعمل المشروع معي

اخر مرشوع وضعه اخي المبدع Raggi Tech يعمل بدون اي خطأ ونفس الذي انا ابغى تمام
بس عندما احاول اطبق المشروع على مشروع جديد لا يعمل المشروع الجديد
انا الان انتظر اخي Raggi Tech لكي يشرح لنا طريقة عمل المشروع
اكيد فيه خطوات تجهلني بطريقة إنشاء المشروع
المشروع من رفع المبدع Raggi Tech على الرابط التالي ويعمل تمام بس احتاج شرح طريقة عمل المشروع خطوة خطوة


http://vb4arb.com/vb/attachment.php?atta...1349765820


Rolleyes
الرد }}}
تم الشكر بواسطة:
#34
[b]
بسم الله الرحمن الرحيم

أفتح مشروع جديد

قم بوضع هذا الكود تحت كلمة Public Class Form1
كود :
Private mParent As Form
    Public ReadOnly Property Parentt() As Form
        Get
            Return mParent
        End Get
    End Property

    Private mMovable As Boolean = True
    Public Property Movable() As String
        Get
            Return mMovable
        End Get
        Set(ByVal value As String)
            mMovable = value
        End Set
    End Property

    Public Sub SetImage(ByVal frm As Form, ByVal btm As Bitmap)

        Try
            mParent = frm

            Dim exStyle As Int32 = APIs.GetWindowLong(frm.Handle.ToInt32, APIs.GWL_EXSTYLE)

            APIs.SetWindowLong(frm.Handle.ToInt32, APIs.GWL_EXSTYLE, exStyle Or APIs.WS_EX_LAYERED)
            If Not (Bitmap.IsCanonicalPixelFormat(btm.PixelFormat)) Or Not (Bitmap.IsAlphaPixelFormat(btm.PixelFormat)) Then
                Throw New ApplicationException("The picture must be 32bit picture with alpha channel.")
            End If

            Dim hDC As Int32 = APIs.GetDC(0)
            Dim hBtm As Int32
            Dim memDC As Int32 = APIs.CreateCompatibleDC(hDC)
            Dim Bits As Int32

            Dim dstPos As New APIs.POINTAPI(frm.Left, frm.Top)
            Dim srcPos As New APIs.POINTAPI(0, 0)
            Dim Siz As New APIs.SizeAPI(btm.Width, btm.Height)
            Dim Opt As New APIs.BLEND_OPTIONS

            Opt.SourceConstantAlpha = 255
            Opt.AlphaFormat = 1
            Opt.BlendOp = 0
            Opt.BlendFlags = 0

            Try
                hBtm = btm.GetHbitmap(Color.Black).ToInt32
                Bits = APIs.SelectObject(memDC, hBtm)

                APIs.UpdateLayeredWindow(frm.Handle, hDC, dstPos, Siz, memDC, srcPos, 0, Opt, 2)
            Catch ex As Exception

            End Try

            If hBtm <> 0 Then
                APIs.SelectObject(memDC, Bits)
                APIs.DeleteObject(hBtm)
            End If

            APIs.ReleaseDC(0, hDC)
            APIs.DeleteDC(memDC)

        Catch ex As Exception

        End Try
    End Sub


    Private mLastLocation As Point
    Private Class APIs

        Public Declare Function CreateCompatibleDC Lib "gdi32.dll" (ByVal hdc As Int32) As Int32
        Public Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Int32) As Int32
        Public Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As Int32, ByVal hObject As Int32) As Int32
        Public Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As Int32, ByVal hdc As Int32) As Int32
        Public Declare Function DeleteDC Lib "gdi32.dll" (ByVal hdc As Int32) As Int32
        Public Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As Int32) As Int32
        Public Declare Function UpdateLayeredWindow Lib "user32.dll" (ByVal hWnd As Int32, ByVal hdcDst As Int32, ByRef pptDst As POINTAPI, ByRef psize As SizeAPI, ByVal hdcSrc As Int32, ByRef pptSrc As POINTAPI, ByVal crKey As Int32, ByRef pblend As BLEND_OPTIONS, ByVal dwFlags As Int32) As Int32
        Public Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongW" (ByVal hwnd As Int32, ByVal nIndex As Int32) As Int32
        Public Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongW" (ByVal hwnd As Int32, ByVal nIndex As Int32, ByVal dwNewLong As Int32) As Int32

        Public Const GWL_EXSTYLE As Int32 = -20
        Public Const WS_EX_LAYERED As Int32 = &H80000

        <StructLayout(LayoutKind.Sequential, Pack:=1)> _
        Public Structure BLEND_OPTIONS
            Public BlendOp As Byte
            Public BlendFlags As Byte
            Public SourceConstantAlpha As Byte
            Public AlphaFormat As Byte
        End Structure

        <StructLayout(LayoutKind.Sequential)> _
        Public Structure SizeAPI
            Public cx As Int32
            Public cy As Int32

            Sub New(ByVal cx As Int32, ByVal cy As Int32)
                Me.cx = cx
                Me.cy = cy
            End Sub
        End Structure

        <StructLayout(LayoutKind.Sequential)> _
        Public Structure POINTAPI
            Public x As Int32
            Public y As Int32

            Sub New(ByVal x As Int32, ByVal y As Int32)
                Me.x = x
                Me.y = y
            End Sub
        End Structure


        Public Declare Function ExtCreateRegion Lib "gdi32.dll" ( _
          ByRef lpXform As XFORM, _
          ByVal nCount As Int32, _
          ByRef lpRgnData As RGNDATA) As Int32
        <StructLayout(LayoutKind.Sequential)> _
        Public Structure XFORM
            Public eM11 As Single
            Public eM12 As Single
            Public eM21 As Single
            Public eM22 As Single
            Public eDx As Single
            Public eDy As Single
        End Structure

        <StructLayout(LayoutKind.Sequential)> _
        Public Structure RGNDATA
            Public rdh As RGNDATAHEADER
            Public Buffer As Byte
        End Structure

        <StructLayout(LayoutKind.Sequential)> _
        Public Structure RGNDATAHEADER
            Public dwSize As Int32
            Public iType As Int32
            Public nCount As Int32
            Public nRgnSize As Int32
            Public rcBound As RECT
        End Structure

        <StructLayout(LayoutKind.Sequential)> _
        Public Structure RECT
            Public Left As Int32
            Public Top As Int32
            Public Right As Int32
            Public Bottom As Int32
        End Structure


    End Class

ثم ضع هذا الكود أعلى الكلمة

كود :
Imports System.Runtime.InteropServices

ثم في الحدث form load
كود :
Dim Layer As New Form1
        Layer.SetImage(Me, Me.BackgroundImage)

ثم أجعل خاصية الفورم formborderstyle إلى none

ثم غير خلفية الفورم وأجعلها الصورة الpng الي حضرتك عايزها


أنتهى أنا آسف الشرح مش كويس بس علشان مستعجل أنا آسف أخي الحبيب
[/b]
رابط قناتي على اليوتيوب :
https://www.youtube.com/user/OsamaAhmadGalal
رابط حساب الفيسبوك :

https://www.facebook.com/P.Osama.Ahmad.Galal
رابط حساب التويتر :
https://twitter.com/osamaahmadgalal
البريد الإلكتروني للتواصل :
OsamaAhmadGalal@Hotmail.Com
OsamaAhmadGalal@Yahoo.Com
OsamaAhmadGalal@Gmail.Com
رقم الموبايل :
00201122777845

الرد }}}
تم الشكر بواسطة:
#35
استاذي الكريم أسامة الف شكر لك
بس بنتظر شرح الاستاذ Raggi Tech عشان المشروع الذي عمله يعمل تمام
حتى يشرح طريقة إنشاء المشروع من الصفر

:eek:
الرد }}}
تم الشكر بواسطة:
#36
السلام عليكم ورحمة الله وبركاته
يجب ان نشكر الاخ أسامة أحمد لانه هو من كتب الموضوع و ترك لنا الباب مفتوحاً للنقاش
وله جزيل الشكر على تقديم المساعدة

نبدأ الان بالشرح المطلوب :

  1. اصنع مشروع جديد به فورمين Form1 و Form2 ثم غير الخاصية
    FormBorderStyle للفورم إلى None
    كما هو موضح في الصورة

    [*=right]قم بتغير خاصية StartPosition الى CenterScreen
    كما هو موضح في الصورة




    [*=right]ثم لاضافة الصور نتبع الخطوات التالية:-
    نقوم بفتح خصائص المشروع

    نقوم باختيار
    Resources من على يسار الشاشه
    ثم
    Add Resource ومنها نختار Add Existing File ونضيف الملفات المطلوبه


    [*=right]ثم يأتي دور اضافة الاكواد


    رقم 1
    كود :
    Imports System.Runtime.InteropServices

    رقم 2
    كود :
    Dim picnum = 0
    Private mParent As Form




        Public ReadOnly Property Parentt() As Form
            Get
                Return mParent
            End Get
        End Property


        Private mMovable As Boolean = True
        Public Property Movable() As String
            Get
                Return mMovable
            End Get
            Set(ByVal value As String)
                mMovable = value
            End Set
        End Property


        Public Sub SetImage(ByVal frm As Form, ByVal btm As Bitmap)


            Try
                mParent = frm


                Dim exStyle As Int32 = APIs.GetWindowLong(frm.Handle.ToInt32, APIs.GWL_EXSTYLE)


                APIs.SetWindowLong(frm.Handle.ToInt32, APIs.GWL_EXSTYLE, exStyle Or APIs.WS_EX_LAYERED)
                If Not (Bitmap.IsCanonicalPixelFormat(btm.PixelFormat)) Or Not (Bitmap.IsAlphaPixelFormat(btm.PixelFormat)) Then
                    Throw New ApplicationException("The picture must be 32bit picture with alpha channel.")
                End If


                Dim hDC As Int32 = APIs.GetDC(0)
                Dim hBtm As Int32
                Dim memDC As Int32 = APIs.CreateCompatibleDC(hDC)
                Dim Bits As Int32


                Dim dstPos As New APIs.POINTAPI(frm.Left, frm.Top)
                Dim srcPos As New APIs.POINTAPI(0, 0)
                Dim Siz As New APIs.SizeAPI(btm.Width, btm.Height)
                Dim Opt As New APIs.BLEND_OPTIONS


                Opt.SourceConstantAlpha = 255
                Opt.AlphaFormat = 1
                Opt.BlendOp = 0
                Opt.BlendFlags = 0


                Try
                    hBtm = btm.GetHbitmap(Color.Black).ToInt32
                    Bits = APIs.SelectObject(memDC, hBtm)


                    APIs.UpdateLayeredWindow(frm.Handle, hDC, dstPos, Siz, memDC, srcPos, 0, Opt, 2)
                Catch ex As Exception


                End Try


                If hBtm <> 0 Then
                    APIs.SelectObject(memDC, Bits)
                    APIs.DeleteObject(hBtm)
                End If


                APIs.ReleaseDC(0, hDC)
                APIs.DeleteDC(memDC)


            Catch ex As Exception


            End Try
        End Sub




        Private mLastLocation As Point
        Private Class APIs


            Public Declare Function CreateCompatibleDC Lib "gdi32.dll" (ByVal hdc As Int32) As Int32
            Public Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Int32) As Int32
            Public Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As Int32, ByVal hObject As Int32) As Int32
            Public Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As Int32, ByVal hdc As Int32) As Int32
            Public Declare Function DeleteDC Lib "gdi32.dll" (ByVal hdc As Int32) As Int32
            Public Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As Int32) As Int32
            Public Declare Function UpdateLayeredWindow Lib "user32.dll" (ByVal hWnd As Int32, ByVal hdcDst As Int32, ByRef pptDst As POINTAPI, ByRef psize As SizeAPI, ByVal hdcSrc As Int32, ByRef pptSrc As POINTAPI, ByVal crKey As Int32, ByRef pblend As BLEND_OPTIONS, ByVal dwFlags As Int32) As Int32
            Public Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongW" (ByVal hwnd As Int32, ByVal nIndex As Int32) As Int32
            Public Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongW" (ByVal hwnd As Int32, ByVal nIndex As Int32, ByVal dwNewLong As Int32) As Int32


            Public Const GWL_EXSTYLE As Int32 = -20
            Public Const WS_EX_LAYERED As Int32 = &H80000


            <StructLayout(LayoutKind.Sequential, Pack:=1)> _
            Public Structure BLEND_OPTIONS
                Public BlendOp As Byte
                Public BlendFlags As Byte
                Public SourceConstantAlpha As Byte
                Public AlphaFormat As Byte
            End Structure


            <StructLayout(LayoutKind.Sequential)> _
            Public Structure SizeAPI
                Public cx As Int32
                Public cy As Int32


                Sub New(ByVal cx As Int32, ByVal cy As Int32)
                    Me.cx = cx
                    Me.cy = cy
                End Sub
            End Structure


            <StructLayout(LayoutKind.Sequential)> _
            Public Structure POINTAPI
                Public x As Int32
                Public y As Int32


                Sub New(ByVal x As Int32, ByVal y As Int32)
                    Me.x = x
                    Me.y = y
                End Sub
            End Structure




            Public Declare Function ExtCreateRegion Lib "gdi32.dll" ( _
              ByRef lpXform As XFORM, _
              ByVal nCount As Int32, _
              ByRef lpRgnData As RGNDATA) As Int32
            <StructLayout(LayoutKind.Sequential)> _
            Public Structure XFORM
                Public eM11 As Single
                Public eM12 As Single
                Public eM21 As Single
                Public eM22 As Single
                Public eDx As Single
                Public eDy As Single
            End Structure


            <StructLayout(LayoutKind.Sequential)> _
            Public Structure RGNDATA
                Public rdh As RGNDATAHEADER
                Public Buffer As Byte
            End Structure


            <StructLayout(LayoutKind.Sequential)> _
            Public Structure RGNDATAHEADER
                Public dwSize As Int32
                Public iType As Int32
                Public nCount As Int32
                Public nRgnSize As Int32
                Public rcBound As RECT
            End Structure


            <StructLayout(LayoutKind.Sequential)> _
            Public Structure RECT
                Public Left As Int32
                Public Top As Int32
                Public Right As Int32
                Public Bottom As Int32
            End Structure




        End Class

    رقم 3
    كود :
    Dim Layer As New Form1
    Layer.SetImage(Me, My.Resources.Programs)[/COLOR][color=#008000] ' باي اسم صورة تم دمجها بالمشروع Programs استبدل كلمة [/color][COLOR=#000080]


    [*=right]نقوم باضافة Timer1 و نغير قيمة interval الى 5000 اي الى 5 ثواني



    [*=right]ثم نضع بداخل Timer1 الكود التالي

    كود :
    [b][FONT=tahoma][SIZE=2][color=#000080] Dim Layer As New Form1[/color][/SIZE][/FONT][/b]
    [COLOR=#008000][b][FONT=tahoma][SIZE=2]        '[/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2]        '[/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2]        ' Layer.SetImage(Me, My.Resources.الصورة التي تم دمجها بالمشروع)[/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2]        '[/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2]        '[/SIZE][/FONT][/b][/COLOR]
    [b][FONT=tahoma][SIZE=2][color=#000080]        If picnum = 0 Then[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            Layer.SetImage(Me, My.Resources.Emoji1_200)[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            picnum += 1[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]        ElseIf picnum = 1 Then[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            Layer.SetImage(Me, My.Resources.Emoji10_200)[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            picnum += 1[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]        ElseIf picnum = 2 Then[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            Layer.SetImage(Me, My.Resources.Emoji11_200)[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            picnum += 1[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]        ElseIf picnum = 3 Then[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            Layer.SetImage(Me, My.Resources.Emoji18_200)[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            picnum = 4[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]        ElseIf picnum = 4 Then[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            picnum = 0[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            Timer1.Enabled = False[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            Form2.Show()[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][color=#000080]            Hide()[/color][/SIZE][/FONT][/b]
    [b][FONT=tahoma][SIZE=2][COLOR=#000080]        End If
    [/COLOR][/SIZE][/FONT][/b]



    [*=right]ثم نذهب الى تصريح shown الخاص بالفورم


    ونضع بداخله الكود التالى
    كود :
    Timer1.Enabled = True



تم بحمد الله
لعل هذا هو المطلوب
بالتوفيق ان شاء الله

الرد }}}
تم الشكر بواسطة:
#37
استاذي المبدع Raggi Tech تحيه من القلب والله

بس اساذي الفاضل لم يعمل معي البرنامج ووالله عملت كل ما موجود بالشرح خطوة خطوة
واعتقد سبب المشكلة هو دمج الصورة بالفورم وانا سبق قلت ارجوك لاتجعل اي صورة مدموجة بالفورم

والان شاهد الخطأ بهذه الصورة المرفقة





استاذي الكريم ممكن لو سمحت تحذف الكود الذي سبب المشكلة وهو اعتقد كود دمج صورة بالفورم

وتجعل فقط الكود يشغل الصور التي جوه ملف المصدر فقط حتى يعمل معي الكود إن شاء الله

انا انتظر التعديل استاذي الكريم
الرد }}}
تم الشكر بواسطة:
#38
كود :
Layer.SetImage(Me, My.Resources.Emoji18_200)

لاحظت ان حضرتك ليس عندك خلفيه عن resource
فان كانت ملاحظتي صحيحه ينصح بالبحث عن طريق التعامل معها ومنها ستعلم طريق اسخدامها

الرد }}}
تم الشكر بواسطة:
#39
أستاذ Raggi Tech ممكن سؤالين

1- طريقة وضع الكلاس داخل الفورم تجعل الفورم مايتحركش ممكن طريقة لجعله يتحرك بمثال لو سمحت

2- لا يمكن وضع أية أدوات على الفورم ممكن طريقة وضع أدوات عليه بمثال لو سمحت
الرد }}}
تم الشكر بواسطة:
#40
شي غريب استاذي المبدع عملت التغيير على الكود كما وضعت لي
وعند تشغيل البرنامج لم تظهر لي اي رسالة خطأ
ولم تظهر الصور وعند مرور تقريبا 20 ثانية تظهر الفورم رقم 2

ما السبب استاذي الفاضل

الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومة :: تعلم كيف تحفظ صورة في My.Settings بدون الإحتياج إلى مسارها! أسامة أحمد 13 6,239 15-04-24, 01:13 AM
آخر رد: أبو جودة
  حساب مكان الفورم علي شاشة الكمبيوتر silverlight 2 3,167 18-06-23, 03:26 PM
آخر رد: kebboud
  طريقة إنشاء برنامج طباعة ملصقات الباركود ملهمـ 1 4,406 22-12-21, 05:09 PM
آخر رد: alessam4pro
  طريقة عمل نسخة لتثبيت فيجوال ستوديو بدون نت معاند الحظ 12 8,131 11-12-21, 04:26 PM
آخر رد: اسلام الكبابى
  طريقة تشغيل كريستال ريبورت بجميع ادارات فيجول نت abdhassan 3 7,075 26-02-21, 08:57 PM
آخر رد: علي النقيب
  طريقة إضافة اختصار للصنف في شاشة المبيعات ملهمـ 5 5,909 14-07-20, 12:24 PM
آخر رد: ابراهيم ايبو
Heart [مقال] شرح طريقة معرفة محتوى الكوكيز sooriaty03 5 6,205 11-02-20, 03:18 PM
آخر رد: DK-x
  [VB.NET] سؤال عن طريقة نسخ كل الروابط و اسم الرابط من موقع انترنت toedi 3 3,055 16-01-20, 07:34 AM
آخر رد: toedi
  طريقة تقسيم كودك البرمجة الي سطرين أو أكثر كم تريد dametucorazon 1 3,934 06-09-19, 12:55 AM
آخر رد: سعود
  شرح طريقة حساب الكمية والبيع بأكثر من وحدة ملهمـ 7 5,694 30-08-19, 03:38 AM
آخر رد: atefkhalf2004

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم