本文整理汇总了C++中CComboBox::Create方法的典型用法代码示例。如果您正苦于以下问题:C++ CComboBox::Create方法的具体用法?C++ CComboBox::Create怎么用?C++ CComboBox::Create使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CComboBox
的用法示例。
在下文中一共展示了CComboBox::Create方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ShowInPlaceComboBox
CComboBox* CPlayerListCtrl::ShowInPlaceComboBox(int nItem, int nCol, CAtlList<CString>& lstItems, int nSel, bool bShowDropDown)
{
CRect rect;
if (!PrepareInPlaceControl(nItem, nCol, rect)) {
return nullptr;
}
DWORD dwStyle = /*WS_BORDER|*/WS_CHILD | WS_VISIBLE | WS_VSCROLL /*|WS_HSCROLL*/
| CBS_DROPDOWNLIST | CBS_DISABLENOSCROLL/*|CBS_NOINTEGRALHEIGHT*/;
CComboBox* pComboBox = DEBUG_NEW CInPlaceComboBox(nItem, nCol, lstItems, nSel);
pComboBox->Create(dwStyle, rect, this, IDC_COMBO1);
CorrectComboListWidth(*pComboBox);
int width = GetColumnWidth(nCol);
if (pComboBox->GetDroppedWidth() < width) {
pComboBox->SetDroppedWidth(width);
}
if (bShowDropDown) {
pComboBox->ShowDropDown();
}
m_fInPlaceDirty = false;
return pComboBox;
}
示例2: ShowInPlaceComboBox
CComboBox* CSHListCtrl::ShowInPlaceComboBox(int nItem, int nSubitem,DWORD dwStyle)
{
// The returned pointer should not be saved
// Make sure that the item is visible
// My code start here
if (!EnsureVisible(nItem, TRUE) )
return NULL;
// Make sure that nCol is valid
CHeaderCtrl* pHeader = (CHeaderCtrl*)GetDlgItem(0);
int nColumnCount = pHeader->GetItemCount();
if( nSubitem >= nColumnCount || GetColumnWidth(nSubitem) < 10 )
return NULL;
// Get the column offset
int offset = 0;
for(int i = 0; i < nSubitem; i++)
offset += GetColumnWidth(i);
CRect rect;
GetItemRect(nItem, &rect, LVIR_BOUNDS);
// Now scroll if we need to expose the column
CRect rcClient;
GetClientRect(&rcClient);
if(offset + rect.left < 0 || offset + rect.left > rcClient.right)
{
CSize size;
size.cx = offset + rect.left;
size.cy = 0;
Scroll(size);
rect.left -= size.cx;
}
rect.left += offset;
rect.right = rect.left + GetColumnWidth( nSubitem ) ;
int height = rect.bottom - rect.top;
rect.bottom += 22 * height;
if (rect.right > rcClient.right)
rect.right = rcClient.right;
dwStyle |= WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DISABLENOSCROLL;
CComboBox* pList = new CSHInPlaceComboBox(nItem, nSubitem);
pList->Create(dwStyle, rect, this, IDC_INPLACE_COMBOBOX);
pList->SetItemHeight(-1, height);
pList->SetHorizontalExtent(GetColumnWidth(nSubitem));
CString strWindowText = GetItemText(nItem, nSubitem);
if(dwStyle & CBS_DROPDOWN && !(dwStyle & CBS_DROPDOWNLIST))
{
CEdit* m_pEdit = new CEdit();
m_pEdit->SubclassWindow(pList->GetDlgItem(1001)->GetSafeHwnd());
m_pEdit->SetWindowText(strWindowText);
m_pEdit->SetSel(0,-1);
}
return pList;
// My code end here
}
示例3: OnInitDialog
BOOL OnInitDialog(CWindow /*wndFocus*/, LPARAM /*lInitParam*/)
{
EnableItem( 102,0 );
m_wndCboxxx.Create(GetViewHWND(), 0, 0, WS_CHILD | WS_VISIBLE | WS_BORDER | CBS_DROPDOWNLIST, 0, 543);
m_wndCboxxx.SetFont(BkFontPool::GetFont(BKF_DEFAULTFONT));
m_wndCboxxx.AddString(L"第一项");
m_wndCboxxx.AddString(L"第二项");
return TRUE;
}
示例4: CreateComboBox
BOOL CToolBarWithCombo::CreateComboBox(CComboBox& comboBox, UINT nIndex, UINT nID,
int nWidth, int nDropHeight)
{
// Create the combo box
SetButtonInfo(nIndex, nID, TBBS_SEPARATOR, nWidth);
CRect rect;
GetItemRect(nIndex, &rect);
rect.top = 1;
rect.bottom = rect.top + nDropHeight;
if (!comboBox.Create(
CBS_DROPDOWN|WS_VISIBLE|WS_TABSTOP|WS_VSCROLL,
rect, this, nID))
{
TRACE("Failed to create combo-box\n");
return FALSE;
}
return TRUE;
}
示例5: ShowList
CComboBox* CMySuperGrid::ShowList(int nItem, int nCol, CStringList *lstItems)
{
CString strFind = GetItemText(nItem, nCol);
//basic code start
CRect rect;
int offset = 0;
// Make sure that the item is visible
if( !EnsureVisible(nItem, TRUE)) return NULL;
GetSubItemRect(nItem, nCol, LVIR_BOUNDS, rect);
// Now scroll if we need to expose the column
CRect rcClient;
GetClientRect(rcClient);
if( offset + rect.left < 0 || offset + rect.left > rcClient.right )
{
CSize size;
size.cx = offset + rect.left;
size.cy = 0;
Scroll(size);
rect.left -= size.cx;
}
rect.left += offset;
rect.right = rect.left + GetColumnWidth(nCol);
if(rect.right > rcClient.right)
rect.right = rcClient.right;
//basic code end
rect.bottom += 10 * rect.Height();//dropdown area
DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL|CBS_DROPDOWNLIST | CBS_DISABLENOSCROLL;
CComboBox *pList = new CComboInListView(nItem, nCol, lstItems);
pList->Create(dwStyle, rect, this, IDC_COMBOBOXINLISTVIEW);
pList->ModifyStyleEx(0,WS_EX_CLIENTEDGE);//can we tell at all
pList->SetHorizontalExtent(CalcHorzExtent(pList, lstItems));
pList->ShowDropDown();
pList->SelectString(-1, strFind.GetBuffer(1));
// The returned pointer should not be saved
return pList;
}
示例6: OnInitDialog
BOOL CBaseDlg::OnInitDialog()
{
//CDialog::OnInitDialog();
if (m_hIcon)
{
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
}
m_bInit = TRUE;
for (int i = 0; i < m_vecCtrl.size(); i++)
{
switch (m_vecCtrl[i].type)
{
case BASE_BUTTON:
case BASE_CHECK_BUTTON:
{
CButton* pCtrl = (CButton*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle,
m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
pCtrl->SetFont(&mFont);
break;
}
case BASE_COMMOM_BUTTON:
{
CCommonButton* pCtrl = (CCommonButton*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle,
m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
pCtrl->SetFont(&mFont);
break;
}
case BASE_STATIC:
{
CStatic* pCtrl = (CStatic*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle,
m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
pCtrl->SetFont(&mFont);
break;
}
case BASE_MY_CHECK_BUTTON:
{
CMyCheckButton* pCtrl = (CMyCheckButton*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle,
m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
pCtrl->SetFont(&mFont);
break;
}
case BASE_INDICATOR:
{
CIndicator* pCtrl = (CIndicator*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle,
m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
pCtrl->SetFont(&mFont);
break;
}
case BASE_GROUPBOX:
{
CGroupBox* pCtrl = (CGroupBox*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle,
m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
pCtrl->SetFont(&mFont);
break;
}
case BASE_EDIT_CSTRING:
case BASE_EDIT_DOUBLE:
{
CEdit* pCtrl = (CEdit*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].dwStyle,
m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
pCtrl->SetFont(&mFont);
break;
}
case BASE_COLOR_TEXT:
{
CColorText* pCtrl = (CColorText*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle,
m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
break;
}
case BASE_DRAWVIEW:
{
CDrawView* pCtrl = (CDrawView*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
break;
}
case BASE_LIST:
{
CListCtrl* pCtrl = (CListCtrl*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
break;
}
case BASE_TABVIEW:
{
CTabViewCtrl* pCtrl = (CTabViewCtrl*)m_vecCtrl[i].pCtrl;
pCtrl->Create(m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID);
break;
}
case BASE_GRADIENT_BACKGROUND:
{
//.........这里部分代码省略.........
示例7: CreatePropertyControls
//creates the appropriate controls for a property
void CPropertyWnd::CreatePropertyControls(CPackerProperty* pProp, uint32 nProp, uint32 nID, const CRect& rOrigArea)
{
ASSERT(pProp);
//flags for all controls
DWORD nBaseFlags = WS_CHILD | WS_VISIBLE | WS_TABSTOP;
//a working area rectangle
CRect rArea(rOrigArea);
switch(pProp->GetType())
{
case PROPERTY_REAL:
{
//create the edit box for editing the number
CEdit* pNewEdit = new CEdit;
if(pNewEdit)
{
pNewEdit->CreateEx(WS_EX_CLIENTEDGE, "Edit", "", nBaseFlags | ES_AUTOHSCROLL,
rArea.left, rArea.top, rArea.Width(), rArea.Height(),
GetSafeHwnd(), (HMENU)nID);
CPackerRealProperty* pReal = (CPackerRealProperty*)pProp;
//set the default
CString sText;
sText.Format((pReal->IsInteger()) ? "%.0f" : "%.2f", pReal->GetValue());
pNewEdit->SetWindowText(sText);
//save it in the list
m_pPropControl[nProp][0] = pNewEdit;
//setup the tooltip
m_ToolTip.AddWindowTool(pNewEdit, pProp->GetHelp());
}
}
break;
case PROPERTY_STRING:
{
CPackerStringProperty* pString = (CPackerStringProperty*)pProp;
//rectangle for the edit control
CRect rEditArea(rArea);
//see if this is going to be a filename
if(pString->IsFilename())
{
rEditArea.DeflateRect(0, 0, BROWSE_BUTTON_WIDTH, 0);
}
//create the edit box for editing the string
CEdit* pNewEdit = new CEdit;
if(pNewEdit)
{
pNewEdit->CreateEx(WS_EX_CLIENTEDGE, "Edit", "", nBaseFlags | ES_AUTOHSCROLL,
rEditArea.left, rEditArea.top,
rEditArea.Width(), rEditArea.Height(),
GetSafeHwnd(), (HMENU)nID);
//set the default
pNewEdit->SetWindowText(pString->GetValue());
//save it in the list
m_pPropControl[nProp][0] = pNewEdit;
}
//setup the tooltip
m_ToolTip.AddWindowTool(pNewEdit, pProp->GetHelp());
//create the browse button if needed
if(pString->IsFilename())
{
CButton* pNewButton = new CButton;
if(pNewButton)
{
pNewButton->Create("...", nBaseFlags, CRect(rEditArea.right, rArea.top, rArea.right, rArea.bottom), this, nID + 1);
m_pPropControl[nProp][1] = pNewButton;
//setup the button's tooltip
m_ToolTip.AddWindowTool(pNewButton, IDS_TOOLTIP_BROWSE_FOR_FILE);
}
}
}
break;
case PROPERTY_ENUM:
{
//create the combo box for the drop down of selections
CComboBox* pNewCombo = new CComboBox;
if(pNewCombo)
{
CPackerEnumProperty* pEnum = (CPackerEnumProperty*)pProp;
CRect rFullArea(rArea);
rFullArea.InflateRect(0, 0, 0, PROPERTY_HEIGHT * min(3, pEnum->GetNumItems()));
pNewCombo->Create(nBaseFlags | CBS_DROPDOWNLIST, rFullArea, this, nID);
//add the items
for(uint32 nCurrItem = 0; nCurrItem < pEnum->GetNumItems(); nCurrItem++)
//.........这里部分代码省略.........
示例8: OnInitDialog
BOOL CFormulaAddDialog::OnInitDialog()
{
CDialog::OnInitDialog();
uiutils::setdlgsize(this, &m_ButtonCancel, &m_ButtonOK);
queryMaterials();
int mCount = this->materialCount;
// TODO: Add extra initialization here
int comboboxID = 1000;
int comboLeft = 50;
int comboTop = 100;
int comboWidth =170;
int comboBottom = 330;
int editHeigh = 24;
int editWidth = 100;
int editID = 2000;
int editLeft = 250;
int editTop = 100;
for(int i = 0; i < mCount ; ++i)
{
CString mTitle, pTitle;
mTitle = (i >= 10) ? "材料名" : "";
pTitle = (i >= 10) ? "百分比" : "";
//m_MaterialSecond.SetWindowText(mTitle);
//m_PercentageSecond.SetWindowText(pTitle);
if (i == 10)
{
comboLeft = 400;
editLeft = 620;
comboTop = 100;
editTop = 100;
}
CComboBox* testCombox = new CComboBox;
testCombox->Create(CBS_DROPDOWNLIST|WS_VISIBLE |WS_VSCROLL ,
CRect(comboLeft,comboTop,comboLeft + comboWidth,comboBottom), this, comboboxID++);
for (size_t j = 0; j < materialVector.size(); ++j)
{
testCombox->AddString(materialVector[j]);
}
testCombox->SetFont(SingletonHelper::getInstance()->defaultFont, TRUE);
testCombox->SetCurSel(0);
testCombox->ShowWindow(SW_SHOW);
comboboxVector.push_back(testCombox);
CEdit* testEdit = new CEdit;
testEdit->CreateEx(WS_EX_CLIENTEDGE, "Edit", "", WS_CHILD|WS_VISIBLE|ES_LEFT,
CRect(editLeft,editTop,editLeft + editWidth,editTop + editHeigh), this, editID);
testEdit->ShowWindow(SW_SHOW);
editVector.push_back(testEdit);
comboTop += 50;
comboBottom += 50;
editTop += 50;
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}