كيف يمكنني التحكم في سمك الحدود واللون على نماذج Windows؟

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

  •  12-09-2019
  •  | 
  •  

سؤال

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

(ليس من الضروري الدخول إلى الأسباب التي يجب ألا أفعل ذلك)

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

المحلول

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

هنا إجابتي لسؤال مماثل، والذي يوضح أساسيات القيام بذلك بنفسك (إنه لنظام التشغيل Windows Mobile، ولكن سيعمل في نوافذ منتظمة أيضا).

نصائح أخرى

يشار إلى هذه العناصر الخارجي لنافذة التطبيقات بشكل جماعي باسم Windows "Chrome" ويقدم بالفعل من خلال نظام التشغيل. يتم استخدام مختلف الأعلام على مستوى Windows API للتحكم في جوانب معينة من كل مثيل نافذة (مثل مربع تحكم، الحدود، الحد الأدنى / الحد الأقصى، وما إلى ذلك)، ولكن يتم تحديد عرض الحدود ل Windows SIMESIAT بواسطة إعداد النظام لضمان التوحيد وغير قابل للتكوين على أساس نافذة حسب النافذة.

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

http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx.

يتيح لك .NET تغيير خاصية FormBorderstyle لتحديد عدد لا حدود وعرض وحيد بكسل واحد، والحياة القابلة للتغيير (الحدود السميكة). إذا كنت ترغب في القيام بشيء مخصص، فسيتعين عليك تعيين نمط الحدود .NET إلى بلا شيء، ثم افترض المسؤولية عن تقديم النافذة كروم بنفسك. هذا يستلزم تقديم شريط التسمية التوضيحية الخاصة بك، وأزرار دقيقة / ماكس، وحدود النافذة. انها ليست مهمة خفيفة، ولكن العديد من التطبيقات تفعل ذلك. إنه طريق طويل لنذهب إذا كنت تريد كل ما تريده حقا هو التحكم في عرض الحدود.

تدخل هذه المقالة في كيفية الاقتراب من هذه المهمة في WPF، وقد يكون أيضا من الاستخدام أيضا.

نافذة كروم في WPF

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