int CXTPReportColumn::GetBestFitWidth() { CXTPReportControl* pControl = GetControl(); CXTPReportPaintManager* pPaintManager = pControl->GetPaintManager(); int nBestColumnWidth = 0; CClientDC dc(pControl); CXTPFontDC font(&dc, &pPaintManager->m_fontCaption); nBestColumnWidth = 6 + GetCaptionWidth(&dc); if (GetIconID() != XTP_REPORT_NOICON) nBestColumnWidth += pPaintManager->DrawBitmap(NULL, pControl, GetRect(), GetIconID()) + 2; if (HasSortTriangle() && pPaintManager->m_DrawSortTriangleStyle != xtpReportDrawSortTriangleNever) nBestColumnWidth += 27; int nDataWidth = pControl->OnGetColumnDataBestFitWidth(this); nBestColumnWidth = max(nBestColumnWidth, nDataWidth); nBestColumnWidth = max(nBestColumnWidth, m_nMaxItemWidth); return nBestColumnWidth; }
int CButtonDialog::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (m_pHelpIDs != NULL) { for (int i=0;i<m_strArray.GetSize();i++) m_pHelpIDs[i*2] = i+m_nBaseID; } if (CCSDialog::OnCreate(lpCreateStruct) == -1) return -1; SetWindowText(m_strCaption); m_pButtons = new CButton[m_strArray.GetSize()]; CRect rect(0, 0, 10, 10); if (!m_staticIcon.Create(NULL, SS_ICON | WS_GROUP | WS_CHILD | WS_VISIBLE, rect, this)) { return -1; } m_staticIcon.SetIcon(::LoadIcon(NULL, GetIconID(m_wStyle))); if (!m_staticText.Create(m_strText, SS_LEFT | SS_NOPREFIX | WS_GROUP | WS_CHILD | WS_VISIBLE, rect, this)) { return -1; } m_staticText.SetFont(&m_font); for (int i=0;i<m_strArray.GetSize();i++) { if (!m_pButtons[i].Create(m_strArray[i], WS_TABSTOP | WS_CHILD | WS_VISIBLE | ((i == 0) ? WS_GROUP : 0) | ((i == m_nDefButton) ? BS_DEFPUSHBUTTON : BS_PUSHBUTTON), rect, this, i+m_nBaseID)) { return -1; } m_pButtons[i].SetFont(&m_font); } PositionControls(); return 0; }