void CComboBoxBT::SetBKImg( LPCTSTR str ) { m_imgBK.LoadResource(FindResource(NULL, str, L"PNG"), CXIMAGE_FORMAT_PNG); SetItemHeight(-1, m_imgBK.GetHeight() - 6); SetItemHeight(0, m_imgBK.GetHeight() - 6); SetFont(&m_font); }
void COptionTreeItemEdit::OptionsChanges() { // Multiline SetDrawMultiline(GetOption(OT_EDIT_MULTILINE)); if (GetOption(OT_EDIT_MULTILINE) == TRUE) { SetItemHeight(OT_EDIT_MLHEIGHT); if (IsWindow(GetSafeHwnd())) { ModifyStyle(0, ES_MULTILINE, 0); } } else { SetItemHeight(OT_DEFHEIGHT); if (IsWindow(GetSafeHwnd())) { ModifyStyle(ES_MULTILINE, 0, 0); } } // Password if (GetOption(OT_EDIT_PASSWORD) == TRUE) { if (IsWindow(GetSafeHwnd())) { ModifyStyle(0, ES_PASSWORD, 0); } } else { if (IsWindow(GetSafeHwnd())) { ModifyStyle(ES_PASSWORD, 0, 0); } } // Numerical SetDrawMultiline(GetOption(OT_EDIT_NUMERICAL)); if (GetOption(OT_EDIT_NUMERICAL) == TRUE) { SetItemHeight(OT_EDIT_MLHEIGHT); if (IsWindow(GetSafeHwnd())) { ModifyStyle(0, ES_MULTILINE, 0); } } else { SetItemHeight(OT_DEFHEIGHT); if (IsWindow(GetSafeHwnd())) { ModifyStyle(ES_MULTILINE, 0, 0); } } }
void CComboColorPicker::PreSubclassWindow() { InitializeData(); // set item height CDC *pDC = GetDC(); CSize sizeAutoText = pDC->GetTextExtent( CString( _T("default") ) ); SetItemHeight( 0, sizeAutoText.cy + 4 ); SetItemHeight( -1, sizeAutoText.cy + 4 ); CComboBox::PreSubclassWindow(); }
void COptionTreeItemFont::OnActivate() { // Declare variables CWnd *pWnd; // Set apply window if (m_pApplyWindow != NULL) { pWnd = m_pApplyWindow; } else { pWnd = m_otOption; } // Show dialog COptionTreeFontSel fDialog(m_dwOptions, m_lfFont, m_lfDefaultFont, pWnd); // -- Default Font Color fDialog.SetDefaultTextColor(m_crDefTextColor); // -- Font Color fDialog.SetTextColor(m_crTextColor); // -- Control ID fDialog.SetControlID(GetCtrlID()); // Show dialog if (fDialog.DoModal() == ID_FONTSEL_OK) { // -- Get font fDialog.GetLogFont(m_lfFont); // -- Get font color m_crTextColor = fDialog.GetTextColor(); // -- Set item height if ((abs(m_lfFont.lfHeight) + (OT_SPACE * 2)) > m_lDefaultHeight) { SetItemHeight(abs(m_lfFont.lfHeight) + (OT_SPACE * 2)); SetDrawMultiline(TRUE); } else { SetItemHeight(m_lDefaultHeight); SetDrawMultiline(FALSE); } } // Update items if (m_otOption != NULL) { m_otOption->UpdatedItems(); } }
//配置函数 bool CServerItemView::InitServerItemView(ITreeCtrlSink * pITreeCtrlSink) { //设置属性 SetItemHeight(ITEM_HEIGHT); //SetTextColor(RGB(0,0,0)); //SetBkColor(RGB(230,249,255)); //ModifyStyle(0,TVS_HASBUTTONS|TVS_HASLINES|TVS_SHOWSELALWAYS|TVS_TRACKSELECT); ModifyStyle(0,TVS_HASBUTTONS|TVS_HASLINES|TVS_SHOWSELALWAYS|TVS_TRACKSELECT|TVS_FULLROWSELECT|TVS_HASLINES); //SendMessage(WN_SET_LINE_COLOR,0,(LPARAM)RGB(72,79,63)); //设置变量 ASSERT(pITreeCtrlSink!=NULL); m_pITreeCtrlSink=pITreeCtrlSink; //加载标志 if (m_ImageList.GetSafeHandle()==NULL) { CBitmap ServerImage; ServerImage.LoadBitmap(IDB_SERVER_LIST_IMAGE); m_ImageList.Create(18,18,ILC_COLOR16|ILC_MASK,0,0); m_ImageList.Add(&ServerImage,RGB(255,0,255)); SetImageList(&m_ImageList,LVSIL_NORMAL); } //设置滚动 //m_SkinScrollBar.InitScroolBar(this); return true; }
bool CXTPSyntaxEditColorComboBox::Init() { // MFCBUG: adjust height so display is the same as non-owner drawn // CComboBoxes. MFC sets the height of an owner-drawn CComboBox // 2-3 pixels larger than a non owner-drawn combo. SetItemHeight(-1, (::GetSystemMetrics(SM_CYVTHUMB)-::GetSystemMetrics(SM_CYEDGE))); ResetContent(); AddColor( RGB(0x00,0x00,0x00), XTP_IDS_CLR_BLACK ), AddColor( RGB(0xff,0xff,0xff), XTP_IDS_CLR_WHITE ), AddColor( RGB(0x80,0x00,0x00), XTP_IDS_CLR_MAROON ), AddColor( RGB(0x00,0x80,0x00), XTP_IDS_CLR_DARK_GREEN ), AddColor( RGB(0x80,0x80,0x00), XTP_IDS_CLR_OLIVE ), AddColor( RGB(0x00,0x00,0x80), XTP_IDS_CLR_DARK_BLUE ), AddColor( RGB(0x80,0x00,0x80), XTP_IDS_CLR_PURPLE ), AddColor( RGB(0x00,0x80,0x80), XTP_IDS_CLR_TEAL ), AddColor( RGB(0xC0,0xC0,0xC0), XTP_IDS_CLR_GRAY25 ), AddColor( RGB(0x80,0x80,0x80), XTP_IDS_CLR_GRAY50 ), AddColor( RGB(0xFF,0x00,0x00), XTP_IDS_CLR_RED ), AddColor( RGB(0x00,0xFF,0x00), XTP_IDS_CLR_GREEN ), AddColor( RGB(0xFF,0xFF,0x00), XTP_IDS_CLR_YELLOW ), AddColor( RGB(0x00,0x00,0xFF), XTP_IDS_CLR_BLUE ), AddColor( RGB(0xFF,0x00,0xFF), XTP_IDS_CLR_PINK ), AddColor( RGB(0x00,0xFF,0xFF), XTP_IDS_CLR_TURQUOISE ), SetCurSel(0); return true; }
int CMapListbox::OnCreate(LPCREATESTRUCT lpCreateStruct) { int nRet = CPaneTreeCtrl::OnCreate(lpCreateStruct); if (nRet < 0) return nRet; m_imageList.Create(ICON_CX,ICON_CY,ILC_MASK|ILC_COLOR32,0,11); SetImageList(&m_imageList,TVSIL_NORMAL); m_imageList.Add(AfxGetApp()->LoadIcon(IDI_HOUSE)); HTREEITEM hRootItem = InsertItem(CTinyString(IDS_BUILDING),0,0); SetItemData(hRootItem,IDC_BTN_BKGNDMAIN); UINT cmds[] = { IDS_WAY,IDS_GREEN,IDS_ELECTRONIC,IDS_WATER,IDS_WARM,IDS_OTHER }; for (int i=1; i<_countof(cmds); ++i) { m_imageList.Add(AfxGetApp()->LoadIcon(cmds[i])); HTREEITEM hTreeItem = InsertItem(CTinyString(cmds[i]),i,i,hRootItem); SetItemData(hTreeItem,cmds[i]); } Expand(hRootItem,TVE_EXPAND); SelectItem(hRootItem); ModifyStyle(0,TVS_FULLROWSELECT); SetItemHeight(80); return nRet; }
void CCheckComboBox::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct) { CClientDC dc(this); CFont *pOldFont = dc.SelectObject(GetFont()); if (pOldFont != 0) { TEXTMETRIC metrics = { 0 }; dc.GetTextMetrics(&metrics); lpMeasureItemStruct->itemHeight = metrics.tmHeight + metrics.tmExternalLeading; // An extra height of 2 looks good I think. // Otherwise the list looks a bit crowded... lpMeasureItemStruct->itemHeight += 2; // This is needed since the WM_MEASUREITEM message is sent before // MFC hooks everything up if used in i dialog. So adjust the // static portion of the combo box now if (!m_bItemHeightSet) { m_bItemHeightSet = TRUE; SetItemHeight(-1, lpMeasureItemStruct->itemHeight); } dc.SelectObject(pOldFont); } }
int COXImageListBox::SetImageList(CImageList* pImageList) { EmptyImageList(); if(pImageList==NULL || pImageList->GetImageCount()==0) return 0; VERIFY(m_imageList.DeleteImageList()); IMAGEINFO imageInfo; VERIFY(pImageList->GetImageInfo(0,&imageInfo)); CRect rect(imageInfo.rcImage); #if _MFC_VER > 0x0421 VERIFY(m_imageList.Create(pImageList)); #else VERIFY(m_imageList.Create(rect.Width(),rect.Height(),ILC_COLOR24|ILC_MASK,0,0)); for(int nButtonIndex=0; nButtonIndex<pImageList->GetImageCount(); nButtonIndex++) { HICON hIcon=pImageList->ExtractIcon(nButtonIndex); ASSERT(hIcon!=NULL); VERIFY(m_imageList.Add(hIcon)!=-1); VERIFY(::DestroyIcon(hIcon)); } #endif SetItemHeight(0,rect.Height()+rect.Height()/4); SetColumnWidth(rect.Width()+rect.Width()/4); for(int nIndex=0; nIndex<m_imageList.GetImageCount(); nIndex++) { AddString((LPCTSTR) (INT_PTR)nIndex); } return m_imageList.GetImageCount(); }
void CCheckComboBox::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct) { CClientDC dc(this); CFont *pFont = dc.SelectObject(GetFont()); if (pFont != 0) { TEXTMETRIC metrics; dc.GetTextMetrics(&metrics); lpMeasureItemStruct->itemHeight = metrics.tmHeight + metrics.tmExternalLeading; lpMeasureItemStruct->itemHeight += 2; // MFC hooks everything up if used in i dialog. So adjust the if (!m_bItemHeightSet) { m_bItemHeightSet = TRUE; SetItemHeight(-1, lpMeasureItemStruct->itemHeight); } dc.SelectObject(pFont); } }
void FilteredListBox::SetFilter( std::tstring Filter ) { for(int i=0;i<GetCount();i++) { std::tstring text; text.resize(GetTextLen(i) + 1); GetText(&text,i); if(text == Filter) SetItemHeight(i,m_TextMetrics.tmHeight); else SetItemHeight(i,1); } RECT r; GetClientRect(&r); InvalidateRect(&r); }
void CProgressListBox::Init() { // set new height of an item CClientDC dc(this); TEXTMETRIC tm; dc.GetTextMetrics(&tm); int iHeight=MulDiv(tm.tmHeight+tm.tmExternalLeading, dc.GetDeviceCaps(LOGPIXELSY), tm.tmDigitizedAspectY); SetItemHeight(0, m_bShowCaptions ? iHeight+2+9+2 : 2+9+2); }
BOOL COptionTreeItemImage::CreateImageItem(DWORD dwOptions, CSize sImageSizes, int nNumberColumns) { // Declare variables DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN; BOOL bRet = FALSE; // Make sure options is not NULL if (m_otOption == NULL) { return FALSE; } // Create window if (!IsWindow(GetSafeHwnd())) { // -- Create the edit view bRet = Create(AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW, ::LoadCursor(NULL, IDC_ARROW)), _T(""), dwStyle, m_rcAttribute, m_otOption->GetCtrlParent(), GetCtrlID()); // -- Setup window if (bRet == TRUE) { // -- -- Set font SetFont(m_otOption->GetNormalFont(), TRUE); // -- -- Save options m_dwOptions = dwOptions; // -- -- Create imagelist if (m_imgImages.GetSafeHandle() != NULL) { m_imgImages.DeleteImageList(); } if (!m_imgImages.Create(sImageSizes.cx, sImageSizes.cy, ILC_COLORDDB | ILC_MASK, 1, OT_IMAGE_MAXIMAGES)) { bRet = FALSE; } // -- -- Set item height SetItemHeight((long) sImageSizes.cy + (OT_IMAGE_IMAGESPACE * 2)); // -- -- Set number of columns SetNumberColumns(nNumberColumns); // Set image height SetImageSize(sImageSizes); // -- -- Set window position SetWindowPos(NULL, m_rcAttribute.left, m_rcAttribute.top, m_rcAttribute.Width(), m_rcAttribute.Height(), SWP_NOZORDER | SWP_SHOWWINDOW); // -- -- Hide window ShowWindow(SW_HIDE); } } return bRet; }
ZStageInfoBox::ZStageInfoBox(const char* szName, MWidget* pParent, MListener* pListener) : MListBox(szName, pParent, pListener) { // LOOK_IN_CONSTRUCTOR() SetItemHeight(GetItemHeight()*3); SetAlwaysVisibleScrollbar(true); m_pLook=NULL; }
void CColouredListBox::SetFont( CFont* pFont, BOOL fRedraw/*TRUE*/ ) { //change font CListBox::SetFont( pFont, fRedraw ); //set height on all items int iMax = GetCount(); int nHeight = GetFontHeight(); for( int i = 0; i < iMax; i++ ) SetItemHeight( i, nHeight ); }
LRESULT CCheckListBox::OnSetFont(WPARAM , LPARAM) { Default(); if ((GetStyle() & (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) == (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) SetItemHeight(0, CalcMinimumItemHeight()); return 0; }
int CMyListBox::AddString(LPCTSTR lpszItem) { int ret=CListBox::AddString(lpszItem); for(int i = 0;i<GetCount();i++) { SetItemHeight(i,LISTBOX_HEIGHT); } SetHScroll(); return ret; }
void CXTPCustomizeToolbarsPageCheckListBox::PreSubclassWindow() { CCheckListBox::PreSubclassWindow(); if ((GetStyle() & (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) == (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) { SetItemHeight(0, max(m_sizeCheck.cy + 3, CalcMinimumItemHeight())); } }
BOOL COXImageListBox::InitializeImageListBox() { ASSERT(::IsWindow(GetSafeHwnd())); if(m_imageList.GetImageCount()>0) { IMAGEINFO imageInfo; VERIFY(m_imageList.GetImageInfo(0,&imageInfo)); CRect rect(imageInfo.rcImage); SetItemHeight(0,rect.Height()+rect.Height()/4); SetColumnWidth(rect.Width()+rect.Width()/4); } else { SetItemHeight(0,m_nOrigWidth+m_nOrigWidth/4); SetColumnWidth(m_nOrigHeight+m_nOrigHeight/4); } return TRUE; }
BOOL CQuoteTipDlg::OnInitDialog() { CTipDialog::OnInitDialog(); // TODO: Add extra initialization here SetItemHeight( ); UpdateButtons(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
int CCheckListBox::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CListBox::OnCreate(lpCreateStruct) == -1) return -1; if ((GetStyle() & (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) == (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) SetItemHeight(0, CalcMinimumItemHeight()); return 0; }
//------------------------------------------------------------------------ //! CBN_DROPDOWN message handler called when the CComboBox control //! is expanded into a dropdown list. Used to restrict the width of //! the dropdown list to the max width. //------------------------------------------------------------------------ void CGridEditorComboBox::OnDropDown() { int itemHeight = GetItemHeight(-1); int nNumEntries = GetCount(); // Resize combobox according to actual element count int visibleItemCount = m_MaxHeightItems < nNumEntries ? m_MaxHeightItems : nNumEntries; // min(m_MaxHeightItems, nNumEntries); CRect rectExpanded; GetClientRect(rectExpanded); rectExpanded.bottom += visibleItemCount * GetItemHeight(0); rectExpanded.bottom += GetSystemMetrics(SM_CYEDGE) * 2; // top & bottom edges SetWindowPos(NULL, // not relative to any other windows 0, 0, // TopLeft corner doesn't change rectExpanded.Width(), rectExpanded.Height(), // existing width, new height SWP_NOMOVE | SWP_NOZORDER // don't move box or change z-ordering. ); // Resize combo-box width to fit contents int nMaxItemWidth = 0; CString str; // Find max-width of the elements CDC* pDC = GetDC(); CFont* pFont = GetFont(); CFont* pOldFont = pDC->SelectObject(pFont); for (int i = 0; i < nNumEntries; i++) { GetLBText(i, str); int nLength = pDC->GetTextExtent(str).cx; nMaxItemWidth = nMaxItemWidth > nLength ? nMaxItemWidth : nLength; // max(nMaxItemWidth, nLength); if (nMaxItemWidth > m_MaxWidthPixels) { nMaxItemWidth = m_MaxWidthPixels; break; } } // Check if there are so many elements that we need space for a vertical scrollbar CRect rect; GetDroppedControlRect(&rect); if (rect.Height() <= nNumEntries*GetItemHeight(0)) nMaxItemWidth +=::GetSystemMetrics(SM_CXVSCROLL); // Add margin space to the calculations nMaxItemWidth += pDC->GetTextExtent(_T("0")).cx; pDC->SelectObject(pOldFont); ReleaseDC(pDC); SetDroppedWidth(nMaxItemWidth); SetItemHeight(-1, itemHeight); }
void CProgressListBox::SetShowCaptions(bool bShow) { if (bShow != m_bShowCaptions) { m_bShowCaptions=bShow; if (bShow) { CClientDC dc(this); dc.SelectObject(GetFont()); TEXTMETRIC tm; dc.GetTextMetrics(&tm); int iHeight=MulDiv(tm.tmHeight+tm.tmExternalLeading, dc.GetDeviceCaps(LOGPIXELSY), tm.tmDigitizedAspectY); SetItemHeight(0, 9+2+2+iHeight); } else SetItemHeight(0, 9+2+2); RecalcHeight(); } }
void TrackListCtrl::ApplySkin(ISkin& _skin) { TSSkin& skin = (TSSkin&) _skin; m_pNormalFont = skin.GetFont(CSEC_PlayList, FSTY_Normal); m_pBoldFont = skin.GetFont(CSEC_PlayList, FSTY_NormalBold); SetFont(m_pNormalFont); SetItemHeight(36 + skin.GetRelativeFontSize()); SetColor(COL_Bk, skin.GetColor(CSEC_PlayList, CVAL_Bk)); SetColor(COL_Text, skin.GetColor(CSEC_PlayList, CVAL_Text)); SetColor(COL_TextSel, skin.GetColor(CSEC_PlayList, CVAL_SelText)); SetColor(COL_TextSelBk, skin.GetColor(CSEC_PlayList, CVAL_SelBk)); }
LRESULT CXTPCustomizeToolbarsPageCheckListBox::OnSetFont(WPARAM, LPARAM) { Default(); if ((GetStyle() & (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) == (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) { SetItemHeight(0, max(m_sizeCheck.cy + 3, CalcMinimumItemHeight())); } return 0; }
void TaskListView::PreSubclassWindow() { CListBox::PreSubclassWindow(); CFont *font = GuiResources::GetInstance()->GetFont(GuiResources::FONT_NORMAL); CDC *dc = GetDC(); CFont *oldFont = dc->SelectObject(font); TEXTMETRIC textMetrics; dc->GetTextMetrics(&textMetrics); dc->SelectObject(oldFont); ReleaseDC(dc); SetItemHeight(0, textMetrics.tmAscent + textMetrics.tmDescent + 12); }
BOOL CDirTreeCtrl::DisplayTree(LPCTSTR strRoot) { SetItemHeight(20); SetTextColor(RGB(0X0,0X0,0XFF)); DeleteAllItems(); SetDirTreeStyle(); //if ( !AttachImgList() ) // return FALSE; DisplayDrives(); return TRUE; }
//创建消息 INT CUserCompanionList::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (__super::OnCreate(lpCreateStruct)==-1) return -1; //设置控件 SetItemHeight(20); SetTextColor(RGB(0,0,0)); SetBkColor(RGB(230,249,255)); ModifyStyle(0,TVS_HASBUTTONS|TVS_HASLINES|TVS_SHOWSELALWAYS|TVS_TRACKSELECT); SendMessage(WN_SET_LINE_COLOR,0,(LPARAM)RGB(72,79,63)); //加载图片 if (m_ImageCompanionList.GetSafeHandle()==NULL) { CBitmap ServerImage; ServerImage.LoadBitmap(IDB_SERVER_LIST_IMAGE); m_ImageCompanionList.Create(18,18,ILC_COLOR16|ILC_MASK,0,0); m_ImageCompanionList.Add(&ServerImage,RGB(255,0,255)); SetImageList(&m_ImageCompanionList,LVSIL_NORMAL); } //设置列表 m_hItemRoot=InsertItem(TEXT("好友管理"),0,0); m_hItemFriend=InsertItem(TEXT("游戏好友"),IMAGE_FRIEND,IMAGE_FRIEND,m_hItemRoot); m_hItemDetest=InsertItem(TEXT("黑名单"),IMAGE_DETEST,IMAGE_DETEST,m_hItemRoot); m_hItemNormal=InsertItem(TEXT("陌生人"),IMAGE_NORMAL,IMAGE_NORMAL,m_hItemRoot); //加载列表 WORD wIndex=0; do { //获取关系 const tagCompanionItem * pCompanionInfo=g_GlobalUnits.m_CompanionManager->EmunCompanionItem(wIndex++); //终止判断 if (pCompanionInfo==NULL) break; //过虑本身 if(g_GlobalUnits.GetGolbalUserData().dwUserID==pCompanionInfo->dwUserID)continue; //插入子项 InsertCompanionInfo(pCompanionInfo); } while (true); //展开列表 Expand(m_hItemRoot,TVE_EXPAND); Expand(m_hItemFriend,TVE_EXPAND); return 0; }
LRESULT CCheckListBoxEx::OnSetFont(WPARAM , LPARAM) { Default(); // copied from CCheckListBox::OnSetFont if ((GetStyle() & (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) == (LBS_OWNERDRAWFIXED | LBS_HASSTRINGS)) { int nMinHeight = CalcMinimumItemHeight(); SetItemHeight(0, max(nMinHeight, (int)m_nImageHeight)); } return 0; }
ZScoreListBox::ZScoreListBox(const char* szName, CCWidget* pParent, CCListener* pListener) : CCListBox(szName, pParent, pListener) { SetFocusEnable(false); SetItemHeight(20); // 아무래도 IDL에 필드 항목도 넣어야 할듯..ㅜ.ㅜ AddField("Team", 80); AddField("ID", 100); AddField("State", 70); AddField("Score", 70); AddField("Kills", 70); AddField("Deaths", 70); AddField("Ping", 70); }