关于mfc小问题?

wz7749123 2012-10-26 09:37:56
void CMainFrame::OnOpenFile() 
{
CString filename; // 通过对话框选取文件并获得文件名
CFileDialog file(true);
file.DoModal();
filename = file.GetFileName();

CStdioFile doc;// 打开文件
doc.Open(filename,CFile::modeRead|CFile::shareDenyWrite,NULL);

CString a; // 读取文件内容
int b[4];
for (int i=0;i<4;i++)
{
doc.ReadString(a);
a.Format("%d",b[i]);
}

CPudgeDoc* pDoc = (CPudgeDoc*)GetActiveDocument();
pDoc->a = b[0];
pDoc->b = b[1];
pDoc->c = b[2];
pDoc->d = b[4];

CPudgeView* pView = (CPudgeView*)GetActiveView();
pView->Invalidate(true);
// TODO: Add your command handler code here
}


我能问下我这段代码最后重绘了么
我的CPudgeDoc中的成员变量有数值了么
新手求详细解答 非常感谢!
...全文
167 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimette 2013-03-13
  • 打赏
  • 举报
回复
您好, 由于您长时间不结贴,上一次答复已超一个月并且已有最佳答案,本人帮你结贴。 若是觉得答案不嘉,请放在本版的疑难杂症帖链接: http://bbs.csdn.net/topics/390351579。 如果您有什么意见,请您联系我。
wz7749123 2012-10-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

CPudgeDoc里面的结构我们看不到啊
把赋值那边加上断点。然后F11可以进去查看。或者在watch表格中跟踪变量内容。

pView->Invalidate(true);
触发View的OnPaint重绘函数了。你里面有没有相关的代码呢?


引用 1 楼 的回复:
单步跟到调啊
偶也是新手,偶是来蹭分的,没分发帖了,LZ好心给我点分吧


每天坚持回复1帖就有10……
[/Quote]
我那个单文档没有onPaint函数 我所有的绘图全在ondraw里编辑的
DOC的结构
class CPudgeDoc : public CDocument
{
protected: // create from serialization only
CPudgeDoc();
DECLARE_DYNCREATE(CPudgeDoc)

protected:


// Attributes
public:
int a,b,c,d;
// Operations
public:

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CPudgeDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL

// Implementation
public:
virtual ~CPudgeDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
//{{AFX_MSG(CPudgeDoc)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
我听别人说mfc里面定义文档类对象,就能修改类中的成员变量的各个值,是这样么
我原来学的c++定义一个对象 就对这个对象进行修改啊
lxw_it 2012-10-27
  • 打赏
  • 举报
回复
CString a; // 读取文件内容
int b[4];
for (int i=0;i<4;i++)
{
doc.ReadString(a);
a.Format("%d",b[i]);
}

把这一段改成:

CString a; // 读取文件内容
int b[4];
doc.ReadString(a);
for (int i=0;i<4;i++)
{
b[i] = a.GetAt(i);
}
great_kevin 2012-10-26
  • 打赏
  • 举报
回复
乌啦啦,谢谢tiger9991
傻X 2012-10-26
  • 打赏
  • 举报
回复
CPudgeDoc里面的结构我们看不到啊
把赋值那边加上断点。然后F11可以进去查看。或者在watch表格中跟踪变量内容。

pView->Invalidate(true);
触发View的OnPaint重绘函数了。你里面有没有相关的代码呢?


[Quote=引用 1 楼 的回复:]
单步跟到调啊
偶也是新手,偶是来蹭分的,没分发帖了,LZ好心给我点分吧
[/Quote]

每天坚持回复1帖就有10分,另外每周超过10贴回复,再送30分。
或者注册小号。
visanity 2012-10-26
  • 打赏
  • 举报
回复
单步跟到调啊
偶也是新手,偶是来蹭分的,没分发帖了,LZ好心给我点分吧

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧