2010-04-21 23 views
6

Örneğin, "Ctrl + C" tuşlarına bastığımda Wordpad ne yaptı? Panoya birçok farklı biçim yerleştirir. Yani Not Defteri, herhangi bir renk veya yazı tipi olmadan metni alabilir ... vb, ve hala başka bir Wordpad penceresinde yapıştırdığınızda orijinal formatını koruyabilirsiniz.Panoya birden fazla biçim nasıl yerleştirilir?

MSDN, SetClipboardData'yı birden çok kez çağırmamı söyledi. Ama hiç işe yaramıyor.

+4

Neden "hiç çalışmıyor" kodunun bazılarını yayınlamıyorsunuz? –

+2

Evet, ve aynı zamanda, başarısız olduğu yöntemi de söyleyin (program çöktü, hiçbir şey yapmadı, beklediğinizden farklı bir çıktı üretti, vs.). –

cevap

10

Panodaki verileri istediğiniz kadar çok biçimde koymak için Delphi'nin TClipboard.SetAsHandle kullanabilirsiniz. İlk önce panoyu açın, yoksa SetAsHandle numaralı telefona yapılan her çağrı, başka bir formatta bile olsa, başka herhangi bir yerde bulunamaz.

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

Teşekkürler Rob, önerdiğiniz gibi bu sorunu çözdüm. TClipboard'un SetBuffer yöntemini kullanıyorum, sorun şu ki her SetBuffer çağrısı için panoyu açıp kapatıyorum. – trudger

3

Tüm modern programlar, pano biçimlerini ve verilerini yayınlamak için OleSetClipboard kullanır. reading here'u başlatın.

+0

belki de en çok, ama hepsi değil, tek bir uygulama olarak değil, bu arayüzü kullandı. – Rick