VC++中怎么初始化对话框中的图形?

我在MFC工程里定义了一个对话框,这个对话框里有Slider、Edit等控件,还有一个矩形框用于画图,有专门的画图函数。我现在是想当slider、edit控件事件被触发时... 我在MFC工程里定义了一个对话框,这个对话框里有Slider、Edit等控件,还有一个矩形框用于画图,有专门的画图函数。我现在是想当slider、edit控件事件被触发时调用绘图函数,但是有一个初始化的问题,就是最开始有一个初始图形要画,对话框一打开这个初始图形就要显示,不能等其他控件的事件触发。我想问的是我该在哪里调用这个绘图函数来在打开对话框的一开始就绘制初始图形? 展开
 我来答
skheda
2014-09-01 · TA获得超过165个赞
知道小有建树答主
回答量:156
采纳率:100%
帮助的人:80.3万
展开全部

BOOL CsdgeDlg::OnInitDialog()
{
 CDialogEx::OnInitDialog();

 // 将“关于...”菜单项添加到系统菜单中。

 // IDM_ABOUTBOX 必须在系统命令范围内。
 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
 ASSERT(IDM_ABOUTBOX < 0xF000);

 CMenu* pSysMenu = GetSystemMenu(FALSE);
 if (pSysMenu != NULL)
 {
  BOOL bNameValid;
  CString strAboutMenu;
  bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
  ASSERT(bNameValid);
  if (!strAboutMenu.IsEmpty())
  {
   pSysMenu->AppendMenu(MF_SEPARATOR);
   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  }
 }

 // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
 //  执行此操作
 SetIcon(m_hIcon, TRUE);   // 设置大图标
 SetIcon(m_hIcon, FALSE);  // 设置小图标

 // TODO: 在此添加额外的初始化代码

 
//在这写,在打开软件的时候直接就操作了
updata();
 
```````````````
 
updata();

 return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

追问
我这里没有updata()这个函数啊。你是不是说UpdateData()?这个我试过,没用。
追答
额 我看错了,开始连值都没有,怎么画图啊,事件没触发没有参数,调用函数,也画不出来,你可以在窗体初始化的时候得到控件参数了,然后调用函数。。。不知道你的控件参数是不是之后手动录入的还是自动填充的····
不大我花22
2014-08-29 · TA获得超过223个赞
知道答主
回答量:113
采纳率:0%
帮助的人:128万
展开全部
这个恐怕没法达到,因为你曲线数据发生变化时,你计时器是需要重新绘制曲线,
这就需要重绘,重绘需要把界面原有数据全清掉,然后把新的曲线绘制出来,
所以需要每次调用InitAxis来绘制坐标系,然后在绘制曲线。
否则你界面只有曲线,没有坐标系。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快乐的跳跳123
2014-08-29 · TA获得超过128个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:157万
展开全部
画在OnPaint()里面,符合你的要求。
追问
我试过了,没用啊。
追答
在onpaint里用CPaintDC
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun1yu1jia1
2014-08-29 · TA获得超过1066个赞
知道小有建树答主
回答量:1178
采纳率:62%
帮助的人:523万
展开全部
在对话框的OnInitDialog函数里画试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式