2009-03-05 12 views
3

ActiveX denetimimi Excel'de güzel bir şekilde yazdırmak için almaya çalışıyorum.C++ ActiveX denetimi yazdırmamı Excel'de nasıl güzel yapabilirim?

Denetim, C++ ile yazılmıştır. Aslen Visual Studio 2005 sihirbazını kullanarak denetimi oluşturdum. OnDraw işlevini denemek için basit bir sihirbazın oluşturduğu denetim ile bunu test ettim ve sihirbazdan çıkmış bir denetimin bile düzgün basmadığını keşfettim. Denetimin büyük bir bölümünü kesiyor gibi görünüyor - varsayılan olarak siyah bir anahat ve merkezde bir metin oluşturuyor.

IDataObject_GetData işlevi ActiveX denetimimde çağrılır ve bu da bir meta dosya oluşturur ve bunu oluşturur.

Herkes güzel bir şekilde çıktı almak için ActiveX denetimi nasıl alınır? Alternatif olarak yararlı bilgilere bağlantılar takdir edilecektir.

cevap

2

Kafa çizilmesinden sonra, problemimin çözümünü anladım.

Visual Studio 2005 sihirbazının oluşturduğu OnDraw10 işlevi, SelectClipRgn işlevini çağırarak bir kırpma bölgesi oluşturur. Yazdırıldığında ActiveX denetiminin kırpılmasına neden olan bu kırpma ayarıydı. Kodun yorumlanması ActiveX denetiminin mükemmel bir şekilde yazdırılmasını sağlar. Kodun yorumlanması başka sorunlara da neden görünmüyor - en azından benim durumumda değil.

Sadece kırpma için hangi koordinat sisteminin kullanıldığını bir meta dosyası DC'ye çizerken kullanılan koordinat sistemi ile uyumlu olmadığını varsayabiliriz. İşte

Ben ActiveX denetimlerini yazdırma hakkında bulunan yararlı bilgiler için bazı bağlantılar:

http://www.codeproject.com/KB/COM/officeatlprint.aspx

http://www.codeproject.com/KB/COM/WirgerPrintArticle.aspx

http://support.microsoft.com/kb/81497

http://support.microsoft.com/kb/84984

İlgili konular