الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تغيير ثيم الأكسس عن طريق الروجستري

بدأه Cha3iR في 2 فبراير 2012 · 4 رد · 834 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

سبق وأن تقدمت سائلا لطريقة تغيير ثيم الأكسس

وبفضل من الله وكرم من الأخت زهرة تمت الاجابة

/index.php?showtopic=250466&st=0&p=1238670&hl=%C7%E1%CB%ED%E3&fromsearch=1entry1238670

ولكن عند تطبيق الأمر على أجهزة مختلفة ولا تتوفر الا على RunTime لم يعمل الكود بالكفاءة المنتظرة

تفاديا لكل هذه الاختلافات فكرت لو يتم تغيير الثيم عن طريق الروجستري سيكون حلا مضمون نسبة 100%

فقط يتبقى القيمة التي يجب توفرها في ملف الروجستري من أجل اعتماد الثيم الأسود بديلا للثيم (الأزرق) الافتراضي

وشكرا

#2

post-15367-013327200 1328236551_thumb.gi

تفضل اخي الكريم

العبارة التي تقوم بتغيير الألوان لثيم الأكسيس 2007 في الريجستري هي :

[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common] ,"Theme"=dword:00000003

العبارة التي تقوم بتغيير الألوان لثيم الأكسيس 2010 في الريجستري هي :

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common] ,"Theme"=dword:00000003

القيمة 1 = Blue ( اللون الأزرق )

القيمة 2 = Silver ( اللون الفضي )

القيمة 3 = Black ( اللون الأسود )

za-ChangingThemeToBlack.rar

بالتوفيق

المرفقات
TH1.gif

تم تعديل هذه المشاركة بواسطة zahrah في 3 فبراير 2012 في 11:14

1
#3

سؤال صغير لاختنا الفاضله

هل من الممكن استخدامه

بحيث مع بدايه البرنامج يتم تغيير الثيم

و عند الخروج نرجعه تانى الى اللون الزرق

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

المشكله الوحيده هى معرفة اللون الاصلى للثيم قبل التغيير

و الثانيه كما ارى

ان رابط الريجيسترى للأوفيس 2007 و على حد علمى اوفيس 2010 بيكون رقمه 14

فبالتالى

الكود يحتاج الى معرفه النسخة و الثيم الاصلى اولا

----------

اختنا ام عهود انا لا اريد تلك التغييرات كى لا ارهقك على الفاضى

انما افكر فقط فى الموضوع بصفه عامه

اظن الحل سيكون بتغيير هذا الكود

Dim Version As String
Dim strValueU As String
Version = GetVersion()
If Version > "11.0" Then
strValueU = SaveRegLong(HKEY_CURRENT_USER, "Software\Microsoft\Office\12.0\Common", "Theme", 3)
End If
Utilities.Restart Compact:=Nz(ckCompact, True)
End Sub

الى

Dim Version As String
Dim strValueU As String
Version = GetVersion()
If Version = "12.0" Then
strValueU = SaveRegLong(HKEY_CURRENT_USER, "Software\Microsoft\Office\12.0\Common", "Theme", 3)
else
strValueU = SaveRegLong(HKEY_CURRENT_USER, "Software\Microsoft\Office\14.0\Common", "Theme", 3)

End If
Utilities.Restart Compact:=Nz(ckCompact, True)
End Sub

هل هذا صحيح

كيميائى / محمد طه

#4

بارك الله بك اخي الكريم

نعم نسخة الأكسيس 2007 تأخذ الرقم 12 و نسخة الأكسيس 2010 تأخذ الرقم 14

اما بالنسبة لقراءة القيمة السابقة فيمكن عن طريق الأمر ReadRegLong بحيث تقرأ قيمة الثيم السابق قبل التغيير الى القيمة الجديده ولكن نحتاج الى تخزين القيمة القديمة بعد قراءتها في جدول ثابت حتى يتم الرجوع اليها عند الإغلاق واعادة لون الثيم الى وضعه السابق

ولكن لا ارى لهذه الخطوه لزوم لأن من اراد ان يغير الثيم فهو يقصد التغيير الفعلي والا يبقى على الثيم السابق الخاص به بدون تغيير .

ولهذا كان طلب صاحب السؤال تحديدا سواء في هذه المشاركة او المشاركة السابقه انه يريد اللون الأسود كثيم اجباري دائما عند فتح اي قاعدة بيانات وعلى اي جهاز وتماشيا مع رغبته حققنا له ذلك بالكود

بالتوفيق

#5

جزاك الله كل خير

شكرا جزيلا

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…