• 締切済み

SetWindowPosで指定したサイズにしたい

イメージを描画する際に、イメージのサイズ分とウインドウを構成する要素のサイズを足して、SetWindowPos でサイズを変更していますが、サイズが不足しています。 難しいです。 教えてください。お願いします。 ///////////////////////////////////////////// void CImageRectView::OnLButtonDown(UINT nFlags, CPoint point) { CImage image; image.Load("000.jpg"); CDC *imageDC=CDC::FromHandle(image.GetDC()); CDC *pDC=GetDC(); int mnuh=GetSystemMetrics(SM_CYMENU); int titleh=GetSystemMetrics(SM_CYCAPTION); CRect FrameRect,ClientRect; GetWindowRect(&FrameRect); GetClientRect(&ClientRect); int FrameWidth=(FrameRect.right-FrameRect.left)-(ClientRect.right-ClientRect.left); int FrameHeight=(FrameRect.bottom-FrameRect.top)-(ClientRect.bottom-ClientRect.top); GetParentFrame()->SetWindowPos(&wndTop,rect.left,rect.top,image.GetWidth()+FrameWidth,image.GetHeight()+FrameHeight+mnuh+titleh,SWP_NOMOVE); pDC->BitBlt(0,0,image.GetWidth(),image.GetHeight(),imageDC,0,0,SRCCOPY); ReleaseDC(pDC); ReleaseDC(imageDC); CView::OnLButtonDown(nFlags, point); } /////////////////////////////////////////////

みんなの回答

  • Senna_FF
  • ベストアンサー率45% (153/334)
回答No.1

なにがしたいのかがわかりません。 >ウインドウを構成する要素のサイズ  なんのこといってます。キャプション&メニュー? >サイズが不足しています  どういうことですか? >rect.left,rect.top  どういうことですか? >image.GetWidth()+FrameWidth, >image.GetHeight()+FrameHeight+mnuh+titleh  どういうことですか?  現ビューのWidth,Heightを足す意味がわかりません。 どういうことしたいみたいな書き方をしていただいたほうが、アドバイスしやすいかもしれません。

thulala
質問者

お礼

言葉足らずですみません。 解決いたしました。 ありがとうございました。 CRect FrameRect,ClientRect; GetParentFrame()->GetWindowRect(&FrameRect); GetClientRect(&ClientRect);