tempad
Readygo技术搜索引擎 >>游戏开发 >> 如何通过按钮在视图上显示内容??

如何通过按钮在视图上显示内容??

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 2:00:34

如何通过按钮在视图上显示内容??

楼主snakewu(ss)2004-03-25 13:30:45 在 VC/MFC / 非技术类 提问

比如使用AppWizard创建了一个SDI程序,在对话框中增加一个按钮,然后当单击这个按钮,想在窗口中显示一串字符串就行,该如何做?使用GetDlgItem不论返回CWnd指针也好,返回CWoView*(一个程序中CView派生类)也好,都不行;我也试过手工在CWoView中用对话框那个按钮的ID进行消息映射以及控制函数,根本不行,该用什莫方法??  
   
  还有,为什莫在CWoView中对对话框里面的按钮手动进行消息映射以及控制函数不行呢(就是把这个按钮的所有映射和控制函数都放到CWoView中去)??  
   
  谢谢大虾了。 问题点数:20、回复次数:9Top

1 楼xuanzg(小钢娃)回复于 2004-03-25 13:39:32 得分 0

1。发个消息到视类,视类在现实   即可  
  2。因为你的按钮消息没有发送到视类中,被对话框截获了  
   
  Top

2 楼snakewu(ss)回复于 2004-03-25 14:13:30 得分 0

我使用过SendMessage,发送WM_PAINT消息给CView,但是还是不行,该如何做??Top

3 楼renchen(木材)回复于 2004-03-25 14:18:50 得分 0

贴出代码。  
  Top

4 楼commandconque(马江王)回复于 2004-03-25 14:42:51 得分 0

你应先获得视图的句柄,根据这个句柄来发消息,Top

5 楼snakewu(ss)回复于 2004-03-25 15:09:11 得分 0

是获得视图对象的指针,还是获得句柄?  
   
  我本来想在那个按钮的控制函数里面加入SendMessage(WM_PAINT,0,0),然后到CWoView加入OnPaint的消息映射,但是一运行,那个字符串已经显示在上面了,我该如何做?  
   
  代码的话,我只是用AppWizard做的一个SDI程序。Top

6 楼xuanzg(小钢娃)回复于 2004-03-25 16:37:00 得分 0

SendMessage(WM_PAINT,0,0)?  
  当然不行  
  SendMessage(pview->m_hWnd,WM_PAINT,0,0);  
  pview是你的view指针Top

7 楼commandconque(马江王)回复于 2004-03-25 17:13:49 得分 20

我帮你找了一个下午,好像没有找到如何在对话框(CDialog)中获得视图的函数,  
  但我想了个办法:  
      在CDialog的按钮中事件中加入一个发送消息的函数,但消息不是直接发送到视图,而是发送到框架上(CMainFram)  
        AfxGetApp()->m_pMainWnd->PostMessage(CCCP,0,0);  
      ////CCCP是自己定义的消息  
      #define   CCCP   (WM_USER+2)    
      然后在框架中加入响应CCCP的代码  
  1。在.h中   加入afx_msg   void   cccp();///在//}}AFX_MSG后  
  2   在.cpp中  
        ON_MESSAGE(CCCP,cccp)////在//}}AFX_MSG_MAP后  
  3.定义cccp()函数;  
      这样消息在cccp()中作处理  
  然后在cccp()向视图发送消息:  
      GetActiveView(   )->PostMessage()....  
  这样就可以Top

8 楼snakewu(ss)回复于 2004-03-25 17:17:08 得分 0

但是就算没有SendMessage(pview->m_hWnd,WM_PAINT,0,0),只要在CView中定义了OnPaint函数以后,不按我自己设计的那个按钮,视图上已经存在着东西了。  
  这是我的OnPaint代码:  
  CPaintDC   dc(this);  
  dc.TextOut(0,0,"ss");  
   
  或者不用SendMessage,还有其他的办法?Top

9 楼snakewu(ss)回复于 2004-03-25 21:40:19 得分 0

给不了分?Top

责任编辑: efish 参与评论 查找更多:
相关文章
怎么样设计一个在屏幕上显示的音量控制进度条? 怎么样设计一个在屏幕上显示的音量控制进度条?
怎么样使桌面透明??? 怎么样使桌面透明???
pb8.0 + oracle 8.1.7发布问题,需要哪些DLL pb8.0 + oracle 8.1.7发布问题,需要哪些DLL
[在线等]请教调用数据库后的显示问题 [在线等]请教调用数据库后的显示问题
急需高手帮忙~~~关于XP的问题。 急需高手帮忙~~~关于XP的问题。
大量的关于asp技术代码与文章 大量的关于asp技术代码与文章
昨夜,有台风 昨夜,有台风
报考这个学校好吗? 报考这个学校好吗?
数据迁移如何做(备份-恢复,or导出-导入)? 数据迁移如何做(备份-恢复,or导出-导入)?
一套正版的VB6.0标准版多少钱?? 一套正版的VB6.0标准版多少钱??
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎