返回首页

mfc编辑器(MFC 编程在哪些行业或领域中应用广泛?)

来源:www.fanlv.net  时间:2023-09-25 06:06   点击:268  编辑:admin   手机版

一、VS code可以用来编MFC程序吗,如果可以,要怎么操作呢?

如果只是需要一个纯粹的IDE代码编辑器,安装一个插件c/c++ for visual stdio code,配置c/c++环境即可。

如果需要GUI拖拽编程的话,你还是考虑用重量级IDE vs吧

二、MFC 编程在哪些行业或领域中应用广泛?

自动化,安防 ,图像处理类,音视频 类

三、哪些软件用来编 MFC 比较好?

visual studio c++系列的很多软件都可以用来编 MFC ,例如visual studio 2010、visual studio 2013、visual studio 2019、visual studio 2022等。

四、mfc疑问?

找到此主窗口的句柄,使用SetWindowText(L"销售管理系统")

五、MFC中如何将一个对话框编辑框中的内容显示在另一个对话框的编辑框中?

  1. 定义全局变量, 保存第一个编辑框的内容, 然后在另一个话框框显示该值

或者

2. 传递对话框的指针进去,设置值

3.这个要看你要求的场景了,主要是两个对话框的关系

六、编写C 的MFC可以用什么软件?

应该没得选,只能是VS吧

七、MFC?

百度上就有。

八、MFC 如何编程序实现调用指定的打印机,打印到文件, 即不打印, 只输出到文件中?

    1. 这里给出一个例子,
      //pDeviceName, 打印机名称,就是你在设备列表中看到的设备名称,比如"HP LaserJet P3010 Series PCL 6 (Copy 1)".
      //pDevMode, 打印机驱动程序的设备信息, 关于这个数据类型还是看看DDK或者VS的文档吧.
      void TestPrint(TCHAR* pDeviceName, DEVMODE* pDevMode)
      {
      HDC hdc = CreateDC(TEXT("WINSPOOL"), pDeviceName, NULL, pDevMode);
      if(hdc)
      {
      CString portname = TEXT("FILE:");//也可以是"D:\\1.prn"
      CString jobname = TEXT("test printing job");
      DOCINFO doc;
      memset(&doc, 0, sizeof(doc));
      doc.cbSize = sizeof(doc);
      doc.lpszDocName = jobname.GetBuffer(_MAX_PATH);
      doc.lpszOutput = portname.GetBuffer(_MAX_PATH);
      if(StartDoc(hdc, &doc))
      {
      if(StartPage(hdc))
      {
      int cWidthPels, cHeightPels;
      cWidthPels = GetDeviceCaps(hdc, HORZRES);
      cHeightPels = GetDeviceCaps(hdc, VERTRES);
      TextOut(hdc, cWidthPels/8, cHeightPels/8, (LPCTSTR)jobname, jobname.GetLength());
      EndPage(hdc);
      }
      EndDoc(hdc);
      jobname.ReleaseBuffer();
      portname.ReleaseBuffer();
      }
      DeleteDC(hdc);
      }
      }
      本例子使用TextOut输出字符串到打印机,你可以用其他API输出对象,比如BitBlt输出图像等等.
      可以通过OpenPrinter(),GetPrinter()得到DEVMODE.

  1. 注意,例子中doc.lpszOutput的赋值对你的诉求尤为重要,"FILE:"端口相当于制定了"打印到文件"需要用户手动填写输出文件名称及路径,"D:\\1.prn"则直接将数据输出到D:\1.prn而不提示用户.

  2. PCL, PJL, PS references
    这个可以下载PCL5/6, PJL, PS3语言规范书.
    LZ可以散分了吧...

引用来自:MFC如何生成prn文件(打印机)

九、MFC一个对话框的编辑框内容怎么在另一个对话框的编辑框显示?

假定DDX已经把控件绑定到成员变量

CDialog1 dlg1, 
if(dlg1.DoModal()==IDOK)
{
     CString field1=dlg1.m_strField1;
     CDialog2 dlg2,      
     dlg2.m_strField1=field1; 
     dlg2.DoModal();
} 

简单的对象之间的传值的问题……用不到事件或者全局对象。

十、怎么形象地理解MFC编程框架?

Qt大法好,退MFC保平安

MFC这套Doc/View的设计源于20年前了,这种设计最适合写编辑器,微软自己最喜欢写编辑器就以为别人都要写编辑器。

其实这是一套MVC,M就是document,V是View,C是Frame兼职做的。

但是微软没把这事说清楚,导致几乎所有人都在乱用,根本不按规矩来。

另外MFC也没有定义好对象间通信机制,导致大家胡搞瞎搞,用消息带着自定义结构体指针扔来扔去。

也没有定义好对象间引用的方式,导致大家只好互相拿着原生指针。

这就导致MFC只能用来写小程序,无法支持大型应用,除非你在上面再封装一层。

main函数还是有的,不过微软已经帮你写了,不用你再写。

MFC就是一套对WinAPI的简单封装,加上一套类MVC框架,年久失修远远落后时代,早该被淘汰的东西。

先搞懂什么是MVC,什么是Windows消息驱动模型,MFC给了全套源代码,多调试看看。

学MFC,不要把它当做什么了不起的东西,很多设计不要去模仿,太过时了。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片