أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية تطبيق السمات في Windows XP إلى الوظائف الإضافية لـ COM Office

انتهاء دعم Office 2003

لقد أنهت شركة Microsoft دعم Office 2003 في 8 أبريل، 2014. وقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية830033
الموجز
عند إنشاء وظيفة الإضافية COM للحصول على برنامج Microsoft Office (على سبيل المثال، Microsoft Visio) ، مظهر التي الوظيفة الإضافية سوف تتوافق بشكل افتراضي على مظهر Office القياسية. ومع ذلك، مع Microsoft Windows XP, يمكنك اختيار من عدد من الأنماط المرئية (أو السمات) لتخصيص مظهر برنامج Microsoft Windows.

إلا إذا تم تمكين سمات Windows بشكل صريح عن وظيفة الإضافية COM لا يغير مظهر الأداة الوظيفة الإضافية مع أنظمة الألوان هذه البادئة الوظيفة الإضافية ظهور بتاريخ أو مهلة - من - مزامنة مع البرنامج حيث المضمنة. يمكنك تمكين COM الخاص بك مع Microsoft Visual C++ أو اللغات Microsoft Visual Studio .NET الوظيفة الإضافية حتمًا للسمات على Windows.

عند تمكين وظيفة إضافية لموضوعات Windows تؤثر السمات على المظهر الوظائف الإضافية. لا تتأثر وظيفة الوظيفة الإضافية.

إخلاء المسؤولية

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

Microsoft Visual Basic 6.0

لا يعتمد Visual Basic 6.0 السمات. لا يمكن تحديد سمة الوظائف الإضافية باستخدام Visual Basic 6.0.

Microsoft Visual C++ 6.0

لاستخدام 6.0 Visual C++ لتمكين على وظيفة الإضافية COM حتمًا إلى Windows XP سمات، اتبع الخطوات التالية:
  1. إنشاء ملف بيان الذي يحتوي على المعلومات التالية. Customize the information for your specific add-in:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">   <noInherit/>  <assemblyIdentity    processorArchitecture="*"    type="win32"    name="MyOfficeNetAddin"   version="1.0.0.0"/>   <description>My Office Addin built with .Net</description>    <dependency optional="yes">                                  <dependentAssembly>                        <assemblyIdentity                       type="win32"                      name="Microsoft.Windows.Common-Controls"       version="6.0.1.0"                 publicKeyToken="6595b64144ccf1df"       language="*"                      processorArchitecture="*"/>    </dependentAssembly>                     </dependency>                              </assembly>
  2. قم بأحد الإجراءات التالية:
    • تضمين إرشادات preprocessor التالية:
      #define ISOLATION_AWARE_ENABLED
    • ترجمة مع:
      /D ISOLATION_AWARE_ENABLED
  3. إضافة ملف بيان إلى ملف المورد, كما في المثال التالي:
    #include "windows.h"ISOLATIONAWARE_MANIFEST_RESOURCE_ID RT_MANIFEST "mydllname.dl.manifest"

Microsoft Visual Studio .NET ولغات مدارة

لاستخدام Visual Studio .NET .NET Framework تمكين Windows XP السمات للحصول وظيفة الإضافية COM ، اتبع الخطوات التالية.

ملاحظة في هذا المثال، C# يُستخدم لتمكين سياق تنشيط تحديد سمة على نموذج Windows. أيضاً، لموضوعات Windows تمكين أزرار خانات الاختيار أزرار الخيارات ومربعات المجموعة ، يجب تعيين الخاصية الفعلية من هذه الكائنات إلى "النظام".
  1. قم بتضمين المعلومات التالية في ملف .cs. تخصيص معلومات معينة الوظيفة الإضافية:
    using System.Runtime.InteropServices;using System;using System.Security;using System.Security.Permissions;using System.Collections;using System.IO;using System.Text;using System.Windows.Forms;namespace MyOfficeNetAddin{    /// <devdoc>    ///     This class is intended to use with the C# 'using' statement in    ///     to activate an activation context for turning on visual theming at    ///     the beginning of a scope, and have it automatically deactivated    ///     when the scope is exited.    /// </devdoc>[ SuppressUnmanagedCodeSecurity ]internal class EnableThemingInScope : IDisposable{   // Private data	  private uint  cookie;   private static ACTCTX enableThemingActivationContext;   private static IntPtr hActCtx;   private static bool contextCreationSucceeded = false;   public EnableThemingInScope(bool enable)   {   cookie = 0;   if (enable && OSFeature.Feature.IsPresent(OSFeature.Themes))   {    if (EnsureActivateContextCreated())    {     if (!ActivateActCtx(hActCtx, out cookie))     {         // Be sure cookie always zero if activation failed         cookie = 0;     }    }   }  }  ~EnableThemingInScope()  {   Dispose(false);  }  void IDisposable.Dispose()  {   Dispose(true);  }  private void Dispose(bool disposing)  {   if (cookie != 0)   {    if (DeactivateActCtx(0, cookie))    {       // deactivation succeeded...       cookie = 0;    }   }  }  private bool EnsureActivateContextCreated()  {   lock (typeof(EnableThemingInScope))   {    if (!contextCreationSucceeded)    {     // Pull manifest from the .NET Framework install     // directory     string assemblyLoc = null;                             FileIOPermission fiop = new FileIOPermission(PermissionState.None);     fiop.AllFiles = FileIOPermissionAccess.PathDiscovery;     fiop.Assert();     try     {      assemblyLoc = typeof(Object).Assembly.Location;     }     finally     {       CodeAccessPermission.RevertAssert();     }     string manifestLoc = null;     string installDir = null;     if (assemblyLoc != null)     {      installDir = Path.GetDirectoryName(assemblyLoc);      const string manifestName = "XPThemes.manifest";      manifestLoc = Path.Combine(installDir, manifestName);     }     if (manifestLoc != null && installDir != null)     {      enableThemingActivationContext = new ACTCTX();      enableThemingActivationContext.cbSize = Marshal.SizeOf(typeof(ACTCTX));	     enableThemingActivationContext.lpSource = manifestLoc;      // Set the lpAssemblyDirectory to the install      // directory to prevent Win32 Side by Side from      // looking for comctl32 in the application      // directory, which could cause a bogus dll to be      // placed there and open a security hole.	     enableThemingActivationContext.lpAssemblyDirectory = installDir;	     enableThemingActivationContext.dwFlags = ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID;  	     // Note this will fail gracefully if file specified      // by manifestLoc doesn't exist.      hActCtx = CreateActCtx(ref enableThemingActivationContext);      contextCreationSucceeded = (hActCtx != new IntPtr(-1));     }    }    // If we return false, we'll try again on the next call into    // EnsureActivateContextCreated(), which is fine.    return contextCreationSucceeded;   }  }  // All the pinvoke goo...  [DllImport("Kernel32.dll")]  private extern static IntPtr CreateActCtx(ref ACTCTX actctx);  [DllImport("Kernel32.dll")]  private extern static bool ActivateActCtx(IntPtr hActCtx, out uint lpCookie);  [DllImport("Kernel32.dll")]  private extern static bool DeactivateActCtx(uint dwFlags, uint lpCookie);  private const int ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x004;              private struct ACTCTX   {   public int       cbSize;   public uint      dwFlags;   public string    lpSource;   public ushort    wProcessorArchitecture;   public ushort    wLangId;   public string    lpAssemblyDirectory;   public string    lpResourceName;   public string    lpApplicationName;  } }}
  2. إنشاء النموذج باستخدام برنامج التضمين التالية. هذا الإجراء تدفعها سياق تنشيط تحديد سمة قبل إنشاء أية عناصر تحكم:
    using( new EnableThemingInScope( true ) ){ Form1 form1 = new Form1(); form1.CreateControl();}
مراجع
للحصول على مزيد من المعلومات حول كيفية استخدام أنماط مرئية Windows XP (سمات) قم بزيارة موقع Microsoft MSDN التالي:

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 830033 - آخر مراجعة: 05/16/2007 23:55:09 - المراجعة: 6.7

Microsoft Office Basic 2007, Microsoft Office Basic Edition 2003, Microsoft Office Professional 2007, Microsoft Office Professional Edition 2003, Microsoft Office Small Business 2007, Microsoft Office Small Business Edition 2003, Microsoft Office Standard 2007, Microsoft Office Standard Edition 2003, Microsoft Office Home and Student 2007, Microsoft Office Student and Teachers Edition 2003, Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Office FrontPage 2003, Microsoft Office Outlook 2007, Microsoft Office Outlook 2003, Microsoft Office PowerPoint 2007, Microsoft Office PowerPoint 2003, Microsoft Office Project Professional 2007, Microsoft Office Project Professional 2003, Microsoft Office Project Standard 2007, Microsoft Office Project Standard 2003, Microsoft Office Publisher 2007, Microsoft Office Publisher 2003, Microsoft Office Visio Professional 2007, Microsoft Office Visio Professional 2003, Microsoft Office Visio Standard 2007, Microsoft Office Visio Standard 2003, Microsoft Office Word 2007, Microsoft Office Word 2003

  • kbmt kbprogramming kbcode kbhowtomaster KB830033 KbMtar
تعليقات