龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

用Visual C++实现屏幕抓程序(10)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
void CCaptureDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cx

void CCaptureDlg::OnPaint()
{
 if (IsIconic())
 {
  CPaintDC dc(this); // device context for painting
  SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
  // Center icon in client rectangle
  int cxIcon = GetSystemMetrics(SM_CXICON);
  int cyIcon = GetSystemMetrics(SM_CYICON);
  CRect rect;
  GetClientRect(&rect);
  int x = (rect.Width() - cxIcon + 1) / 2;
  int y = (rect.Height() - cyIcon + 1) / 2;
  // Draw the icon
  dc.DrawIcon(x, y, m_hIcon);
 }
 else
 {
  CDialog::OnPaint();
 }
}

HCURSOR CCaptureDlg::OnQueryDragIcon()
{
 return (HCURSOR) m_hIcon;
}

void CCaptureDlg::OnCancel()
{
 if(bTray)
  DeleteIcon();
 CDialog::OnCancel();
}

void CCaptureDlg::OnAbout()
{
 CAboutDlg dlg;
 dlg.DoModal();
}

void CCaptureDlg::OnBrowse()
{
 CString str;
 BROWSEINFO bi;
 char name[MAX_PATH];
 ZeroMemory(&bi,sizeof(BROWSEINFO));
 bi.hwndOwner=GetSafeHwnd();
 bi.pszDisplayName=name;
 bi.lpszTitle="Select folder";
 bi.ulFlags=BIF_RETURNONLYFSDIRS;
 LPITEMIDLIST idl=SHBrowseForFolder(&bi);
 if(idl==NULL)
  return;
 SHGetPathFromIDList(idl,str.GetBuffer(MAX_PATH));
 str.ReleaseBuffer();
 m_Path=str;
 if(str.GetAt(str.GetLength()-1)!=’’)
  m_Path+="";
 UpdateData(FALSE);
}

精彩图集

赞助商链接