ملف الحوار فتح مع منسدل الترميز تحت ويندوز فيستا

StackOverflow https://stackoverflow.com/questions/1076827

سؤال

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

ولقد فعلت بعض البحوث ويبدو أن العلم OFN_ENABLETEMPLATE يتسبب في الحوار المشترك ويندوز فيستا لتعود مرة أخرى إلى النمط القديم. للأسف هذا هو أيضا العلم الذي يتيح للTOpenTextFileDialog تعديل نافذة لإضافة منسدل ترميزات (إذا فهمت الأمور بشكل صحيح.)

هل لديها اقتراح حول كيفية الحصول على ما أريد تحت فيستا ولكن لا تزال تعمل وفقا لXP؟ وأفترض أن ويندوز 7 سوف يكون نفس القضية. أنا باستخدام D2009. شكرا لأي اقتراحات أو مساعدة!

هل كانت مفيدة؟

المحلول

ومع ويندوز فيستا وقد تم إدخال طريقة جديدة للتعامل مع ملف الحوارات، لمزيد من المعلومات جوجل للواجهة IFileDialog أو إلقاء نظرة على الموقع هذا بلوق وظيفة . كما تقول لنفسك، وذلك باستخدام العلم OFN_ENABLETEMPLATE يتسبب في الحوار المشترك ويندوز فيستا لتعود مرة أخرى إلى النمط القديم.

ومع دلفي 2007 و 2009 يمكنك استخدام TFileOpenDialog وTFileSaveDialog في فيستا الحوارات فئة المكونات. لجعل التطبيق متوافق مع ما قبل فيستا إصدارات ويندوز يجب أن نأخذ باستخدام TOpenTextFileDialog لأولئك، وتحقق في وقت التشغيل سواء كنت على ويندوز فيستا ويمكن استخدام الحوارات جديدة:

if Win32MajorVersion >= 6 then begin
  // use TFileOpenDialog
  // ...
end else begin
  // use TOpenTextFileDialog
  // ...
end;

والآن أنت بحاجة فقط إلى إضافة التخصيص إلى الحوار ويندوز فيستا. يظهر بلوق وظيفة كيف للقيام بذلك، وذلك بإضافة معالج OnExecute من الحوار (لأن في ذلك الوقت عندما يتم استدعاء هذا وقد أنشئت بالفعل واجهة IFileDialog)، الاستعلام عن عضو Dialog من ملف الحوار لواجهة IFileDialogCustomize، واستخدام هذا لإضافة ضوابط إضافية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top