ImageDlg.cpp 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522
  1. // ImageDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "SkinBuilder.h"
  5. #include "ImageDlg.h"
  6. #include ".\imagedlg.h"
  7. // CImageDlg dialog
  8. IMPLEMENT_DYNAMIC( CImageDlg , CDialog )
  9. CImageDlg::CImageDlg( CWnd * pParent /*=NULL*/ ) : CDialog( CImageDlg::IDD,pParent ) , m_nSectionTop( 0 ) , m_nSectionLeft( 0 ) , m_nSectionRight( 10 ) , m_nSectionBottom( 10 ) , m_nMarginsLeft( 0 ) , m_nMarginsTop( 0 ) , m_nMarginsRight( 0 ) , m_nMarginsBottom( 0 ) , m_nDrawMode( 0 )
  10. {
  11. m_pCurrentBitmap = NULL;
  12. }
  13. CImageDlg::~CImageDlg()
  14. {
  15. }
  16. void CImageDlg::DoDataExchange( CDataExchange * pDX )
  17. {
  18. CDialog::DoDataExchange( pDX );
  19. DDX_Control( pDX,IDC_LIST_IMAGE,m_listImage );
  20. DDX_Text( pDX,IDC_EDIT_SELECTIONTOP,m_nSectionTop );
  21. DDX_Text( pDX,IDC_EDIT_SELECTIONLEFT,m_nSectionLeft );
  22. DDX_Text( pDX,IDC_EDIT_SELECTIONRIGHT,m_nSectionRight );
  23. DDX_Text( pDX,IDC_EDIT_SELECTIONBOTTOM,m_nSectionBottom );
  24. DDX_Text( pDX,IDC_EDIT_MARGINSLEFT,m_nMarginsLeft );
  25. DDX_Text( pDX,IDC_EDIT_MARGINSTOP,m_nMarginsTop );
  26. DDX_Text( pDX,IDC_EDIT_MARGINSRIGHT,m_nMarginsRight );
  27. DDX_Text( pDX,IDC_EDIT_MARGINSBOTTOM,m_nMarginsBottom );
  28. DDX_CBIndex( pDX,IDC_COMBO_DRAWMODE,m_nDrawMode );
  29. DDX_Control( pDX,IDC_COMBO_DRAWMODE,m_combDrawMode );
  30. }
  31. BEGIN_MESSAGE_MAP(CImageDlg, CDialog)
  32. ON_EN_CHANGE(IDC_EDIT_SELECTIONLEFT, OnEnChangeEditSelectionleft)
  33. ON_EN_CHANGE(IDC_EDIT_SELECTIONTOP, OnEnChangeEditSelectiontop)
  34. ON_EN_CHANGE(IDC_EDIT_SELECTIONRIGHT, OnEnChangeEditSelectionright)
  35. ON_EN_CHANGE(IDC_EDIT_SELECTIONBOTTOM, OnEnChangeEditSelectionbottom)
  36. ON_EN_CHANGE(IDC_EDIT_MARGINSLEFT, OnEnChangeEditMarginsleft)
  37. ON_EN_CHANGE(IDC_EDIT_MARGINSTOP, OnEnChangeEditMarginstop)
  38. ON_EN_CHANGE(IDC_EDIT_MARGINSRIGHT, OnEnChangeEditMarginsright)
  39. ON_EN_CHANGE(IDC_EDIT_MARGINSBOTTOM, OnEnChangeEditMarginsbottom)
  40. ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_MARGINSBOTTOM, OnDeltaposSpinMarginsbottom)
  41. ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_MARGINSLEFT, OnDeltaposSpinMarginsleft)
  42. ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_MARGINSRIGHT, OnDeltaposSpinMarginsright)
  43. ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_MARGINSTOP, OnDeltaposSpinMarginstop)
  44. ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_SELECTIONBOTTOM, OnDeltaposSpinSelectionbottom)
  45. ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_SELECTIONLEFT, OnDeltaposSpinSelectionleft)
  46. ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_SELECTIONRIGHT, OnDeltaposSpinSelectionright)
  47. ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_SELECTIONTOP, OnDeltaposSpinSelectiontop)
  48. ON_LBN_SELCHANGE(IDC_LIST_IMAGE, OnLbnSelchangeListImage)
  49. ON_BN_CLICKED(IDC_BUTTON_ZOOM1, OnBnClickedButtonZoom1)
  50. ON_BN_CLICKED(IDC_BUTTON_ZOOM2, OnBnClickedButtonZoom2)
  51. ON_BN_CLICKED(IDC_BUTTON_ZOOM3, OnBnClickedButtonZoom3)
  52. ON_BN_CLICKED(IDC_BUTTON_ZOOM4, OnBnClickedButtonZoom4)
  53. ON_BN_CLICKED(IDC_BUTTON_ZOOM5, OnBnClickedButtonZoom5)
  54. ON_CBN_SELCHANGE(IDC_COMBO_DRAWMODE, OnCbnSelchangeComboDrawmode)
  55. END_MESSAGE_MAP()
  56. // CImageDlg message handlers
  57. BOOL CImageDlg::OnInitDialog()
  58. {
  59. CDialog::OnInitDialog();
  60. // TODO: Add extra initialization here
  61. CSkinImages * pImages = GetImages();
  62. int i ;
  63. for ( i = 0 ; i < keStretchCount ; i++ )
  64. {
  65. m_combDrawMode.AddString( stretch[i] );
  66. }
  67. if ( m_wndImage.m_bSection )
  68. {
  69. if ( m_wndImage.m_pImageSection != NULL )
  70. {
  71. m_nSectionLeft = m_wndImage.m_pImageSection->rtImagePos.left;
  72. m_nSectionRight = m_wndImage.m_pImageSection->rtImagePos.right;
  73. m_nSectionTop = m_wndImage.m_pImageSection->rtImagePos.top;
  74. m_nSectionBottom = m_wndImage.m_pImageSection->rtImagePos.bottom;
  75. m_wndImage.m_rtTracker = m_wndImage.m_pImageSection->rtImagePos;
  76. m_nMarginsLeft = m_wndImage.m_pImageSection->marginImage.left;
  77. m_nMarginsRight = m_wndImage.m_pImageSection->marginImage.right;
  78. m_nMarginsTop = m_wndImage.m_pImageSection->marginImage.top;
  79. m_nMarginsBottom = m_wndImage.m_pImageSection->marginImage.bottom;
  80. m_wndImage.m_rtMargins = m_wndImage.m_pImageSection->marginImage;
  81. m_combDrawMode.SetCurSel( m_wndImage.m_pImageSection->stretchDrawMode );
  82. m_nDrawMode = m_wndImage.m_pImageSection->stretchDrawMode;
  83. UpdateData( FALSE );
  84. }
  85. CString strCaption;
  86. strCaption = _T( "ImageSection " ) + ( CString ) m_wndImage.m_pImageSection->strImageName;
  87. SetWindowText( strCaption );
  88. }
  89. else
  90. {
  91. if ( m_wndImage.m_pImageRect != NULL )
  92. {
  93. m_nSectionLeft = m_wndImage.m_pImageRect->rtImagePos.left;
  94. m_nSectionRight = m_wndImage.m_pImageRect->rtImagePos.right;
  95. m_nSectionTop = m_wndImage.m_pImageRect->rtImagePos.top;
  96. m_nSectionBottom = m_wndImage.m_pImageRect->rtImagePos.bottom;
  97. m_wndImage.m_rtTracker = m_wndImage.m_pImageRect->rtImagePos;
  98. UpdateData( FALSE );
  99. }
  100. CString strCaption;
  101. strCaption = _T( "ImageRect " ) + ( CString ) m_wndImage.m_pImageRect->strImageName;
  102. SetWindowText( strCaption );
  103. }
  104. // m_listImage.SetItemState(nSelected,LVIS_SELECTED ,LVIF_STATE);
  105. CRect rtWindow;
  106. GetDlgItem( IDC_STATIC_EDITIMAGE )->GetWindowRect( &rtWindow );
  107. ScreenToClient( &rtWindow );
  108. rtWindow.InflateRect( 1,1 );
  109. m_wndImage.Create( rtWindow,this );
  110. int nItem, nSelected = 0;
  111. CString strName ;
  112. if ( m_wndImage.m_bSection )
  113. {
  114. strName = m_wndImage.m_pImageSection->strImageName;
  115. }
  116. else
  117. {
  118. strName = m_wndImage.m_pImageRect->strImageName;
  119. }
  120. for ( i = 0 ; i < pImages->m_arrayImages.GetSize(); i++ )
  121. {
  122. CSkinBitmap * pBitmap = pImages->m_arrayImages.GetAt( i );
  123. nItem = m_listImage.AddString( pBitmap->m_strName );
  124. if ( strName == pBitmap->m_strName )
  125. {
  126. m_pCurrentBitmap = pBitmap;
  127. m_wndImage.m_pCurrentBitmap = pBitmap;
  128. nSelected = nItem;
  129. m_listImage.SetCurSel( nSelected );
  130. }
  131. }
  132. m_wndImage.Invalidate( NULL );
  133. m_wndImage.UpdateWindow();
  134. return TRUE; // return TRUE unless you set the focus to a control
  135. // EXCEPTION: OCX Property Pages should return FALSE
  136. }
  137. void CImageDlg::OnLvnItemchangedListImage( NMHDR * pNMHDR , LRESULT * pResult )
  138. {
  139. LPNMLISTVIEW pNMLV = reinterpret_cast< LPNMLISTVIEW >( pNMHDR );
  140. // TODO: Add your control notification handler code here
  141. /*POSITION pos = m_listImage.GetFirstSelectedItemPosition();
  142. if(pos)
  143. {
  144. int nCurrent = m_listImage.GetNextSelectedItem(pos);
  145. CString strFile = m_listImage.GetItemText(nCurrent,0);
  146. m_pCurrentBitmap = GetSkin().FindIamge(strFile);
  147. m_wndImage.m_pCurrentBitmap = m_pCurrentBitmap;
  148. if(m_wndImage.m_bSection)
  149. {
  150. strcpy(m_wndImage.m_pImageSection->strImageName,m_pCurrentBitmap->m_strName);
  151. }
  152. else
  153. {
  154. strcpy(m_wndImage.m_pImageRect->strImageName,m_pCurrentBitmap->m_strName);
  155. }
  156. m_wndImage.InvalidateRect(NULL,TRUE);
  157. }
  158. */
  159. *pResult = 0;
  160. }
  161. void CImageDlg::UpdateRect( CRect rect )
  162. {
  163. m_nSectionTop = rect.top;
  164. m_nSectionLeft = rect.left;
  165. m_nSectionRight = rect.right;
  166. m_nSectionBottom = rect.bottom;
  167. UpdateData( FALSE );
  168. }
  169. void CImageDlg::OnEnChangeEditSelectionleft()
  170. {
  171. UpdateData( TRUE );
  172. if ( m_wndImage.m_bSection )
  173. {
  174. m_wndImage.m_rtTracker.left = m_nSectionLeft;
  175. m_wndImage.m_pImageSection->rtImagePos.left = m_nSectionLeft;
  176. }
  177. else
  178. {
  179. m_wndImage.m_rtTracker.left = m_nSectionLeft;
  180. m_wndImage.m_pImageRect->rtImagePos.left = m_nSectionLeft;
  181. }
  182. m_wndImage.Invalidate();
  183. }
  184. void CImageDlg::OnEnChangeEditSelectiontop()
  185. {
  186. UpdateData( TRUE );
  187. if ( m_wndImage.m_bSection )
  188. {
  189. m_wndImage.m_rtTracker.top = m_nSectionTop;
  190. m_wndImage.m_pImageSection->rtImagePos.top = m_nSectionTop;
  191. }
  192. else
  193. {
  194. m_wndImage.m_rtTracker.top = m_nSectionTop;
  195. m_wndImage.m_pImageRect->rtImagePos.top = m_nSectionTop;
  196. }
  197. m_wndImage.Invalidate();
  198. }
  199. void CImageDlg::OnEnChangeEditSelectionright()
  200. {
  201. UpdateData( TRUE );
  202. if ( m_wndImage.m_bSection )
  203. {
  204. m_wndImage.m_rtTracker.right = m_nSectionRight;
  205. m_wndImage.m_pImageSection->rtImagePos.right = m_nSectionRight;
  206. }
  207. else
  208. {
  209. m_wndImage.m_rtTracker.right = m_nSectionRight;
  210. m_wndImage.m_pImageRect->rtImagePos.right = m_nSectionRight;
  211. }
  212. m_wndImage.Invalidate();
  213. }
  214. void CImageDlg::OnEnChangeEditSelectionbottom()
  215. {
  216. UpdateData( TRUE );
  217. if ( m_wndImage.m_bSection )
  218. {
  219. m_wndImage.m_rtTracker.bottom = m_nSectionBottom;
  220. m_wndImage.m_pImageSection->rtImagePos.bottom = m_nSectionBottom;
  221. }
  222. else
  223. {
  224. m_wndImage.m_rtTracker.bottom = m_nSectionBottom;
  225. m_wndImage.m_pImageRect->rtImagePos.bottom = m_nSectionBottom;
  226. }
  227. m_wndImage.Invalidate();
  228. }
  229. void CImageDlg::OnEnChangeEditMarginsleft()
  230. {
  231. UpdateData( TRUE );
  232. if ( m_wndImage.m_bSection )
  233. {
  234. m_wndImage.m_rtMargins.left = m_nMarginsLeft;
  235. m_wndImage.m_pImageSection->marginImage.left = m_nMarginsLeft;
  236. }
  237. m_wndImage.Invalidate();
  238. }
  239. void CImageDlg::OnEnChangeEditMarginstop()
  240. {
  241. UpdateData( TRUE );
  242. if ( m_wndImage.m_bSection )
  243. {
  244. m_wndImage.m_rtMargins.top = m_nMarginsTop;
  245. m_wndImage.m_pImageSection->marginImage.top = m_nMarginsTop;
  246. }
  247. m_wndImage.Invalidate();
  248. }
  249. void CImageDlg::OnEnChangeEditMarginsright()
  250. {
  251. UpdateData( TRUE );
  252. if ( m_wndImage.m_bSection )
  253. {
  254. m_wndImage.m_rtMargins.right = m_nMarginsRight;
  255. m_wndImage.m_pImageSection->marginImage.right = m_nMarginsRight;
  256. }
  257. m_wndImage.Invalidate();
  258. }
  259. void CImageDlg::OnEnChangeEditMarginsbottom()
  260. {
  261. UpdateData( TRUE );
  262. if ( m_wndImage.m_bSection )
  263. {
  264. m_wndImage.m_rtMargins.bottom = m_nMarginsBottom;
  265. m_wndImage.m_pImageSection->marginImage.bottom = m_nMarginsBottom;
  266. }
  267. m_wndImage.Invalidate();
  268. }
  269. void CImageDlg::OnDeltaposSpinMarginsbottom( NMHDR * pNMHDR , LRESULT * pResult )
  270. {
  271. LPNMUPDOWN pNMUpDown = reinterpret_cast< LPNMUPDOWN >( pNMHDR );
  272. // TODO: Add your control notification handler code here
  273. m_nMarginsBottom += pNMUpDown->iDelta;
  274. if ( m_wndImage.m_bSection )
  275. {
  276. m_wndImage.m_rtMargins.bottom = m_nMarginsBottom;
  277. m_wndImage.m_pImageSection->marginImage.bottom = m_nMarginsBottom;
  278. }
  279. m_wndImage.Invalidate();
  280. UpdateData( FALSE );
  281. *pResult = 0;
  282. }
  283. void CImageDlg::OnDeltaposSpinMarginsleft( NMHDR * pNMHDR , LRESULT * pResult )
  284. {
  285. LPNMUPDOWN pNMUpDown = reinterpret_cast< LPNMUPDOWN >( pNMHDR );
  286. // TODO: Add your control notification handler code here
  287. m_nMarginsLeft += pNMUpDown->iDelta;
  288. if ( m_wndImage.m_bSection )
  289. {
  290. m_wndImage.m_rtMargins.left = m_nMarginsLeft;
  291. m_wndImage.m_pImageSection->marginImage.left = m_nMarginsLeft;
  292. }
  293. m_wndImage.Invalidate();
  294. UpdateData( FALSE );
  295. *pResult = 0;
  296. }
  297. void CImageDlg::OnDeltaposSpinMarginsright( NMHDR * pNMHDR , LRESULT * pResult )
  298. {
  299. LPNMUPDOWN pNMUpDown = reinterpret_cast< LPNMUPDOWN >( pNMHDR );
  300. // TODO: Add your control notification handler code here
  301. m_nMarginsRight += pNMUpDown->iDelta;
  302. if ( m_wndImage.m_bSection )
  303. {
  304. m_wndImage.m_rtMargins.right = m_nMarginsRight;
  305. m_wndImage.m_pImageSection->marginImage.right = m_nMarginsRight;
  306. }
  307. m_wndImage.Invalidate();
  308. UpdateData( FALSE );
  309. *pResult = 0;
  310. }
  311. void CImageDlg::OnDeltaposSpinMarginstop( NMHDR * pNMHDR , LRESULT * pResult )
  312. {
  313. LPNMUPDOWN pNMUpDown = reinterpret_cast< LPNMUPDOWN >( pNMHDR );
  314. // TODO: Add your control notification handler code here
  315. m_nMarginsTop += pNMUpDown->iDelta;
  316. if ( m_wndImage.m_bSection )
  317. {
  318. m_wndImage.m_rtMargins.top = m_nMarginsTop;
  319. m_wndImage.m_pImageSection->marginImage.top = m_nMarginsTop;
  320. }
  321. m_wndImage.Invalidate();
  322. UpdateData( FALSE );
  323. *pResult = 0;
  324. }
  325. void CImageDlg::OnDeltaposSpinSelectionbottom( NMHDR * pNMHDR , LRESULT * pResult )
  326. {
  327. LPNMUPDOWN pNMUpDown = reinterpret_cast< LPNMUPDOWN >( pNMHDR );
  328. // TODO: Add your control notification handler code here
  329. m_nSectionBottom += pNMUpDown->iDelta;
  330. if ( m_wndImage.m_bSection )
  331. {
  332. m_wndImage.m_rtTracker.bottom = m_nSectionBottom;
  333. m_wndImage.m_pImageSection->rtImagePos.bottom = m_nSectionBottom;
  334. }
  335. else
  336. {
  337. m_wndImage.m_rtTracker.bottom = m_nSectionBottom;
  338. m_wndImage.m_pImageRect->rtImagePos.bottom = m_nSectionBottom;
  339. }
  340. m_wndImage.Invalidate();
  341. UpdateData( FALSE );
  342. *pResult = 0;
  343. }
  344. void CImageDlg::OnDeltaposSpinSelectionleft( NMHDR * pNMHDR , LRESULT * pResult )
  345. {
  346. LPNMUPDOWN pNMUpDown = reinterpret_cast< LPNMUPDOWN >( pNMHDR );
  347. // TODO: Add your control notification handler code here
  348. m_nSectionLeft += pNMUpDown->iDelta;
  349. if ( m_wndImage.m_bSection )
  350. {
  351. m_wndImage.m_rtTracker.left = m_nSectionLeft;
  352. m_wndImage.m_pImageSection->rtImagePos.left = m_nSectionLeft;
  353. }
  354. else
  355. {
  356. m_wndImage.m_rtTracker.left = m_nSectionLeft;
  357. m_wndImage.m_pImageRect->rtImagePos.left = m_nSectionLeft;
  358. }
  359. m_wndImage.Invalidate();
  360. UpdateData( FALSE );
  361. *pResult = 0;
  362. }
  363. void CImageDlg::OnDeltaposSpinSelectionright( NMHDR * pNMHDR , LRESULT * pResult )
  364. {
  365. LPNMUPDOWN pNMUpDown = reinterpret_cast< LPNMUPDOWN >( pNMHDR );
  366. // TODO: Add your control notification handler code here
  367. m_nSectionRight += pNMUpDown->iDelta;
  368. if ( m_wndImage.m_bSection )
  369. {
  370. m_wndImage.m_rtTracker.right = m_nSectionRight;
  371. m_wndImage.m_pImageSection->rtImagePos.right = m_nSectionRight;
  372. }
  373. else
  374. {
  375. m_wndImage.m_rtTracker.right = m_nSectionRight;
  376. m_wndImage.m_pImageRect->rtImagePos.right = m_nSectionRight;
  377. }
  378. m_wndImage.Invalidate();
  379. UpdateData( FALSE );
  380. *pResult = 0;
  381. }
  382. void CImageDlg::OnDeltaposSpinSelectiontop( NMHDR * pNMHDR , LRESULT * pResult )
  383. {
  384. LPNMUPDOWN pNMUpDown = reinterpret_cast< LPNMUPDOWN >( pNMHDR );
  385. // TODO: Add your control notification handler code here
  386. m_nSectionTop += pNMUpDown->iDelta;
  387. if ( m_wndImage.m_bSection )
  388. {
  389. m_wndImage.m_rtTracker.top = m_nSectionTop;
  390. m_wndImage.m_pImageSection->rtImagePos.top = m_nSectionTop;
  391. }
  392. else
  393. {
  394. m_wndImage.m_rtTracker.top = m_nSectionTop;
  395. m_wndImage.m_pImageRect->rtImagePos.top = m_nSectionTop;
  396. }
  397. m_wndImage.Invalidate();
  398. UpdateData( FALSE );
  399. *pResult = 0;
  400. }
  401. void CImageDlg::OnLbnSelchangeListImage()
  402. {
  403. // TODO: Add your control notification handler code here
  404. int nSel = m_listImage.GetCurSel();
  405. CString strFile;
  406. m_listImage.GetText( nSel,strFile );
  407. m_pCurrentBitmap = GetSkin().FindIamge( strFile );
  408. m_wndImage.m_pCurrentBitmap = m_pCurrentBitmap;
  409. if ( m_wndImage.m_bSection )
  410. {
  411. strcpy( m_wndImage.m_pImageSection->strImageName,m_pCurrentBitmap->m_strName );
  412. }
  413. else
  414. {
  415. strcpy( m_wndImage.m_pImageRect->strImageName,m_pCurrentBitmap->m_strName );
  416. }
  417. m_wndImage.InvalidateRect( NULL,TRUE );
  418. }
  419. void CImageDlg::OnBnClickedButtonZoom1()
  420. {
  421. // TODO: Add your control notification handler code here
  422. m_wndImage.m_fZoom = 1.0f;
  423. m_wndImage.SetScrool();
  424. m_wndImage.Invalidate();
  425. }
  426. void CImageDlg::OnBnClickedButtonZoom2()
  427. {
  428. // TODO: Add your control notification handler code here
  429. m_wndImage.m_fZoom = 1.5f;
  430. m_wndImage.SetScrool();
  431. m_wndImage.Invalidate();
  432. }
  433. void CImageDlg::OnBnClickedButtonZoom3()
  434. {
  435. // TODO: Add your control notification handler code here
  436. m_wndImage.m_fZoom = 2.0f;
  437. m_wndImage.SetScrool();
  438. m_wndImage.Invalidate();
  439. }
  440. void CImageDlg::OnBnClickedButtonZoom4()
  441. {
  442. // TODO: Add your control notification handler code here
  443. m_wndImage.m_fZoom = 3.0f;
  444. m_wndImage.SetScrool();
  445. m_wndImage.Invalidate();
  446. }
  447. void CImageDlg::OnBnClickedButtonZoom5()
  448. {
  449. // TODO: Add your control notification handler code here
  450. m_wndImage.m_fZoom = 4.0f;
  451. m_wndImage.SetScrool();
  452. m_wndImage.Invalidate();
  453. }
  454. void CImageDlg::OnCbnSelchangeComboDrawmode()
  455. {
  456. // TODO: Add your control notification handler code here
  457. UpdateData( TRUE );
  458. if ( m_wndImage.m_bSection )
  459. {
  460. if ( m_wndImage.m_pImageSection != NULL )
  461. {
  462. m_wndImage.m_pImageSection->stretchDrawMode = m_nDrawMode;
  463. }
  464. }
  465. else
  466. {
  467. if ( m_wndImage.m_pImageRect != NULL )
  468. {
  469. m_wndImage.m_pImageRect->stretchDrawMode = m_nDrawMode;
  470. }
  471. }
  472. }