24-08-13, 01:13 AM
24-08-13, 01:14 AM
nin9e كتب :تمام اخي اشتغلت طيب و لو انا عاوز اول ما اختار اللون يطبق علطول مفضلش ادوس في كود ل كده؟
بسهولة نستخدم أداة الTimer
في المشاريع ال3
اما المشروع الاساسي لاتغير فيه
24-08-13, 01:18 AM
طيب وفي كود للتيمر؟؟
24-08-13, 01:22 AM
^
نحط الكود الموجود حاليا في button1
في حدث timer_tick
نحط الكود الموجود حاليا في button1

في حدث timer_tick
24-08-13, 01:26 AM
شكرا لهذا الصبر الوفير و المجود الرائع معلش بقي خبرتي قليله
وشكرا مره اخري علي مشركتك انت والاخ 3body
وشكرا مره اخري علي مشركتك انت والاخ 3body24-08-13, 02:40 AM
ممكن اضع طريقة أخرى
الطريقة باستخدام PostMessage
تعتمد الطريقة على ارسال رسالة الى التطبيق الهدف بدلالة عنوان نافذته
يوجد كودين، واحد لارسال الرسالة والآخر لاستقبال الرسالة
كود ارسال الرسالة: يكون في البرنامج اللي بيتحكم في البرنامج الآخر
كود استقبال الرسالة: ويكون في البرامج اللي تستقبل الرسالة وتنفذ العملية اللي تريدها
كيف الفكرة إن شاء الله سهلة ومفيدة.
الطريقة باستخدام PostMessage
تعتمد الطريقة على ارسال رسالة الى التطبيق الهدف بدلالة عنوان نافذته
يوجد كودين، واحد لارسال الرسالة والآخر لاستقبال الرسالة
كود ارسال الرسالة: يكون في البرنامج اللي بيتحكم في البرنامج الآخر
كود :
Const WM_USER = &H400
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
<Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True, CharSet:=Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myColorDialog As New ColorDialog
If myColorDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim hwnd As Integer = FindWindow(vbNullString, "عنوان نافذة البرنامج الهدف")
If hwnd <> 0 Then
PostMessage(hwnd, WM_USER, myColorDialog.Color.ToArgb, 0)
End If
End If
End Subكود استقبال الرسالة: ويكون في البرامج اللي تستقبل الرسالة وتنفذ العملية اللي تريدها
كود :
Const WM_USER = &H400
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case WM_USER
Me.BackColor = Color.FromArgb(m.WParam)
End Select
MyBase.WndProc(m)
End Subكيف الفكرة إن شاء الله سهلة ومفيدة.
24-08-13, 02:58 AM
MSDOS كتب :ممكن اضع طريقة أخرى
الطريقة باستخدام PostMessage
تعتمد الطريقة على ارسال رسالة الى التطبيق الهدف بدلالة عنوان نافذته
يوجد كودين، واحد لارسال الرسالة والآخر لاستقبال الرسالة
كود ارسال الرسالة: يكون في البرنامج اللي بيتحكم في البرنامج الآخر
كود :
Const WM_USER = &H400
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
<Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True, CharSet:=Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myColorDialog As New ColorDialog
If myColorDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim hwnd As Integer = FindWindow(vbNullString, "عنوان نافذة البرنامج الهدف")
If hwnd <> 0 Then
PostMessage(hwnd, WM_USER, myColorDialog.Color.ToArgb, 0)
End If
End If
End Sub
كود استقبال الرسالة: ويكون في البرامج اللي تستقبل الرسالة وتنفذ العملية اللي تريدها
كود :
Const WM_USER = &H400
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case WM_USER
Me.BackColor = Color.FromArgb(m.WParam)
End Select
MyBase.WndProc(m)
End Sub
كيف الفكرة إن شاء الله سهلة ومفيدة.
وبعد اقول 10 / 10
24-08-13, 03:01 AM
الشاكي لله كتب :وبعد اقول 10 / 10
بارك الله فيك، والله إنك ترفع المعنويات، أشكرك