#include "stdafx.h" #include "StateBtnGroup.h" IMPLEMENT_DYNAMIC(CStateBtnGroup, CWnd) CStateBtnGroup::CStateBtnGroup(void) { CButtonGroup(); } CStateBtnGroup::~CStateBtnGroup(void) { for (size_t i = 0; i < pButtons.size(); i++) { delete(pButtons[i]); pButtons[i] = NULL; } } void CStateBtnGroup::addButton(CString name, UINT nID) { CStateButton* pBtn = new CStateButton; pButtons.push_back(pBtn); CString str; str.Format("%d", pButtons.size()); pBtn->Create("a", WS_CHILD | WS_VISIBLE | BS_OWNERDRAW, getCurRect(pButtons.size() - 1), pParent, nID); pBtn->name = name; pBtn->index = pButtons.size() - 1; pBtn->type = type; pBtn->pParent = this; row = pButtons.size() / maxColumn + 1; if (pButtons.size() % maxColumn == 0) { row -= 1; } column = maxColumn; } void CStateBtnGroup::changeButtonInfo(UINT index, CString name, CString amount, CString vol, CString price,UINT state) { if (pButtons[index]->name == name && pButtons[index]->amount == amount && pButtons[index]->vol == vol && pButtons[index]->price == price && pButtons[index]->state == state) { return; } pButtons[index]->name = name; pButtons[index]->amount = amount; pButtons[index]->vol = vol; pButtons[index]->price = price; pButtons[index]->state = state; ::SendMessage(pButtons[index]->m_hWnd, WM_PAINT, (LPARAM)0, (WPARAM)0); }