Exemple #1
0
BOOL CWndImage::CreateFromStatic(CWnd * sc)
{
   // _ASSERTE(!::IsWindow(m_hWnd));          // image control already created
  if (!sc || !::IsWindow(sc->m_hWnd)) return false;
  CWnd * dlg = sc->GetParent();
  if (!dlg || !::IsWindow(dlg->m_hWnd)) return false;

  CRect r;
  sc->GetWindowRect(&r);
  dlg->ScreenToClient(&r);
  CString s;
  DWORD style   = sc->GetStyle();
  DWORD exstyle = sc->GetExStyle();
  sc->GetWindowText(s);
  UINT dlgID = sc->GetDlgCtrlID();

  HBITMAP bmp = (HBITMAP) sc->SendMessage(STM_GETIMAGE, IMAGE_BITMAP, 0);
  if (bmp)
     sc->SendMessage(STM_SETIMAGE, IMAGE_BITMAP, 0);

  sc->DestroyWindow();
  CreateEx(exstyle, NULL, s,  style, r, dlg, dlgID);

  if (bmp) {
    SetImg(bmp, false);
    SetBltMode(bltFitXY);
  }
  return true;
}
Exemple #2
0
HBITMAP CWndImage::GetBitmap(bool detach)
{
  HBITMAP ret = (HBITMAP) m_bmp.m_hObject;
  if (detach) {
    m_shared = true;
    SetImg((HBITMAP)0);
  }
  return ret;
}
Exemple #3
0
bool CWndImage::SetImg(LPCTSTR resID, HINSTANCE instance)
{
  if (!instance) 
    instance = AfxGetResourceHandle();

  HBITMAP bmp = ::LoadBitmap(instance, resID);
  SetImg(bmp, false);
  return bmp != 0;
}
Exemple #4
0
EImgBox::EImgBox(KGraphic *imgBox, float margin, float x, float y):
	EBox(x,y,imgBox->getWidth(),imgBox->getHeight(),margin,margin,margin,margin) {
		SetImg(imgBox);
}
Exemple #5
0
CWndImage::~CWndImage()
{
  SetImg((HBITMAP) 0);
}
Exemple #6
0
bool CWndImage::SetImgFile(LPCTSTR fileName)
{
  HBITMAP bmp = (HBITMAP) ::LoadImage(NULL, fileName, IMAGE_BITMAP, 0,0, LR_LOADFROMFILE);
  SetImg(bmp);
  return bmp != 0;
}
Exemple #7
0
bool CWndImage::SetImg(UINT resID, HINSTANCE instance)
{
  return SetImg(MAKEINTRESOURCE(resID), instance);
}
Exemple #8
0
void CWndImage::SetImg(CBitmap * bmp)
{
  SetImg(bmp ? (HBITMAP) (bmp->m_hObject) : 0);
}