我的视图,继承了CScrollView
我现在用下面的代码得到的客户区不是整个客户区,只是画出来的一部分
CDC * pDc;
CMainFrame *pFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd);
CGenGraphView *pView = (CGenGraphView*)(pFrame->GetActiveView());
pDc = pView->GetDC();
HDC hDC = pDc->m_hDC;
我现在用下面的代码得到的客户区不是整个客户区,只是画出来的一部分
CDC * pDc;
CMainFrame *pFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd);
CGenGraphView *pView = (CGenGraphView*)(pFrame->GetActiveView());
pDc = pView->GetDC();
HDC hDC = pDc->m_hDC;
解决方案 »
- 求各位前辈介绍个 版本控制器, 谢谢~
- 关于读入BMP图象到DIB的疑问
- 请问我做了一个DLL,其中一个类需要输出。class AFX_EXT_CLASS CCOOPLog ();在这个类中我有static 成员变量。在编译时,会报找不成员变量
- 我想从另一个项目中将一个复杂的对话框复制到本项目中,试了很多方法不行,请指教!谢谢。
- 有不明白的:关于数据协议制定的问题?请高手专家解释一下。
- CListCotrl加不了列标题?
- 关于外部函数定义的简单问题
- 初学者的问题:SDI中的mainframe,document,view,documentItemCtrl是什么关系?
- 一个有关注册表的问题.
- ACCESS问题??我用ACCESS97没有问题?为什么用2000报数据库格式不对??
- ListView中的风格cs.style问题??
- 求救:串口程序
CScrollView的坐标是逻辑坐标,需要转换。
MypDc=GetDC();
要在视图类中使用;
或:
ClientDC pDc;
ClientDC pDc就是视图的客户区类;
应该是CClientDC pDc(this)才是视图的客户区类;
CMainFrame *pFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd);
CMyView *pView = (CMyView*)(pFrame->GetActiveView());
pDc = pView->GetClientDC();
??
没有视图类,没有GetClientDC这个成员函数啊!
我设置的是屏幕分辨率的大小1024x768
去掉frame占的空间,应该能显示出CScrollView的一些
可惜不是这样,多出了一条空白(黑色)
我现在在OnPaint里面,用CPaintDC dc(this)好像也不行
怎么CClientDC dc(this)呀?
这样可以吗?
得到试图的滚动dc?
这样调用:
GetActiveView()->GetDC();
获得指向视图的DC.
CRect rect;
GetClientRect(&rect);
int nWidth , nHeight;
nWidth = rect.Width();
nHeight = rect.Height();
CClientDC dc(this);
HDC hdc = dc.m_hDC;
HDC hdc2 = ::CreateCompatibleDC(NULL);
HBITMAP bitmap = ::CreateCompatibleBitmap(hdc, nWidth, nHeight);
::SelectObject(hdc2, bitmap);
::BitBlt(hdc2, 0, 0, nWidth, nHeight, hdc, 0, 0, SRCCOPY);
SaveBmp(bitmap, "client.bmp");
SaveBmp见
http://expert.csdn.net/Expert/topic/2944/2944435.xml?temp=.5685846