Google Ads

Thursday, December 3, 2009

TOOL BARS



TOOL BARS


  1. Run AppWizard to generate toolbar application.
  2. Use the resource editor to edit the application’s main menu.

- In resource view, double – click on IDR_MAINFRAME.

- create a new menu called draw with the following names & command ID’s

Menu Caption Command ID

Draw Circle ID_DRAW_CIRCLE

Draw Square ID_DRAW_SQUARE

Draw Pattern ID_DRAW_PATTERN

3. Use ClassWizard to add toolbarView class message handlers.

Object ID Message Member Function

ID_DRAW_CIRCLE COMMAND OnDrawCircle

ID_DRAW_CIRCLE UPDATE_COMMAND_UI OnUpdateDrawCircle

ID_DRAW_PATTERN COMMAND OnDrawPattern

ID_DRAW_PATTERN UPDATE_COMMAND_UI OnUpdateDrawPattern

ID_DRAW_SQUARE COMMAND OnDrawSquare

ID_DRAW_SQUARE UPDATE_COMMAND_UI OnUpdateDrawSquare

4. Add three data members to the toolbarView class.

- edit the file toolbarView.h

private:

CRect m_rect;

BOOL m_bCircle;

BOOL m_bPattern;

5. Edit the toolbarView.cpp file

CtoolbarView :: CtoolbarView() : m_rect (0,0,100,100)

{

m_bCircle = TRUE;

m_bPattern = FALSE;

}

Edit the OnDraw function.

void CtoolbarView :: OnDraw (CDC* pDC)

{

CBrush brush(HS_BDIAGONAL, 0L);

if (m_bPattern)

pDC -> SelectObject (&brush);

else

pDC -> SelectStockObject (WHITE_BRUSH);

if (m_bCircle)

pDC -> Ellipse (m_rect);

else

pDC -> Rectangle (m_rect);

pDC -> SelectStockObject (WHITE_BRUSH);

}

Edit the OnDrawCircle, OnDrawSquare and OnDrawPattern function.

void CtoolbarView :: OnDrawCircle()

{

m_bCircle = TRUE;

m_rect += CPoint (25,25);

InvalidateRect (m_rect);

}

void CtoolbarView :: OnDrawSquare()

{

m_bCircle = FALSE;

m_rect += CPoint (25,25);

InvalidateRect (m_rect);

}

void CtoolbarView :: OnDrawPattern()

{

m_bPattern ^= 1;

}

Edit the OnUpdateDrawCircle, OnUpdateDrawSquare and OnUpdateDrawPattern function

void CtoolbarView :: OnUpdateDrawCircle (CCmdUI* pCmdUI)

{

pCmdUI -> Enable (!m-bCircle);

}

void CtoolbarView :: OnUpdateDrawSquare (CCmdUI* pCmdUI)

{

pCmdUI -> Enable (m_bCircle);

}

void CtoolbarView :: OnUpdateDrawPattern (CCmdUI* pCmdUI)

{

pCmdUI -> SetCheck (m_bPattern);

}

8. Build and Test the application.


No comments:

Post a Comment