永发信息网

怎样在MFC中,把不同人编写的对话框整合到一起并且运行?

答案:2  悬赏:0  手机版
解决时间 2021-02-05 09:21
  • 提问者网友:我一贱你就笑
  • 2021-02-04 17:39
初学MFC,让小组成员每人完成一部分对话框及其内部的功能,但我不知道如何将大家写好的程序整合到一起。
最佳答案
  • 五星知识达人网友:一袍清酒付
  • 2021-02-04 18:08
为了简单:
最后每个人返回给你的是一个对话框类。其它功能类若干,但你的主程序只需要对话框类调用。
作为分配任务的人,需要把对话框类的输入和输出接口设计好,告诉接受任务的人,写好后,供你的主程序调用。
如果你主程序逻辑上不能等所有人都完成任务再综合,你可以自己创建对应的对话框类,输出输出自己给出确定值,用于模拟。

以上属于个人建议,非行业手段。目前,本人曾使用过该方法开发过1万到3万行代码的程序,效率还行。
全部回答
  • 1楼网友:独行浪子会拥风
  • 2021-02-04 18:34

要用到一个api函数 setwindowpos,下面的代码希望对你有所帮助。

void ctestdlg::onbutton2() {  // todo: add your control notification handler code here  cstring str;  if(getdlgitemtext(idc_button2,str),str=="收缩<<")  {   setdlgitemtext(idc_button2,"扩展>>");  }  else  {   setdlgitemtext(idc_button2,"收缩<<");  }

 static crect rectlarge;  static crect rectsmall;    if(rectlarge.isrectnull())  {   crect rectseparator;   getwindowrect(&rectlarge);   getdlgitem(idc_separator)->getwindowrect(&rectseparator);

  rectsmall.left=rectlarge.left;   rectsmall.top=rectlarge.top;   rectsmall.right=rectlarge.right;   rectsmall.bottom=rectseparator.bottom;  }  if(str=="收缩<<")  {   setwindowpos(null,0,0,rectsmall.width(),rectsmall.height(),    swp_nomove | swp_nozorder);  }  else  {   setwindowpos(null,0,0,rectlarge.width(),rectlarge.height(),    swp_nomove | swp_nozorder);  } }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯