明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1788|回复: 5

[求助]arx中使用mfc对话框的疑惑

[复制链接]
发表于 2005-12-17 17:00:00 | 显示全部楼层 |阅读模式
创建mfc对话框,点击按钮执行比如insert()这个函数,实现将另外一张dwg图插入到当前dwg图中。疑惑在于,只有在点击对话框确定或者取消按钮以后,才能将插入的图在当前dwg文件中显示出来;如果对话框存在,就无法显示插入的图形。
请问这个是什么原因造成的?有没有办法让插入的图形立即显示出来,而不必等到对话框结束呢?
谢谢!
 楼主| 发表于 2005-12-17 19:56:00 | 显示全部楼层
补充一下 我使用的对话框是模态的
发表于 2005-12-17 21:17:00 | 显示全部楼层

reply

Zoom e 一下,看不到么?
 楼主| 发表于 2005-12-18 21:02:00 | 显示全部楼层

to 王咣生

在模态对话框没有析构之前,zoom e的命令无法键入……

发表于 2005-12-19 22:38:00 | 显示全部楼层
// 刷新屏幕
 actrTransactionManager->flushGraphics();
 acedUpdateDisplay();
 楼主| 发表于 2005-12-21 21:14:00 | 显示全部楼层
ahlzl发表于2005-12-19 22:38:00// 刷新屏幕actrTransactionManager->flushGraphics();acedUpdateDisplay();


非常感谢,已经实现了所需要的效果。

下面是从ObjectARX Reference上抄下来的说明:

virtual void

flushGraphics() = 0;

Flushes the graphics queue to the display.

Normally an entity's graphics are not updated until the entity's changes are committed. In the transaction environment this doesn't occur until the outermost transaction (or, if there are no nested transactions, then the single transaction itself) is ended, so the graphics for all entities in the transactions are not updated until the outermost transaction ends. If a graphics update is desired before the outermost transaction is ended, then the queueForGraphicsFlush() function should be called to queue up all changes made so far followed by a flushGraphics() call to flush all graphics currently queued up out to the display.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 03:47 , Processed in 0.184159 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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