Start with the project you created in Tutorial3: The Automation Container.
Take the following steps to add the capability to change to color of the vector objects created with automation:
1. |
Click on the "Resource View" tab of the project workspace. |
2. |
Click to open the "VecAut resources" branch. |
3. |
Click to open the "Menu" branch. |
4. |
Double click "IDR_MAINFRAME". |
5. |
Add a menu item "Preferences". |
6. |
Drag the menu item to appear after "Edit" and before "View". |
7. |
Add another menu item under "Preferences" called "Color..." |
8. |
Right click on "Color" and choose "Add Event Handler" |
9. |
For "Class name" select "CVecAutApp". |
10. |
For "Object IDs" select "ID_PREFERENCES_COLOR". |
11. |
For "Messages" select "COMMAND". |
12. |
Click the "Add and Edit" |
14. |
Add the following code: |
void CVecAutApp::OnPreferencesColor(){AUTOMATIONVECTORPROPERTIES AutVecProps;//Get current automation PEN propertiesAutVecProps.nSize = sizeof(AUTOMATIONVECTORPROPERTIES);AutVecProps.dwMask = AUTOMATION_VECTOR_PEN;m_Automation.GetVectorProperty (&AutVecProps);//Display color picker dialog to select new colorCColorDialog dlg;dlg.m_cc.Flags |= CC_FULLOPEN | CC_RGBINIT;dlg.m_cc.rgbResult = AutVecProps.Pen.NewPen.LogPen.lopnColor;if (IDOK == dlg.DoModal()){AutVecProps.Pen.bExtPen = FALSE;AutVecProps.Pen.NewPen.LogPen.lopnColor = dlg.GetColor();}m_Automation.SetVectorProperty (&AutVecProps);}
15. |
Compile and run the demo. |
16. |
Choose View->Vector Toolbar. |
17. |
Choose Preferences->Color and select a color from the color picker dialog. |
18. |
Select the Line tool from the Vector Toolbar and draw a line. It will be in the color that you selected. |