几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】classes derived from odgsbaseviewodgsbasedevice (http://www.dimcax.com/hust/showthread.php?t=15408)

yang686526 2009-05-04 05:48 PM

【转帖】classes derived from odgsbaseviewodgsbasedevice
 
classes derived from odgsbaseview/odgsbasedevice
classes derived from odgsbaseview/odgsbasedevice
hi,
i am not new to odt/odv, but i am new to dd. dd is totally different from odt/odv.
i want to study dd from developing a simple dwg/dxf viewer. i found example odvectorizeex, built and run it successfully. and
i have read "creating a rendering application" in dd document. it seems that i should implement my own derived
odgsbaseview/odgsbasedevice classes to implement a viewer.
however, i have not found derived odgsbaseview/odgsbasedevice classes in example odamfcapp. that example uses magic classes
and functions, such as odgsdevice:roperties() and odrxdictionary:utat(), in cdwgviewer::createdevice(), which are not
clearly describe in dd documents. the following are some source code in cdwgviewer::createdevice():
m_pdevice = theapp.getrendererdevice();
odrxdictionaryptr pproperties = m_pdevice->properties();
pproperties->putat("windowhwnd", odrxvariantvalue((long)m_hwnd));
if(pproperties->has("doublebufferenabled")) // check if property is supported
{
pproperties->putat("doublebufferenabled", odrxvariantvalue(theapp.doublebufferenabled()));
}
oddbdatabase* pdb = (codamfcappdoc*)getdocument();
m_pdevice = oddbgsmanager::setupactivelayoutviews(m_pdevice, this);
i think dd have already implemented derived odgsbaseview/odgsbasedevice classes for windows. we can use these classes by
m_pdevice->properties()->putat("windowhwnd", odrxvariantvalue((long)m_hwnd)); is that right?
ycf888
oops!
i found derived odgsbaseview/odgsbasedevice classes in example odamfcapp, they locations in examples\exrender\win.
ycf888


所有的时间均为北京时间。 现在的时间是 07:08 PM.