ChildView.h
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:17k
源码类别:

界面编程

开发平台:

Visual C++

  1. // ChildView.h : interface of the CChildView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_CHILDVIEW_H__3C598774_58D7_4703_A198_95CF22226AFC__INCLUDED_)
  5. #define AFX_CHILDVIEW_H__3C598774_58D7_4703_A198_95CF22226AFC__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CChildView window
  11. #define __WGS84_MAP_LEFT              15.68
  12. #define __WGS84_MAP_RIGHT              5.3
  13. #define __WGS84_MAP_WIDTH            ( __WGS84_MAP_LEFT - __WGS84_MAP_RIGHT )
  14. #define __WGS84_MAP_TOP               55.46
  15. #define __WGS84_MAP_BOTTOM            46.68
  16. #define __WGS84_MAP_HEIGHT           ( __WGS84_MAP_TOP - __WGS84_MAP_BOTTOM )
  17. #define __ZOOM_EXTENT_PX             180
  18. #define __ZOOM_FACTOR_MULTIPLIER     160.0
  19. class CMainFrame;
  20. class CChildView : public CExtWRB < CExtScrollWnd >
  21. {
  22. // Construction
  23. public:
  24. DECLARE_DYNAMIC( CChildView );
  25. CChildView();
  26. static HBRUSH stat_GetHalftoneLightBrush(
  27. int nLighterSpec
  28. );
  29. inline static INT GeodesicToClientX(
  30. double lfLongitude,
  31. double lfZoomFactor,
  32. INT nBitmapWidth
  33. )
  34. {
  35. double lfX = ( ( lfLongitude - __WGS84_MAP_RIGHT ) * double( nBitmapWidth ) * lfZoomFactor ) / __WGS84_MAP_WIDTH;
  36. return INT(lfX);
  37. }
  38. inline static double ClientToGeodesicX(
  39. INT nClientX,
  40. double lfZoomFactor,
  41. INT nBitmapWidth
  42. )
  43. {
  44. if( lfZoomFactor == 0.0 )
  45. return +10e+10;
  46. double lfLongitude = ( double(nClientX) * __WGS84_MAP_WIDTH ) / ( double( nBitmapWidth ) * lfZoomFactor ) + __WGS84_MAP_RIGHT;
  47. return lfLongitude;
  48. }
  49. double ClientToGeodesicX(
  50. INT nClientX
  51. ) const
  52. {
  53. ASSERT_VALID( this );
  54. ASSERT( ! m_bmp.IsEmpty() );
  55. return
  56. ClientToGeodesicX(
  57. nClientX,
  58. m_lfZoomFactor,
  59. m_bmp.GetSize().cx
  60. );
  61. }
  62. inline static INT GeodesicToClientY(
  63. double lfLatitude,
  64. double lfZoomFactor,
  65. INT nBitmapHeight
  66. )
  67. {
  68. double nTmp = double( nBitmapHeight ) * lfZoomFactor;
  69. double lfY = double( nTmp ) - ( ( lfLatitude - __WGS84_MAP_BOTTOM ) * nTmp ) / __WGS84_MAP_HEIGHT;
  70. return INT(lfY);
  71. }
  72. inline static double ClientToGeodesicY(
  73. INT nClientY,
  74. double lfZoomFactor,
  75. INT nBitmapHeight
  76. )
  77. {
  78. if( lfZoomFactor == 0.0 )
  79. return +10e+10;
  80. double nTmp = double( nBitmapHeight ) * lfZoomFactor;
  81. double lfLatitude =  ( ( double( nTmp ) - double(nClientY) ) * __WGS84_MAP_HEIGHT ) / nTmp + __WGS84_MAP_BOTTOM;
  82. return lfLatitude;
  83. }
  84. double ClientToGeodesicY(
  85. INT nClientY
  86. ) const
  87. {
  88. ASSERT_VALID( this );
  89. ASSERT( ! m_bmp.IsEmpty() );
  90. return
  91. ClientToGeodesicY(
  92. nClientY,
  93. m_lfZoomFactor,
  94. m_bmp.GetSize().cy
  95. );
  96. }
  97. inline static CPoint GeodesicToClient(
  98. double lfLongitude,
  99. double lfLatitude,
  100. double lfZoomFactor,
  101. CSize sizeBitmap
  102. )
  103. {
  104. return
  105. CPoint(
  106. GeodesicToClientX( lfLongitude, lfZoomFactor, sizeBitmap.cx ),
  107. GeodesicToClientY( lfLatitude, lfZoomFactor, sizeBitmap.cy )
  108. );
  109. }
  110. struct GEODESIC_POINT
  111. {
  112. double lfLongitude, lfLatitude;
  113. GEODESIC_POINT()
  114. {
  115. }
  116. GEODESIC_POINT(
  117. double _lfLongitude,
  118. double _lfLatitude
  119. )
  120. : lfLongitude( _lfLongitude )
  121. , lfLatitude( _lfLatitude )
  122. {
  123. }
  124. GEODESIC_POINT( const GEODESIC_POINT & gp )
  125. {
  126. lfLongitude = gp.lfLongitude;
  127. lfLatitude = gp.lfLatitude;
  128. }
  129. GEODESIC_POINT & operator = ( const GEODESIC_POINT & gp )
  130. {
  131. lfLongitude = gp.lfLongitude;
  132. lfLatitude = gp.lfLatitude;
  133. return (*this);
  134. }
  135. GEODESIC_POINT operator - () const
  136. {
  137. return GEODESIC_POINT( -lfLongitude, -lfLatitude );
  138. }
  139. };
  140. inline static CPoint GeodesicToClient(
  141. const GEODESIC_POINT & gp,
  142. double lfZoomFactor,
  143. CSize sizeBitmap
  144. )
  145. {
  146. return
  147. CPoint(
  148. GeodesicToClientX( gp.lfLongitude, lfZoomFactor, sizeBitmap.cx ),
  149. GeodesicToClientY( gp.lfLatitude, lfZoomFactor, sizeBitmap.cy )
  150. );
  151. }
  152. CPoint GeodesicToClient(
  153. const GEODESIC_POINT & gp
  154. ) const
  155. {
  156. ASSERT_VALID( this );
  157. ASSERT( ! m_bmp.IsEmpty() );
  158. return
  159. GeodesicToClient(
  160. gp,
  161. m_lfZoomFactor,
  162. m_bmp.GetSize()
  163. );
  164. }
  165. inline static GEODESIC_POINT ClientToGeodesic(
  166. const POINT & ptClient,
  167. double lfZoomFactor,
  168. CSize sizeBitmap
  169. )
  170. {
  171. return
  172. GEODESIC_POINT(
  173. ClientToGeodesicX( ptClient.x, lfZoomFactor, sizeBitmap.cx ),
  174. ClientToGeodesicY( ptClient.y, lfZoomFactor, sizeBitmap.cy )
  175. );
  176. }
  177. GEODESIC_POINT ClientToGeodesic(
  178. const POINT & ptClient
  179. ) const
  180. {
  181. ASSERT_VALID( this );
  182. ASSERT( ! m_bmp.IsEmpty() );
  183. return
  184. ClientToGeodesic(
  185. ptClient,
  186. m_lfZoomFactor,
  187. m_bmp.GetSize()
  188. );
  189. }
  190. struct GEODESIC_RECT
  191. {
  192. double lfLongitudeLeft, lfLatitudeTop, lfLongitudeRight, lfLatitudeBottom;
  193. GEODESIC_RECT()
  194. {
  195. }
  196. GEODESIC_RECT(
  197. double _lfLongitudeLeft,
  198. double _lfLatitudeTop,
  199. double _lfLongitudeRight,
  200. double _lfLatitudeBottom
  201. )
  202. : lfLongitudeLeft( _lfLongitudeLeft )
  203. , lfLatitudeTop( _lfLatitudeTop )
  204. , lfLongitudeRight( _lfLongitudeRight )
  205. , lfLatitudeBottom( _lfLatitudeBottom )
  206. {
  207. }
  208. GEODESIC_RECT( const GEODESIC_RECT & gr )
  209. {
  210. lfLongitudeLeft = gr.lfLongitudeLeft;
  211. lfLatitudeTop = gr.lfLatitudeTop;
  212. lfLongitudeRight = gr.lfLongitudeRight;
  213. lfLatitudeBottom = gr.lfLatitudeBottom;
  214. }
  215. GEODESIC_RECT & operator = ( const GEODESIC_RECT & gr )
  216. {
  217. lfLongitudeLeft = gr.lfLongitudeLeft;
  218. lfLatitudeTop = gr.lfLatitudeTop;
  219. lfLongitudeRight = gr.lfLongitudeRight;
  220. lfLatitudeBottom = gr.lfLatitudeBottom;
  221. return (*this);
  222. }
  223. bool PtInRect(
  224. double _lfLongitude,
  225. double _lfLatitude
  226. ) const
  227. {
  228. if( lfLongitudeLeft <= _lfLongitude && _lfLongitude <= lfLongitudeRight
  229. && lfLatitudeBottom <= _lfLatitude && _lfLatitude <= lfLatitudeTop
  230. )
  231. return true;
  232. return false;
  233. }
  234. bool PtInRect( const GEODESIC_POINT & gp ) const
  235. {
  236. return PtInRect( gp.lfLongitude, gp.lfLatitude );
  237. }
  238. void OffsetRect(
  239. double _lfLongitude,
  240. double _lfLatitude
  241. )
  242. {
  243. lfLongitudeLeft += _lfLongitude;
  244. lfLatitudeTop += _lfLatitude;
  245. lfLongitudeRight += _lfLongitude;
  246. lfLatitudeBottom += _lfLatitude;
  247. }
  248. bool EnsureLineCompletelyOutsideRect(
  249. const GEODESIC_POINT & gp1,
  250. const GEODESIC_POINT & gp2
  251. ) const
  252. {
  253. if( PtInRect( gp1 ) )
  254. return false;
  255. if( PtInRect( gp2 ) )
  256. return false;
  257. if( ( gp1.lfLongitude < lfLongitudeLeft && gp2.lfLongitude < lfLongitudeLeft )
  258. || ( gp1.lfLongitude > lfLongitudeRight && gp2.lfLongitude > lfLongitudeRight )
  259. || ( gp1.lfLatitude < lfLatitudeBottom && gp2.lfLatitude < lfLatitudeBottom )
  260. || ( gp1.lfLatitude > lfLatitudeTop && gp2.lfLatitude > lfLatitudeTop )
  261. )
  262. return true;
  263. return false;
  264. }
  265. void OffsetRect(
  266. const GEODESIC_POINT & gp
  267. )
  268. {
  269. OffsetRect( gp.lfLongitude, gp.lfLatitude );
  270. }
  271. };
  272. inline static CRect GeodesicToClient(
  273. const GEODESIC_RECT & gr,
  274. double lfZoomFactor,
  275. CSize sizeBitmap
  276. )
  277. {
  278. return
  279. CRect(
  280. GeodesicToClientX( gr.lfLongitudeLeft, lfZoomFactor, sizeBitmap.cx ),
  281. GeodesicToClientY( gr.lfLatitudeTop, lfZoomFactor, sizeBitmap.cy ),
  282. GeodesicToClientX( gr.lfLongitudeRight, lfZoomFactor, sizeBitmap.cx ),
  283. GeodesicToClientY( gr.lfLatitudeBottom, lfZoomFactor, sizeBitmap.cy )
  284. );
  285. }
  286. CRect GeodesicToClient(
  287. const GEODESIC_RECT & gr
  288. ) const
  289. {
  290. ASSERT_VALID( this );
  291. ASSERT( ! m_bmp.IsEmpty() );
  292. return
  293. GeodesicToClient(
  294. gr,
  295. m_lfZoomFactor,
  296. m_bmp.GetSize()
  297. );
  298. }
  299. inline static GEODESIC_RECT ClientToGeodesic(
  300. const RECT & rcClient,
  301. double lfZoomFactor,
  302. CSize sizeBitmap
  303. )
  304. {
  305. return
  306. GEODESIC_RECT(
  307. ClientToGeodesicX( rcClient.left, lfZoomFactor, sizeBitmap.cx ),
  308. ClientToGeodesicY( rcClient.top, lfZoomFactor, sizeBitmap.cy ),
  309. ClientToGeodesicX( rcClient.right, lfZoomFactor, sizeBitmap.cx ),
  310. ClientToGeodesicY( rcClient.bottom, lfZoomFactor, sizeBitmap.cy )
  311. );
  312. }
  313. GEODESIC_RECT ClientToGeodesic(
  314. const RECT & rcClient
  315. ) const
  316. {
  317. ASSERT_VALID( this );
  318. ASSERT( ! m_bmp.IsEmpty() );
  319. return
  320. ClientToGeodesic(
  321. rcClient,
  322. m_lfZoomFactor,
  323. m_bmp.GetSize()
  324. );
  325. }
  326. struct GEODESIC_OBJECT
  327. {
  328. CExtSafeString     m_strName, m_strURL;
  329. GEODESIC_POINT     m_gp;
  330. LONG               m_nLevel;
  331. CExtBitmap         m_bmp;
  332. GEODESIC_OBJECT()
  333. : m_gp( 0.0, 0.0 )
  334. , m_nLevel( 3 )
  335. {
  336. }
  337. GEODESIC_OBJECT(
  338. LPCTSTR _strName,
  339. LPCTSTR _strURL,
  340. const GEODESIC_POINT & _gp,
  341. LONG _nLevel
  342. )
  343. : m_strName( ( _strName == NULL ) ? _T("") : _strName )
  344. , m_strURL( ( _strURL == NULL ) ? _T("") : _strURL )
  345. , m_gp( _gp )
  346. , m_nLevel( _nLevel )
  347. {
  348. ASSERT( 0 <= m_nLevel && m_nLevel <= 3 );
  349. }
  350. GEODESIC_OBJECT(
  351. LPCTSTR _strName,
  352. LPCTSTR _strURL,
  353. double _lfLongitude,
  354. double _lfLatitude,
  355. LONG _nLevel
  356. )
  357. : m_strName( ( _strName == NULL ) ? _T("") : _strName )
  358. , m_strURL( ( _strURL == NULL ) ? _T("") : _strURL )
  359. , m_gp( _lfLongitude, _lfLatitude )
  360. , m_nLevel( _nLevel )
  361. {
  362. ASSERT( 0 <= m_nLevel && m_nLevel <= 3 );
  363. }
  364. GEODESIC_OBJECT( const GEODESIC_OBJECT & _other )
  365. {
  366. m_strName   = _other.m_strName;
  367. m_strURL    = _other.m_strURL;
  368. m_gp        = _other.m_gp;
  369. m_nLevel    = _other.m_nLevel;
  370. m_bmp       = _other.m_bmp;
  371. ASSERT( 0 <= m_nLevel && m_nLevel <= 3 );
  372. }
  373. GEODESIC_OBJECT & operator = ( const GEODESIC_OBJECT & _other )
  374. {
  375. m_strName   = _other.m_strName;
  376. m_strURL    = _other.m_strURL;
  377. m_gp        = _other.m_gp;
  378. m_nLevel    = _other.m_nLevel;
  379. m_bmp       = _other.m_bmp;
  380. ASSERT( 0 <= m_nLevel && m_nLevel <= 3 );
  381. return (*this);
  382. }
  383. bool ScanLine( CString & s )
  384. {
  385. int nPos1 = s.Find( _T(";") );
  386. if( nPos1 < 0 )
  387. return false;
  388. int nPos2 = s.Find( _T(";"), nPos1 + 1 );
  389. if( nPos2 < 0 )
  390. return false;
  391. int nPos3 = s.Find( _T(";"), nPos2 + 1 );
  392. if( nPos3 < 0 )
  393. return false;
  394. int nPos4 = s.Find( _T(";"), nPos3 + 1 );
  395. CString _s = s.Mid( 0, nPos1 );
  396. _s.TrimLeft( _T("" rnt,;") );
  397. _s.TrimRight( _T("" rnt,;") );
  398. if( _s.IsEmpty() )
  399. return false;
  400. m_strName = _s;
  401. _s = s.Mid( nPos1 + 1, nPos2 - nPos1 - 1 );
  402. _s.TrimLeft( _T("" rnt,;") );
  403. _s.TrimRight( _T("" rnt,;") );
  404. if( _s.IsEmpty() )
  405. return false;
  406. if( __EXT_MFC_STSCANF( LPCTSTR(_s), _T("%lf"), &m_gp.lfLatitude ) != 1 )
  407. return false;
  408. _s = s.Mid( nPos2 + 1, nPos3 - nPos2 - 1 );
  409. _s.TrimLeft( _T("" rnt,;") );
  410. _s.TrimRight( _T("" rnt,;") );
  411. if( _s.IsEmpty() )
  412. return false;
  413. if( __EXT_MFC_STSCANF( LPCTSTR(_s), _T("%lf"), &m_gp.lfLongitude ) != 1 )
  414. return false;
  415. if( nPos4 >= 0 )
  416. _s = s.Mid( nPos3 + 1, nPos4 - nPos3 - 1 );
  417. else
  418. _s = s.Mid( nPos3 + 1, s.GetLength() - nPos3 - 1 );
  419. _s.TrimLeft( _T("" rnt,;") );
  420. _s.TrimRight( _T("" rnt,;") );
  421. if( _s.IsEmpty() )
  422. return false;
  423. _s.MakeLower();
  424. if( _s == _T("hbf-cap") )
  425. m_nLevel = 3;
  426. else if( _s == _T("hbf") )
  427. m_nLevel = 2;
  428. else if( _s == _T("hpu") )
  429. m_nLevel = 1;
  430. else if( _s == _T("bf") )
  431. m_nLevel = 0;
  432. else
  433. return false;
  434. if( nPos4 >= 0 )
  435. {
  436. int nPos5 = s.Find( _T(";"), nPos4 + 1 );
  437. if( nPos5 >= 0 )
  438. _s = s.Mid( nPos4 + 1, nPos5 - nPos4 - 1 );
  439. else
  440. _s = s.Mid( nPos4 + 1, s.GetLength() - nPos4 - 1 );
  441. _s.TrimLeft( _T("" rnt,;") );
  442. _s.TrimRight( _T("" rnt,;") );
  443. m_strURL = _s;
  444. if( nPos5 >= 0 )
  445. {
  446. _s = s.Mid( nPos5 + 1, s.GetLength() - nPos5 - 1 );
  447. int d;
  448. if( __EXT_MFC_STSCANF( LPCTSTR(_s), _T("%d"), &d ) == 1 )
  449. {
  450. VERIFY( m_bmp.LoadBMP_Resource( MAKEINTRESOURCE(d) ) );
  451. CSize _sizeBmp = m_bmp.GetSize();
  452. static const int nMaxIconWidth = 70;
  453. if( _sizeBmp.cx > nMaxIconWidth )
  454. {
  455. _sizeBmp.cy = ::MulDiv( _sizeBmp.cy, nMaxIconWidth, _sizeBmp.cx );
  456. _sizeBmp.cx = nMaxIconWidth;
  457. CExtBitmap::Filter _f( CExtBitmap::Filter::bilinear );
  458. m_bmp.Scale( _sizeBmp.cx, _sizeBmp.cy, _f );
  459. }
  460. }
  461. }
  462. }
  463. return true;
  464. }
  465. };
  466. // Attributes
  467. public:
  468. CExtBitmap m_bmp;
  469. protected:
  470. CExtBitmap m_bmpCache, m_bmpHelperZoomRectHighlight;
  471. CExtScrollBar m_wndScrollBarH, m_wndScrollBarV;
  472. CExtZoomScrollBar m_wndZoomer;
  473. CRect m_rcHelperZoomRectPadding, m_rcHelperDrawZoomRect;
  474. enum e_show_text_labels_t
  475. {
  476. __ESTLT_HIDE_ALL           = 0,
  477. __ESTLT_BY_ZOOM            = 1,
  478. __ESTLT_SHOW_ALL           = 2,
  479. };
  480. e_show_text_labels_t m_eSTLT;
  481. enum e_show_objects_t
  482. {
  483. __ESTOT_HIDE_ALL           = 0,
  484. __ESTOT_ELLIPSE_FLAT       = 1,
  485. __ESTOT_ELLIPSE_CIRCLE     = 2,
  486. __ESTOT_ELLIPSE_SOLID      = 3,
  487. __ESTOT_ALPHA_BMP          = 4,
  488. };
  489. e_show_objects_t m_eSTOT;
  490. INT m_nHT;
  491. CExtPopupMenuTipWnd m_wndCoolTip;
  492. double m_lfZoomFactor;
  493. CArray < GEODESIC_OBJECT, GEODESIC_OBJECT & > m_arrObjects;
  494. CPoint m_ptLastStatusLL;
  495. CExtSafeString m_strEmptyLocationStatusText;
  496. static const COLORREF g_arrClrBk[ 4 ];
  497. static const double g_arrVZF[ sizeof(g_arrClrBk)/sizeof(g_arrClrBk[0]) ];
  498. static const INT g_arrRadiuses[ sizeof(g_arrClrBk)/sizeof(g_arrClrBk[0]) ];
  499. static const INT g_arrDwmGlowSizes[ sizeof(g_arrClrBk)/sizeof(g_arrClrBk[0]) ];
  500. CExtBitmapCache m_arrObjectBmps[ 4 ];
  501. CSize m_arrObjectBmpSize[ 4 ];
  502. CPoint m_arrObjectBmpOffsets[ 4 ];
  503. bool m_bEnableVistaTextRendering:1, m_bEnableHalftoning:1;
  504. // Operations
  505. public:
  506. // Overrides
  507. // ClassWizard generated virtual function overrides
  508. //{{AFX_VIRTUAL(CChildView)
  509. protected:
  510. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  511. virtual void PostNcDestroy();
  512. virtual CScrollBar* GetScrollBarCtrl(int nBar) const;
  513. //}}AFX_VIRTUAL
  514. // Implementation
  515. public:
  516. virtual ~CChildView();
  517. INT GetObjectCount() const;
  518. GEODESIC_OBJECT & GetObjectAt( INT nObjectIndex );
  519. const GEODESIC_OBJECT & GetObjectAt( INT nObjectIndex ) const;
  520. virtual CSize OnSwGetTotalSize() const;
  521. virtual CSize OnSwGetPageSize( int nDirection ) const
  522. {
  523. nDirection;
  524. return CSize( 50, 50 );
  525. }
  526. virtual CSize OnSwGetLineSize( int nDirection ) const
  527. {
  528. nDirection;
  529. return CSize( 10, 10 );
  530. }
  531. virtual void OnSwSetScrollPos( POINT pt );
  532. virtual bool OnSwDoScrollBy(
  533. CSize sizeScroll,
  534. bool bDoScroll = true
  535. );
  536. virtual CRect OnSwRecalcLayout(
  537. bool bDoLayout,
  538. LPCRECT pRectClientSrc  = NULL
  539. );
  540. virtual void OnSwPaintAreaBetweenScrollBarWindows(
  541. CDC & dc,
  542. const RECT & rcAreaBetweenScrollBarWindows
  543. );
  544. virtual void OnSwPaint( CDC & dc );
  545. protected:
  546. CMainFrame * _GetMainFrame() const;
  547. void _AdjustHT( CPoint point );
  548. CRect _AvailableRectTrackSpaceGet() const;
  549. CRect _TrackZoomRect(
  550. CPoint ptStartTracking,
  551. CRect rcAvailableRectTrackSpace,
  552. bool bUseHalftone = false
  553. );
  554. INT _HitTestObject(
  555. CPoint ptClient,
  556. RECT * pRectObject = NULL
  557. ) const;
  558. void _StatusLL_Clear();
  559. bool _StatusLL_Set(
  560. const GEODESIC_OBJECT & _object
  561. );
  562. bool _StatusLL_Set(
  563. LPCTSTR strName,
  564. double lfLongitude,
  565. double lfLatitude
  566. );
  567. bool _StatusLL_Set(
  568. LPCTSTR strName,
  569. CPoint ptClient
  570. );
  571. void _UpdateZoomerTT();
  572. void _SetZoomFromZoomer(
  573. bool bTrackPos
  574. );
  575. // Generated message map functions
  576. protected:
  577. //{{AFX_MSG(CChildView)
  578. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  579. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  580. afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  581. afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  582. afx_msg void OnSize(UINT nType, int cx, int cy);
  583. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  584. afx_msg void OnTimer(__EXT_MFC_UINT_PTR nIDEvent);
  585. afx_msg void OnHideAllTextLabels();
  586. afx_msg void OnUpdateHideAllTextLabels( CCmdUI * pCmdUI );
  587. afx_msg void OnShowTextLabelsWithZooming();
  588. afx_msg void OnUpdateShowTextLabelsZooming( CCmdUI * pCmdUI );
  589. afx_msg void OnShowAllTextLabels();
  590. afx_msg void OnUpdateShowAllTextLabels( CCmdUI * pCmdUI );
  591. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  592. afx_msg void OnVistaTextRendering();
  593. afx_msg void OnUpdateVistaTextRendering(CCmdUI* pCmdUI);
  594. afx_msg void OnHalftoning();
  595. afx_msg void OnUpdateHalftoning(CCmdUI* pCmdUI);
  596. afx_msg void OnObjectHideAll();
  597. afx_msg void OnUpdateObjectHideAll(CCmdUI* pCmdUI);
  598. afx_msg void OnObjectEllipseFlat();
  599. afx_msg void OnUpdateObjectEllipseFlat(CCmdUI* pCmdUI);
  600. afx_msg void OnObjectEllipseCircle();
  601. afx_msg void OnUpdateObjectEllipseCircle(CCmdUI* pCmdUI);
  602. afx_msg void OnObjectEllipseSolid();
  603. afx_msg void OnUpdateObjectEllipseSolid(CCmdUI* pCmdUI);
  604. afx_msg void OnObjectAlphaBmp();
  605. afx_msg void OnUpdateObjectAlphaBmp(CCmdUI* pCmdUI);
  606. afx_msg void OnShowTrackingTooltipOnZoomScrollbar();
  607. afx_msg void OnUpdateShowTrackingTooltipOnZoomScrollbar(CCmdUI* pCmdUI);
  608. //}}AFX_MSG
  609. DECLARE_MESSAGE_MAP()
  610. };
  611. /////////////////////////////////////////////////////////////////////////////
  612. //{{AFX_INSERT_LOCATION}}
  613. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  614. #endif // !defined(AFX_CHILDVIEW_H__3C598774_58D7_4703_A198_95CF22226AFC__INCLUDED_)