2010-04-21 12 views
6

उदाहरण के लिए, जब मैं "Ctrl + C" दबाता हूं तो वर्डपैड ने क्या किया? यह क्लिपबोर्ड के लिए कई अलग-अलग प्रारूप रखता है। तो नोटपैड किसी भी रंग या फ़ॉन्ट के बिना पाठ प्राप्त कर सकता है ... आदि, और जब भी आप किसी अन्य वर्डपैड विंडो में पेस्ट करते हैं तो भी आप मूल प्रारूप को रख सकते हैं।क्लिपबोर्ड पर एकाधिक प्रारूप कैसे रखें?

एमएसडीएन ने कहा कि मुझे कई बार SetClipboardData को कॉल करना चाहिए। लेकिन यह बिल्कुल काम नहीं करता है।

+4

क्यों कुछ कोड पोस्ट नहीं करते हैं जो "बिल्कुल काम नहीं करता"? –

+2

हां, और यह भी बताएं कि जिस तरीके से यह असफल रहा (प्रोग्राम क्रैश हो गया, कुछ नहीं किया, आपके अपेक्षा से अलग आउटपुट का उत्पादन किया आदि)। –

उत्तर

10

आप क्लिपफ़ी पर डेटा को जितना चाहें उतने स्वरूपों में डेटा डालने के लिए डेल्फी के TClipboard.SetAsHandle का उपयोग कर सकते हैं। पहले क्लिपबोर्ड खोलें, या अन्य SetAsHandle पर प्रत्येक कॉल को अन्य प्रारूपों में भी जो कुछ भी पहले से ही था, उसे रोक देगा।

Clipboard.Open; 
Clipboard.SetAsHandle(cf_Text, x); 
Clipboard.SetAsHandle(cf_Bitmap, y); 
Clipboard.Close; 
+0

धन्यवाद रोब, मैंने सुझाव दिया है कि मैंने इस समस्या को ठीक किया है। मैं TClipboard की SetBuffer विधि का उपयोग कर रहा हूं, समस्या यह है कि मैं सेटबफर के प्रत्येक कॉल के लिए क्लिपबोर्ड खोल/बंद करता हूं। – trudger

3

सभी आधुनिक प्रोग्राम क्लिपबोर्ड स्वरूप और डेटा प्रकाशित करने के लिए ओलेसेट क्लाइपबोर्ड का उपयोग करते हैं। reading here शुरू करें।

+0

शायद सबसे अधिक, लेकिन निश्चित रूप से सभी एक ऐसा एप्लिकेशन नहीं है जिसे मैंने देखा है इस इंटरफेस का उपयोग किया है। – Rick

संबंधित मुद्दे