明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2255|回复: 2

[ARX]请教预览功能怎么实现

[复制链接]
发表于 2005-4-5 14:25:00 | 显示全部楼层 |阅读模式
AutoCAD block命令中,对话框中有个预览功能,请问在arx中如何实现这种功能?谢谢!
实现的思路和方法是什么.

发表于 2005-4-7 15:26:00 | 显示全部楼层
..? 上次不是回答了你一个关于动态生成预览图的问题了么? 思路是一样的啊..


如果不想用BITMAP结构那么麻烦, 就直接建造临时块, 输出成.bmp再加载回来..
发表于 2005-4-28 19:06:00 | 显示全部楼层
本帖最后由 作者 于 2005-4-29 14:40:39 编辑

< class=signature>bool acdbGetPreviewBitmapFromDwg( const char* pszDwgfilename, HBITMAP* pPreviewBmp, HPALETTE* pRetPal);


pszDwgfilename The DWG file name that you want to get the preview bitmap from. pPreviewBmp Returned bitmap from the DWG. pRetPal Returned palette used to draw the bitmap correctly.This function returns the preview bitmap from a DWG file.


The following sample shows how to use this function:


<RE>HBITMAP hBitmap;
HPALETTE hPal;
acdbGetPreviewBitmapFromDwg("foo.dwg", &amp;hBitmap, &amp;hPal);

// Palette
CPalette* oldPal = [U]pDC-&gt;SelectPalette([/U]CPalette::FromHandle(hPal),TRUE);
pDC-&gt;RealizePalette();

CBitmap bm;
bm.Attach(hBitmap);

CDC dcMem;
dcMem.CreateCompatibleDC(pDC);

CBitmap *pOldBitmap = dcMem.SelectObject(&amp;bm);

pDC-&gt;BitBlt(0, 0, 1000,1000, &amp;dcMem, 0, 0, SRCCOPY);

dcMem.SelectObject(pOldBitmap);

pDC-&gt;SelectPalette(oldPal,TRUE );
pDC-&gt;RealizePalette();

bm.DeleteObject();
DeleteObject(hBitmap);
DeleteObject(hPal);</PRE><RE>请问这段代码到底怎么用?单文档?要是对话框的怎么用呀</PRE>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 06:53 , Processed in 0.178053 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表