الحافظة The Clipboard
تعد الحافظة من تطبيقات الـ Windows الشائعة الاستخدام، وتظهر وظيفتها أكثر في برامج تحرير النصوص أو الصور، وفيما يلي طريقة التعامل معها:
أولاً: الأوامر الخاصة بالحافظة.
Clipboard.Clear لإزالة محتويات الحافظة
Clipboard.SetText Text لإضافة نص إلى الحافظة
Clipboard.GetText() ويحتوي على النص الموجود في الحافظة
Clipboard.SetData Picture لإضافة صورة إلى الحافظة
Clipboard.GetData() ويحتوي على الصورة الموجودة في الحافظة
ثانياً: كيفية استخدام هذه الأوامر.
1- مع النصوص:
لنفرض الآن أنك تقوم بعمل برنامج لتحرير النصوص، وتريد أن تسمح للمستخدم أن ينسخ أو يقص أو يلصق النصكما يريد، فما هو الكود الذي ستحتاجه:
(للنسخ)
Clipboard.Clear Clipboard.SetText Text1.Text
في السطر الأول فرغنا الحافظة من محتوياتها.
وفي السطر الثاني نسخنا النص الموجود في الـ Text1 إلى الحافظة.
(للقص)
نفس الكود السابق الخاص بالنسخ، بالإضافة إلى السطر التالي:
Text1.Text = ""
والذي يقوم بمسح النص الموجود في الـ Text1 بعد نسخه إلى الحافظة.
(للَّصق)
Text1.Text = Clipboard.GetText()
وها قمنا بلصق النص الموجود في الحافظة داخل الـ Text1.
+ بعد أن عرفنا طريقة التعامل مع الحافظة في نسخ مربع نص أو قصه أو لصقه، ماذا لو أردنا أن نتعامل مع الجزء المحدد من النص فقط وليس النص بأكمله؟؟ والجواب بسيط جداً، فكل ما علينا عمله هو تغيير الخاصية Text في الأوامر السابقة إلى الخاصية SelText.
++ كما تعلم الخاصية SelText تعني النص المحدد، بينما الخاصية Text تعني النص بأكمله.
2- مع الصور:
(للنسخ)
Clipboard.Clear Clipboard.SetData Picture1.Picture
في السطر الأول فرغنا الحافظة من محتوياتها.
وفي السطر الثاني نسخنا الصورة الموجودة في الـ Picture1 إلى الحافظة.
(للقص)
نفس الكود السابق الخاص بالنسخ، بالإضافة إلى السطر التالي:
Picture1.Picture = LoadPicture()
والذي يقوم بمسح الصورة الموجودة في الـ Picture1 بعد نسخها إلى الحافظة.
(للَّصق)
Picture1.Picture = Clipboard.GetData()
وها قمنا بلصق الصورة الموجودة في الحافظة داخل الـ Picture1.
ولكن ماذا لو أن المشروع الذي نقوم بعمله يحتوي على أكثر من صورة، ونريد أن نسمح للمستخدم بأن ينسخ أي صورة يحددها بنفسه، هنا سنقوم بتغير الأداة Picture1 في الأوامر السابقة إلى Screen.ActiveControl وهو يعني الأداة المحددة أو النشطة.
تمرين:
نريد عمل برنامج يحتوي على مربع نص TextBox، وحاوية صور Picture Control، وصندوق لائحة ListBox، وصندوق اختيار CompoBox، ويحتوي أيضاً على ثلاث أزرار [نسخ - قص - لصق]، وعندما يقوم المستخدم بالضغط على [نسخ] يتم نسخ الشيء المحدد إلى الحافظة سواء كان نصاً أو صورة أو غير ذلك، وكذلك الحال بالنسبة لـ [قص] و [لصق] ...
ابدأ عمل هذا البرنامج بنفسك من قبيل التدريب، وإذا واجهتك أي مشكلة فلا تترد بالسؤال ... وتحياتي للجميع.
