在open gl中怎么保证显示窗口移动后不变

 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
雷震雨后的云努
2015-04-10 · 超过123用户采纳过TA的回答
知道小有建树答主
回答量:396
采纳率:0%
帮助的人:196万
展开全部
显示器移窗口候,黑色四条线让全窗口移四条黑线组形
MFC用菜单资源添加事件处理程序CxxxxDoc::OnFileOpen()打图片,马调用onDraw函数刷新移窗口才能看图片显示才能调用CxxxxView::OnDraw()函数选择打框立即显示图片
利用菜单资源添加事件处理程序CxxxxDoc::OnFileOpen()
代码
void CImagePCBDoc::OnFileOpen()
{

CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrFilter=LPCTSTR(_T("JPEG(*.jpg)\0*.jpg\0BMP(*.bmp)\0*.bmp\0PNG(*.png)\0*.png\0ImagePCB Files(*.ipcb)\0*.ipcb\0Protel 99SE Files(*.pcb)\0*.pcb\0All Files(*.*)\0*.*\0\0"));
//定义打框标题
fileDlg.m_ofn.lpstrTitle=LPCTSTR(_T("打文件"));
char szchar[20];
memset(szchar,0,20);
if (fileDlg.DoModal()==IDOK)
{
if (m_dib.Read(fileDlg.m_ofn.lpstrFile) == TRUE)
{
SetModifiedFlag(FALSE); // start off with unmodified
// 添加刷新程序
File.close();
}
}
}
我用几种都行
第种添加刷新程序处添加
((CImagePCBView*)((CMainFrame*)AfxGetMainWnd())-> GetActiveView())->Invalidate();
第二种添加刷新程序处添加
UpdateAllViews(NULL);
第三种添加刷新程序处添加
OnOpenDocument(fileDlg.m_ofn.lpstrFile);
其余代码写供参考
void CxxxxView::OnDraw(CDC* pDC)
{
// 获取文档类指针
CImagePCBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
//返m_dib指针
ImageProcessing *pDib=pDoc->GetPDib();

//获取DIB尺寸
CSize sizeFileDib = pDib->GetDimensions();

//显示DIB
pDib->Draw(pDC, CPoint(0, 0), sizeFileDib);
}
doc文件

// 实现
public:
virtual ~CImagePCBDoc();
//返m_dib指针
ImageProcessing *GetPDib()
{
return &m_dib;
}

private:

//mageProcessing类象
ImageProcessing m_dib;

CImageProcessing类标准图像处理类
能调试再加100
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式