BOOL CShowDlg::OnInitDialog()
{
CDialog::OnInitDialog();
略; PostMessage(WM_MEASUREITEM,IDC_SHOW);
return TRUE; // return TRUE unless you set the focus to a control
}void CShowDlg::OnDropFiles(HDROP hDropInfo)
{
//获取已经有的图标个数
int count=((CListBox*)GetDlgItem(IDC_SHOW))->GetCount();
((CListBox*)GetDlgItem(IDC_SHOW))->SetItemHeight(count-1,30); char szFile[MAX_PATH];
::DragQueryFile (hDropInfo, 0, szFile, sizeof (szFile));
HICON hIcon;
if(hIcon = ::ExtractIcon (AfxGetInstanceHandle (),
szFile, 1))
{
//放置到下一个里
((CListBox*)GetDlgItem(IDC_SHOW))->SetItemData(count,(DWORD)hIcon);
}}void CShowDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
((CWnd*)GetDlgItem(IDC_SHOW))->GetWindowRect(&rect);
ScreenToClient(rect);
if(rect.PtInRect(point))
{
ClientToScreen(&point);
CMenu menu;
menu.CreatePopupMenu();
menu.AppendMenu(MF_STRING,ID_DES,"删除此图标");
menu.TrackPopupMenu(TPM_RIGHTBUTTON,point.x,point.y,this);
} CDialog::OnRButtonDown(nFlags, point);
}void CShowDlg::OnMeasureItem( int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct )
{
lpMeasureItemStruct->itemWidth=30;}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货