|
|
1.1 ! root 1: // bbutton.cpp : bitmap button test ! 2: // ! 3: // This is a part of the Microsoft Foundation Classes C++ library. ! 4: // Copyright (C) 1992 Microsoft Corporation ! 5: // All rights reserved. ! 6: // ! 7: // This source code is only intended as a supplement to the ! 8: // Microsoft Foundation Classes Reference and Microsoft ! 9: // QuickHelp documentation provided with the library. ! 10: // See these sources for detailed information regarding the ! 11: // Microsoft Foundation Classes product. ! 12: ! 13: #include "ctrltest.h" ! 14: ! 15: ///////////////////////////////////////////////////////////////////////////// ! 16: // BitmapButton Test dialog #1 ! 17: ! 18: // In this example we pass the bitmap resource names in the constructor ! 19: // for the buttons. OnInitDialog is used to Subclass the buttons ! 20: // so the dialog controls get attached to the MFC WndProc for C++ ! 21: // message map dispatch. ! 22: ! 23: class CBMTest1Dlg : public CModalDialog ! 24: { ! 25: protected: ! 26: // construct ! 27: CBitmapButton button1, button2; ! 28: public: ! 29: CBMTest1Dlg() ! 30: : CModalDialog(IDM_TEST_BITMAP_BUTTON1), ! 31: button1("Image1Up", "Image1Down", "Image1Focus"), ! 32: button2("Image2Up", "Image2Down", "Image2Focus") ! 33: { } ! 34: ! 35: BOOL OnInitDialog(); ! 36: void OnOK(); ! 37: }; ! 38: ! 39: BOOL CBMTest1Dlg::OnInitDialog() ! 40: { ! 41: // each dialog control has special bitmaps ! 42: VERIFY(button1.SubclassDlgItem(IDOK, this)); ! 43: button1.SizeToContent(); ! 44: VERIFY(button2.SubclassDlgItem(IDCANCEL, this)); ! 45: button2.SizeToContent(); ! 46: ! 47: return TRUE; ! 48: } ! 49: ! 50: void CBMTest1Dlg::OnOK() ! 51: { ! 52: EndDialog(IDOK); ! 53: } ! 54: ! 55: ///////////////////////////////////////////////////////////////////////////// ! 56: // BitmapButton Test dialog #2 ! 57: ! 58: // In this example we use the CBitmapButton AutoLoad member function. ! 59: // Autoload uses the text/title of the button as the base resource name. ! 60: // For this trivial example the buttons are called "OK" and "CANCEL", ! 61: // which use the bitmaps "OKU", "OKD", "OKF", "CANCELU", "CANCELD" ! 62: // and "CANCELF" respectively for the up, down and focused images. ! 63: ! 64: #define ID_BUTTON_MIN IDOK ! 65: #define N_BUTTONS (IDCANCEL - ID_BUTTON_MIN + 1) ! 66: ! 67: class CBMTest2Dlg : public CModalDialog ! 68: { ! 69: protected: ! 70: // construct ! 71: CBitmapButton buttons[N_BUTTONS]; ! 72: // array of buttons constructed with no attached bitmap images ! 73: public: ! 74: CBMTest2Dlg() ! 75: : CModalDialog(IDM_TEST_BITMAP_BUTTON2) ! 76: { } ! 77: ! 78: BOOL OnInitDialog(); ! 79: void OnOK(); ! 80: }; ! 81: ! 82: BOOL CBMTest2Dlg::OnInitDialog() ! 83: { ! 84: // load bitmaps for all the bitmap buttons (does SubclassButton as well) ! 85: for (int i = 0; i < N_BUTTONS; i++) ! 86: VERIFY(buttons[i].AutoLoad(ID_BUTTON_MIN + i, this)); ! 87: return TRUE; ! 88: } ! 89: ! 90: void CBMTest2Dlg::OnOK() ! 91: { ! 92: EndDialog(IDOK); ! 93: } ! 94: ! 95: ///////////////////////////////////////////////////////////////////////////// ! 96: // Test driver routines ! 97: ! 98: void CTestWindow::OnTestBitmapButton1() ! 99: { ! 100: CBMTest1Dlg dlg; ! 101: dlg.DoModal(); ! 102: } ! 103: ! 104: void CTestWindow::OnTestBitmapButton2() ! 105: { ! 106: CBMTest2Dlg dlg; ! 107: dlg.DoModal(); ! 108: } ! 109: ! 110: /////////////////////////////////////////////////////////////////////////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.