一个类调用另一个类的函数问题

没事就来看看 2011-11-16 02:18:06
基于单文档文件,在视类窗口里点击一个按钮会弹出一个对话框对话框的类为COutputLevels;我在这个类的这个函数里
void COutputLevels::OnButton1()
{
// TODO: Add your control notification handler code here
changeclr11++;
if(changeclr11==1)
{
CButton*button=(CButton*)GetDlgItem(IDC_BUTTON1);
CBitmap bitmap;
HBITMAP hBit ;
if(bitmap.LoadBitmap(IDB_BITMAP1))
{
hBit = (HBITMAP)bitmap.Detach();
button->SetBitmap(hBit);
}
buttonclr11=1;

}
if(changeclr11==2)
{
CButton*button=(CButton*)GetDlgItem(IDC_BUTTON1);
CBitmap bitMap;
HBITMAP hBit ;
if(bitMap.LoadBitmap(IDB_BITMAP2))
{
hBit = (HBITMAP)bitMap.Detach();
button->SetBitmap(hBit);
}
changeclr11=0;
buttonclr11=2;
}
// CMyEditorView*b=(CMyEditorView*)AfxGetApp()->m_pMainWnd;
// b->OnEditButton1();

}
想要调用视类当中的这个函数
void CMyEditorView::OnEditButton1() //改变按钮颜色
{
// TODO: Add your control notification handler code here
colorbtn1++;

if(colorbtn1==2)
{
CButton *pBtn = (CButton *)GetDlgItem(IDC_EDIT_BUTTON1);
CBitmap bitMap;
HBITMAP hBit ;
if(bitMap.LoadBitmap(IDB_BITMAP2))
{
hBit = (HBITMAP)bitMap.Detach();
pBtn->SetBitmap(hBit);
}
colorbtn1=0;
}
if(colorbtn1==1)
{
CButton *pBtn = (CButton *)GetDlgItem(IDC_EDIT_BUTTON1);
CBitmap bitMap;
HBITMAP hBit ;
if(bitMap.LoadBitmap(IDB_BITMAP1))
{
hBit = (HBITMAP)bitMap.Detach();
pBtn->SetBitmap(hBit);
}

}

}我该怎么做啊?求高手指点!谢谢啊
...全文
144 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxffxz012 2012-07-10
  • 打赏
  • 举报
回复
DrawRectangleHollow();
m_nUpper=0;
DrawProgress(m_nUpper); // 总共400个时间
m_nSpeed=1;
SetTimer(1,1200,0);
没事就来看看 2011-11-17
  • 打赏
  • 举报
回复
上面的太感谢你们了,真是谢谢啊!问题解决了 正是关键时刻啊!
  • 打赏
  • 举报
回复
//获得窗体指针:
CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
//获得与该窗体符合的视图:
CSampleView *pView = (CSampleView *)pFrame->GetActiveView();
没事就来看看 2011-11-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tubo_true 的回复:]
引用 1 楼 ndy_w 的回复:

CMyEditorView*b=(CMyEditorView*)AfxGetApp()->m_pMainWnd;
这个是frame,你应该再GetActiveView得到view的指针。


view指针传进来调用
up
[/Quote]

可以详细点吗 新手不会用啊!怎么调用啊
tubo_true 2011-11-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ndy_w 的回复:]

CMyEditorView*b=(CMyEditorView*)AfxGetApp()->m_pMainWnd;
这个是frame,你应该再GetActiveView得到view的指针。
[/Quote]

view指针传进来调用
up
没事就来看看 2011-11-16
  • 打赏
  • 举报
回复
没事就来看看 2011-11-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shen_wei 的回复:]
把错误给贴出来。。
[/Quote]

谢谢你麻烦你给我看看!当我点这个OnButton1()按钮的时候就会出现这个对话框

调试的黄箭头指着那一行!
shen_wei 2011-11-16
  • 打赏
  • 举报
回复
把错误给贴出来。。
没事就来看看 2011-11-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ndy_w 的回复:]
CMyEditorView*b=(CMyEditorView*)AfxGetApp()->m_pMainWnd;
这个是frame,你应该再GetActiveView得到view的指针。
[/Quote]
哈哈 很有缘分啊 我刚才试的时候就这样,连你选的指针变量我们设的也一样我也是用的b 哈哈。这样有点问题,编译没问题 运行点OnButton1()按钮的时候出现一个说发生冲突的错误!
ndy_w 2011-11-16
  • 打赏
  • 举报
回复
CMyEditorView*b=(CMyEditorView*)AfxGetApp()->m_pMainWnd;
这个是frame,你应该再GetActiveView得到view的指针。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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