بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
أقدم لكم اليوم درس جميل عن كيفية ظهور برنامج بنمط ويندوز إكس بي وأنا أعتقد والله العالم إن ما في ولا منتدى شرح هذه الطريقة إلا في فيجوال بيسك دوت نت فقد شرحوا طريقة إظهار نمط ويندوز إكس بي أما في فيجوال بيسك 6 فلا أعتقد وإن شاء تعجبكم الطريقة
بسم الله نبدأ :
الخطوة الأولى : ضع هذا الكود في قسم التصريحات General
كود:
Option Explicit
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
الخطوة الثانية : ضع هذا الكود في Form1 قسم Initialize ( Form_Initialize)
الخطوة الثالثة : نقوم بإنشاء الملف Manifest
وهذا الملف هو الذي يغير النمط
وله طريقتين لإنشاءه :
(1) عن طريق برنامج المفكرة
(2) عن طريق الفيجوال بيسك ( بواسطة الكود )
الطريقة الأولي : عن طريق برنامج المفكرة :
إفتح برنامج المفكرة وإكتب التالي ( طريقة النسخ أفضل تفادا للأخطاء ) :
كود:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Company Name.Application Name.Application Title"
type="win32"
/>
<description>You Application Name Here</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
ملاحظة بسيطة : طريقة الحفظ : يجب حفظ الملف بإمتداد .exe.Manifest .اسم البرنامج
ثانيا : عن طريق الفيجوال بيسك ( إنشاء كود ) : [ أفضل طريقة لضمان إنشاء الملف ]
أنا أنصح بالطريقة الثانية :
في قسم General ضع الكود التالي :
كود:
Private Sub CreateManifest(ByVal FilePathAndName As String)
Dim ManifestFile As Integer
ManifestFile = FreeFile
Open FilePathAndName For Append As #ManifestFile
Print #ManifestFile, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" _
& Chr(34) & "UTF-8" & Chr(34) & " standalone=" & Chr(34) & "yes" & Chr(34) & "?>"
Print #ManifestFile, "<assembly xmlns=" & Chr(34) & "urn:schemas-microsoft-com:asm.v1" _
& Chr(34) & " manifestVersion=" & Chr(34) & "1.0" & Chr(34) & ">"
Print #ManifestFile, "<assemblyIdentity"
Print #ManifestFile, "version=" & Chr(34) & "1.0.0.0" & Chr(34)
Print #ManifestFile, "processorArchitecture=" & Chr(34) & "X86" & Chr(34)
Print #ManifestFile, "name=" & Chr(34) & "Company Name.Application Name.Application Title" & Chr(34)
Print #ManifestFile, "type=" & Chr(34) & "win32" & Chr(34)
Print #ManifestFile, "/>"
Print #ManifestFile, "<description>You Application Name Here</description>"
Print #ManifestFile, "<dependency>"
Print #ManifestFile, "<dependentAssembly>"
Print #ManifestFile, "<assemblyIdentity"
Print #ManifestFile, "type=" & Chr(34) & "win32" & Chr(34)
Print #ManifestFile, "name=" & Chr(34) & "Microsoft.Windows.Common-Controls" & Chr(34)
Print #ManifestFile, "version=" & Chr(34) & "6.0.0.0" & Chr(34)
Print #ManifestFile, "processorArchitecture=" & Chr(34) & "X86" & Chr(34)
Print #ManifestFile, "publicKeyToken=" & Chr(34) & "6595b64144ccf1df" & Chr(34)
Print #ManifestFile, "language=" & Chr(34) & "*" & Chr(34)
Print #ManifestFile, "/>"
Print #ManifestFile, "</dependentAssembly>"
Print #ManifestFile, "</dependency>"
Print #ManifestFile, "</assembly>"
Close #ManifestFile
End Sub
ضع هذا الكود في Form1 قسم Initialize ( Form_Initialize)
في الخطوة الثانية وضعنا InitCommonControls في قسم Initialize
استبداله بالكود التالي
كود:
Private Sub Form_Initialize()
Dim fso As Variant
Dim FName As String
FName = App.Path & "\" & App.EXEName & ".exe.Manifest"
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(FName) Then
CreateManifest FName
MsgBox "Did not find a Manifest file, so one has been created for you." _
& vbCrLf & "XP styles will be applied next time you run this application", _
vbOKOnly + vbInformation, "Application manifest file missing"
Else
InitCommonControls
End If
End Sub
أرجو أن أكون قد وفقت في شرح هذا الدرس
وأي ملاحظة أو مشكلة أو أي استفسار لا تترددوا في مراسلتي
والسلام عليكم ورحمة الله وبركاته
مع تحيات / ابن الجزيرة