📄 demoform.cpp
字号:
#include "StdAfx.h"
#include "DemoForm.h"
#define ID_COMBO_ADD 2001
#define ID_COMBO_EDIT 2002
#define ID_COMBO_DELETE 2003
CDemoForm::CDemoForm(void)
{
m_groupUser.Init(_T("User"));
m_groupData.Init(_T("Data"));
m_itemLastName .Init(_T("Last name:"), FIF_NORMAL | FIF_MANDATORY);
m_itemFirstName .Init(_T("First name:"));
m_itemBirthDate .Init(_T("Birth date:"));
m_itemCheck .Init(_T("Check:"));
m_itemInteger .Init(_T("An integer:"), fmtInteger);
m_itemNumber .Init(_T("A number:"), fmtNumber);
m_itemCurrency .Init(_T("Currency:"), fmtCurrency);
m_itemCombo .Init(_T("Selection:"), FIF_NORMAL | FIF_HASOPTIONS);
m_itemCombo.AddString(_T("Apples"), 1);
m_itemCombo.AddString(_T("Oranges"), 2);
m_itemCombo.AddString(_T("Grapes"), 3);
m_itemCombo.SetSel(0);
if(m_menuCombo.CreatePopupMenu())
{
m_menuCombo.AppendMenu(MF_ENABLED, ID_COMBO_ADD, _T("&Add"));
m_menuCombo.AppendMenu(MF_ENABLED, ID_COMBO_EDIT, _T("&Edit"));
m_menuCombo.AppendMenu(MF_ENABLED, ID_COMBO_DELETE, _T("&Delete"));
}
}
CDemoForm::~CDemoForm(void)
{
}
// CDemoForm::Initialize
//
// Initializes this instance
//
BOOL CDemoForm::Initialize()
{
if(CFormListCtrl::Initialize())
{
EnableEdit(TRUE);
m_groupUser.AddItem(&m_itemLastName);
m_groupUser.AddItem(&m_itemFirstName);
m_groupUser.AddItem(&m_itemBirthDate);
m_groupUser.AddItem(&m_itemCheck);
m_groupData.AddItem(&m_itemInteger);
m_groupData.AddItem(&m_itemNumber);
m_groupData.AddItem(&m_itemCurrency);
m_groupData.AddItem(&m_itemCombo);
AddItem(&m_groupUser);
AddItem(&m_groupData);
return TRUE;
}
return FALSE;
}
// CDemoForm::ItemOptions
//
// Handles item notifications
//
void CDemoForm::ItemOptions(CFormItem *pItem)
{
// Check if this is the combo box item
if(pItem == &m_itemCombo)
{
int iItem;
// Get the item index
iItem = FindFormItem(pItem);
if(iItem != -1)
{
CRect rc;
// Now get the item bounding rect
if(GetItemRect(iItem, &rc, LVIR_BOUNDS))
{
CPoint pt(rc.left, rc.bottom);
int nCmd;
// Display a popup menu below the arrow
ClientToScreen(&pt);
nCmd = m_menuCombo.TrackPopupMenu(TPM_LEFTALIGN | TPM_RETURNCMD, pt.x, pt.y, this);
switch(nCmd)
{
case ID_COMBO_ADD:
MessageBox(_T("Add new item"), _T("Option"));
break;
case ID_COMBO_EDIT:
MessageBox(_T("Edit item"), _T("Option"));
break;
case ID_COMBO_DELETE:
MessageBox(_T("Delete item"), _T("Option"));
break;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -