c++ mfc教程(如何在Visual C++中创建mfc窗体程序)

2024-07-23 09:04:34 6

c++ mfc教程(如何在Visual C++中创建mfc窗体程序)

本文目录

如何在Visual C++中创建mfc窗体程序

MFC AppWizard 当然是这个,。另外两个都是有一定经验的人做的,呵呵。你最好是找本书吧,那些书都讲得挺详细的,自己摸索也有的时候可不好办哦,等你到了 一定水平就可以自己摸索了。

求MFC教程,关于进程的例如:编写程序像任务管理器那样获得某个进程的句柄数,和线程数

#include 《TlHelp32.h》#include 《pdh.h》#pragma comment(lib,"pdh.lib")#include 《PSAPI.H》#pragma comment(lib,"psapi.lib")// 返回指定进程的句柄数BOOL EnableDebugPrivilege(BOOL fEnable){ BOOL fOK = FALSE; HANDLE hToken = NULL; if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken)){ TOKEN_PRIVILEGES tp; tp.PrivilegeCount =1; LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tp.Privileges.Luid); tp.Privileges.Attributes = fEnable ? SE_PRIVILEGE_ENABLED : 0; AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL); fOK = (GetLastError()==ERROR_SUCCESS); CloseHandle(hToken); } return fOK;}DWORD GetProcHandleCount(HANDLE hProcess){ if(!EnableDebugPrivilege(TRUE)) { return 0; } HANDLE hQuery=NULL; PdhOpenQuery(NULL,0,&hQuery); if(NULL==hQuery) { return 0; } HANDLE hCounter=NULL; char szProcessName = "unknown"; HMODULE hMod=NULL; GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName) ); char szName=""; _tsplitpath(szProcessName,NULL,NULL,szName,NULL); char szCounterPath=""; sprintf(szCounterPath,"\\Process(%s)\\Handle Count",szName); PdhAddCounter(hQuery,szCounterPath,0,&hCounter); if(NULL==hCounter || INVALID_HANDLE_VALUE==hCounter) { PdhCloseQuery(hQuery); return 0; } DWORD nHandles=0; if(ERROR_SUCCESS==PdhCollectQueryData(hQuery)) { PDH_FMT_COUNTERVALUE pdhfmtHandles; if(ERROR_SUCCESS==PdhGetFormattedCounterValue(hCounter, PDH_FMT_LONG, NULL, &pdhfmtHandles)) nHandles = DWORD(pdhfmtHandles.longValue); } if(NULL!=hCounter && INVALID_HANDLE_VALUE!=hCounter) PdhRemoveCounter(hCounter); if(NULL!=hQuery && INVALID_HANDLE_VALUE!=hQuery) PdhCloseQuery(hQuery); EnableDebugPrivilege(FALSE); return nHandles;}转载的 试一试

MFC入门书籍

《VC++深入详解》和侯捷《深入浅出mfc》都是入门的必看书籍,没有哪个更好,看你更喜欢哪本书的表述方式。其它较好的书籍还有:

1、《windows程序设计》,讲win32 api的,了解了这个再看mfc会容易一点。

2、鸡啄米的《MFC教程》,对比学习,一般的控件基本都会用的。

3、《windows核心编程》,重中之重,要多看几遍。

MFC(英语:Microsoft Foundation Classes)是微软基础类库的简称,微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它可以,编译,调试,而不是使用多种工具轮换操作,灵活性较大。

MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西。

由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。但是MFC的封装很浅,所以效率上损失不大。

C++如何调用MFC库谁给个简单的例子

很简单啊!vc++里有自带!你可以试一试过程如下:文件 新建 选择MFC 就可以了相应的增加按钮

c++中怎么使用MFC

定义一个中文标点符号集合,然后扫描文档每个字符,如能在集合中搜到则用空格代替,否则不做处理

如何在Visual Studio 2015中创建MFC窗体应用

我们在使用Visual Studio 2015创建桌面应用的时候,最经常遇到的就是Winform和MFC了,那么如何在Visual Studio 2015中创建MFC窗体应用呢?下面我给大家分享一下。

工具/材料

Visual Studio 2015

  • 01

    首先我们打开Visual Studio 2015软件,点击顶部的文件菜单,然后选择新建下面的项目选项,如下图所示

  • 02

    接下来在弹出的新建项目界面中我们定位到Visual C++下面的MFC,然后选择右侧的MFC应用程序,如下图所示

  • 03

    然后会打开MFC应用程序向导界面,我们选择应用程序类型为单个文档,如下图所示

  • 04

    接着在复合文档支持界面中将复合文档支持类型选择为无,如下图所示

  • 05

    接下来会进入文档模板属性界面,这里需要给文件扩展名起一个名字,大家根据自己的情况随便起即可,如下图所示

  • 06

    然后就会进入数据库支持设置界面,由于这里并没有使用数据库,所以勾选无,如下图所示

  • 07

    接下来就进入到用户界面功能选择页了,我们需要根据自己的实际情况选择使用哪些功能,如下图所示

  • 08

    最后运行MFC应用程序,我们就会看到如下图所示的MFC窗体应用了,到这里在Visual Studio中创建MFC窗体应用程序就创建完了

C++ MFC 如何获取和设置控件属性,比如获取button的caption

首先要知道这个控件的ID,通过ID来访问控件要想获得控件上的文本,可以用GetDlgItemText这个函数函数原型是int GetDlgItemText( int nID, CString& rString ) const;第一个参数是控件的ID,第二个参数是用来接收控件文本的字符串(CString类型的)

C++中实现MFC风格的TRACE

***隐藏网址******隐藏网址***

我们知道,MFC中可以调用宏TRACE等十分方便的输出调试信息到Visual Studio输出窗口,但C++中没人类似的函数,最近我在开发一个小程序时跟踪了一下MFC的TRACE宏,发现它映像了atltrace.h中的ATLTRACE宏,因些,我们也想在C++中使用TRace可以用如下方式:

在C++中可以直接使用下面的函数:

关键点 :字符串格式化必须使用“vsprintf_s”,而不能使用“sprintf_s",“sprintf_s"的第三个参数是”...“,而不是va_list,编译不错错,但是会导致无法正确格式化数据,堆栈的地址也不对,可能导致崩溃。

C++ mfc 新建excel文件

本文简略介绍在VC++6.0中如何使用Excel2003的库函数并对其进行编程。先创建一个对话框工程,命名为VCExcel。在对话框中添加一个按钮,控件ID为ID_RUNEXCEL。       再在该按钮上添加消息BN_CLICKED,其消息映射函数为OnRunexcel()。通过一个实例来说明VC是如何调用Excel2003的接口编程的。 要编程输出一个如下表格。

  格式如下:      1、表头的字体为宋体,加粗,颜色为白色,底色为深蓝,垂直水平居中对齐;      2、表中正文内容字体为宋体,颜色为深蓝,底色为灰色,垂直水平居中对齐;        3、全部边框,文本自动换行。 在BOOL CVCExcelApp::InitInstance()之中,int nResponse = dlg.DoModal()语句之后加入如下代码:

if(CoInitialize(NULL)==0)//初始化COM库 {     AfxMessageBox("初始化COM失败!");     exit(1); }

在return FALSE;语句之前加入:::CoUninitialize();//释放COM库。     为了能调用Excel的接口我们打开MFC ClassWizard-》Automation-》Add Class-》From a type library,选择\EXCEL.exe,然后把所有的类都添加进去,头文件为excel.h,源文件为excel.cpp。当然,你也可以只把一些比较常用的类如_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range加进去,因为网上流传的绝大部分教程都只添加这几个类,这完全根据你个人的需要。但在本例中我们至少还要用到Interior类(设置底色),Font类(设置字体),而且这样做又简单又方便扩展功能,不管三七二十一全部弄进去吧!但这样做会有一个问题,有可能产生类的名字冲突,例如本来你自己写了一个类叫Font,当你全部添加时又再次加入了Font类,这样就重复定义了,不过可以通过名字空间来解决这个问题。再在VCExcelDlg.cpp文件的头部添加(如果系统已经自动添加就不要重复添加了):

#include "VCExcel.h" #include "comdef.h"

这样一来我们的程序就可以自由调用EXCEL了,一切准备就绪。    下面先在CVCExcelDlg中添加如下成员变量,用来操控Excel应用程序、工作簿和单元格。 A

Range m_ExlRge; _Worksheet m_ExlSheet; Worksheets m_ExlSheets; _Workbook m_ExlBook; Workbooks m_ExlBooks; _Application m_Exl

;

我们利用加载Excel模板来生成要求的表格,在本工程Debug文件夹中建立一个Excel文件,命名为Template.xls。我们的OnRunexcel()代码如下(详见注释):

void CVCExcelDlg::OnRunexcel() {       // TODO: Add your control notification handler code here       //用m_ExlApp对象创建Excel2003进程        if(!m_ExlApp.CreateDispatch("Excel.Application",NULL))        {            AfxMessageBox("创建Excel服务失败!");            return;        }        //设置为可见        m_ExlApp.SetVisible(TRUE);        ///////////////////下面得到应用程序所在的路径///////////////////        CString theAppPath,theAppName;        char Path;        GetModuleFileName(NULL,Path,MAX_PATH);//得到应用程序的全路径         theAppPath=(CString)Path;        theAppName=AfxGetApp()-》m_pszAppName;        theAppName+=".exe";        //把最后的文件名去掉        int length1,length3;        length1=theAppPath.GetLength();        length3=theAppName.GetLength();        theAppPath.Delete(length1-length3,length3);     ////////////////////////////////////////////////////////////////        CString TempPath="";        TempPath=theAppPath+"Template.xls";//EXCEL模板的路径        m_ExlBooks.AttachDispatch(m_ExlApp.GetWorkbooks(),TRUE);        m_ExlBook.AttachDispatch(m_ExlBooks.Add((_variant_t)TempPath),TRUE);//加载EXCEL模板        m_ExlSheets.AttachDispatch(m_ExlBook.GetSheets(),TRUE);//加载Sheet页面        //添加新的Sheet页面        m_ExlSheets.Add(vtMissing,vtMissing,_variant_t((long)1),vtMissing);        //删除第二个Sheet页面        m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)2)),TRUE);        m_ExlSheet.Delete();        //把第一个Sheet页面的名字改变为TestSheet        m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)1)),TRUE);        m_ExlSheet.SetName("TestSheet");        ///////合并第一行单元格A1至D1//////        //加载要合并的单元格        m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A1"),_variant_t("D1")),TRUE);        m_ExlRge.Merge(_variant_t((long)0));        ////////设置表格内容////////        m_ExlRge.AttachDispatch(m_ExlSheet.GetCells(),TRUE);//加载所有单元格        m_ExlRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("数学系研究生课程统计"));        m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)1),_variant_t("课程名"));        m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)2),_variant_t("课时"));        m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)3),_variant_t("难度"));        m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)4),_variant_t("教学方式"));        m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)1),_variant_t("泛函分析"));        m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)2),_variant_t("60"));       m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)3),_variant_t("普通"));        m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)4),_variant_t("老师讲课"));        m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)1),_variant_t("微分流形"));        m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)2),_variant_t("40"));       m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)3),_variant_t("变态难"));        m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)4),_variant_t("自学"));        m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)1),_variant_t("二阶椭圆型方程与方程组"));        m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)2),_variant_t("60"));       m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)3),_variant_t("很难"));        m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)4),_variant_t("讨论"));        m_ExlRge.AttachDispatch(m_ExlSheet.GetUsedRange());//加载已使用的单元格        m_ExlRge.SetWrapText(_variant_t((long)1));//设置单元格内的文本为自动换行        //设置齐方式为水平垂直居中        //水平对齐:默认=1,居中=-4108,左=-4131,右=-4152        //垂直对齐:默认=2,居中=-4108,左=-4160,右=-4107        m_ExlRge.SetHorizontalAlignment(_variant_t((long)-4108));        m_ExlRge.SetVerticalAlignment(_variant_t((long)-4108));        ///////设置整体的字体、字号及颜色//////        Font ft;        ft.AttachDispatch(m_ExlRge.GetFont());        ft.SetName(_variant_t("宋体"));//字体        ft.SetColorIndex(_variant_t((long)11));//字的颜色        ft.SetSize(_variant_t((long)12));//字号        ///////////设置标题字体及颜色//////////        m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A1"),_variant_t("D1")));        ft.AttachDispatch(m_ExlRge.GetFont());        ft.SetBold(_variant_t((long)1));//粗体        ft.SetSize(_variant_t((long)13));        ft.SetColorIndex(_variant_t((long)2));        CellFormat cf;        cf.AttachDispatch(m_ExlRge.GetCells());        //////////////设置底色/////////////////        Interior it;        it.AttachDispatch(m_ExlRge.GetInterior());        it.SetColorIndex(_variant_t((long)11));//标题底色        ////表格内容的底色////        m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A2"),_variant_t("D5")));        it.AttachDispatch(m_ExlRge.GetInterior());        it.SetColorIndex(_variant_t((long)15));        //////////////为表格设置边框/////////////        Range UnitRge;        CString CellName;        for(int i=1;i《=4;i++)        {               for(int j=1;j《=4;j++)               {                         CellName.Format("%c%d",j+64,i);//单元格的名称                     UnitRge.AttachDispatch(m_ExlRge.GetRange(_variant_t(CellName),_variant_t(CellName)));//加载单元格                     //LineStyle=线型 Weight=线宽 ColorIndex=线的颜色(-4105为自动)                     UnitRge.BorderAround(_variant_t((long)1),_variant_t((long)2),_variant_t((long)-4105),vtMissing);//设置边框               }        }        //释放对象(相当重要!)        m_ExlRge.ReleaseDispatch();        m_ExlSheet.ReleaseDispatch();        m_ExlSheets.ReleaseDispatch();        m_ExlBook.ReleaseDispatch();        m_ExlBooks.ReleaseDispatch();        //m_ExlApp一定要释放,否则程序结束后还会有一个Excel进程驻留在内存中,而且程序重复运行的时候会出错        m_ExlApp.ReleaseDispatch();        //退出程序 m_ExlApp.Quit(); }

c++ mfc教程(如何在Visual C++中创建mfc窗体程序)

本文编辑:admin

本文相关文章:


c++ mfc教程(求MFC教程,关于进程的例如:编写程序像任务管理器那样获得某个进程的句柄数,和线程数)

c++ mfc教程(求MFC教程,关于进程的例如:编写程序像任务管理器那样获得某个进程的句柄数,和线程数)

本文目录求MFC教程,关于进程的例如:编写程序像任务管理器那样获得某个进程的句柄数,和线程数如何在Visual C++中创建mfc窗体程序C++如何调用MFC库谁给个简单的例子C++ mfc 新建excel文件C++中实现MFC风格的TRA

2024年7月4日 05:52

更多文章:


wakelock acquire(wakeLock为什么唤醒后请求网络只有第一次可以)

wakelock acquire(wakeLock为什么唤醒后请求网络只有第一次可以)

本文目录wakeLock为什么唤醒后请求网络只有第一次可以android 关屏 如何保持程序继续运行wakeLock为什么唤醒后请求网络只有第一次可以首先看看官方的解释:PowerManager:This class gives you c

2024年7月14日 01:24

易语言模块怎么写(如何制作易语言的皮肤模块以及易语言皮肤模块的使用)

易语言模块怎么写(如何制作易语言的皮肤模块以及易语言皮肤模块的使用)

本文目录如何制作易语言的皮肤模块以及易语言皮肤模块的使用易语言用汇编模块怎么写CALL啊易语言把某 功能源码 弄成模块!易语言模块是什么,怎么用,每次用都要调一次吗易语言超级模块怎么写按CTRL+1键,CTRL+2键易语言 窗口隐藏显示这个

2024年6月29日 09:08

java零基础自学容易吗(零基础可以自学Jave吗)

java零基础自学容易吗(零基础可以自学Jave吗)

本文目录零基础可以自学Jave吗Java零基础自学的话,需要学多久才能学会,或能够有资格投递简历零基础学Java 该去学校深入学习还是自学零基础可以自学Jave吗难!java软件开发虽然是面向对象开发的编程语言,想对其他编程语言而已,的确容

2023年8月25日 19:40

progress进度条app(如何 使用 ProgressBar 进度条)

progress进度条app(如何 使用 ProgressBar 进度条)

本文目录如何 使用 ProgressBar 进度条如何 使用 progressbar 进度条关于Android怎么改变ProgressBar进度条颜色如何让程序执行的时候PROGRESS显示进度条,如何实现如何 使用 ProgressBar

2024年7月18日 08:29

android系统签名(如何生成android签名文件)

android系统签名(如何生成android签名文件)

本文目录如何生成android签名文件如何把android系统签名打包成keystoreandroid中怎样将自己的应用程序的签名改为系统签名一样如何查看android 应用签名android 怎么查看签名文件如何生成android签名文件

2024年5月10日 02:20

matlab编程1到100素数(用matlab求[f(1), f(100)] 以内的最大素数和最小素数(如下图),代码是什么,求大神解答~)

matlab编程1到100素数(用matlab求[f(1), f(100)] 以内的最大素数和最小素数(如下图),代码是什么,求大神解答~)

本篇文章给大家谈谈matlab编程1到100素数,以及用matlab求[f(1), f(100)] 以内的最大素数和最小素数(如下图),代码是什么,求大神解答~对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是

2024年8月23日 07:35

java开发工作流程(java程序员入门都需要经历哪些阶段)

java开发工作流程(java程序员入门都需要经历哪些阶段)

大家好,今天小编来为大家解答以下的问题,关于java开发工作流程,java程序员入门都需要经历哪些阶段这个很多人还不知道,现在让我们一起来看看吧!本文目录java程序员入门都需要经历哪些阶段java工程师一天之内的工作,工作流程,怎么和项目

2024年8月4日 05:05

rescue me什么意思(RESCUE ME)

rescue me什么意思(RESCUE ME)

本文目录RESCUE MERescue Me中文的歌词,麻烦大家翻译,歌手是Daughtryrescue me 中英文歌词Do you know i care about you stillplease rescue me 什么意思to

2024年7月24日 05:54

hbase hive(安装hive之前需要安装hbase吗)

hbase hive(安装hive之前需要安装hbase吗)

本文目录安装hive之前需要安装hbase吗如何用Hive 往HBase里面插入大量的数据hive与hbase区别hadoop学习之hbase和hive的区别Hive 数据导入 HBase安装hive之前需要安装hbase吗不用,hive和

2024年7月20日 18:21

java列表(JAVA列表界面代码)

java列表(JAVA列表界面代码)

各位老铁们,大家好,今天由我来为大家分享java列表,以及JAVA列表界面代码的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录JAVA列表界面代码j

2024年7月13日 04:56

delphi快速开发平台(Delphi可以开发手机程序吗)

delphi快速开发平台(Delphi可以开发手机程序吗)

本文目录Delphi可以开发手机程序吗Delphi开发的平台是什么delphi编程用什么软件开发用什么数据库推荐一个Delphi开发框架,该怎么处理如何搭建Delphi+IntraWeb开发平台Delphi可以开发手机程序吗可以,现在del

2024年7月21日 09:02

toolbar翻译(google toolbar上的翻译功能在哪儿)

toolbar翻译(google toolbar上的翻译功能在哪儿)

本文目录google toolbar上的翻译功能在哪儿zgame toolbar是什么意思实时翻译浏览网页的工具translator toolbar是什么意思怎么翻译google toolbar上的翻译功能在哪儿在默认情况下,这个功能是处于

2023年12月26日 07:20

html学到什么程度可以工作(自学前端学到什么程度可以找工作)

html学到什么程度可以工作(自学前端学到什么程度可以找工作)

本文目录自学前端学到什么程度可以找工作web前端要学哪些东西 可以做什么工作自学前端需要达到什么水平才能去工作自学前端开发需要多久才能达到就业水平html好学吗如何才能成为一名合格的html5前端开发工程师自学前端学到什么程度可以找工作题主

2024年7月12日 02:52

fontcreator调整字体间距(high-logic fontcreator如何修改字体大小)

fontcreator调整字体间距(high-logic fontcreator如何修改字体大小)

大家好,关于fontcreator调整字体间距很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于high-logic fontcreator如何修改字体大小的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问

2024年8月10日 17:35

阿里巴巴字体库(iconfont阿里巴巴图标有填色吗)

阿里巴巴字体库(iconfont阿里巴巴图标有填色吗)

本文目录iconfont阿里巴巴图标有填色吗阿里巴巴国际站可以用哪些字体Alibaba PuHuiTi-R-GBpc-EUC-H是什么字体阿里巴巴普惠字体可以免费商用阿里巴巴iconfont怎么是正确的使用方式哪些素材网站上的字体可免费商用

2024年6月1日 23:17

数据分析软件有哪些(大数据分析软件有哪些)

数据分析软件有哪些(大数据分析软件有哪些)

“数据分析软件有哪些”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看数据分析软件有哪些(大数据分析软件有哪些)!本文目录大数据分析软件有哪些可视化数据分析软件有哪些数据分析工具类软件好用的有哪些请问主要用于数据处理的软件是比

2024年9月9日 03:05

intermission(intermission)

intermission(intermission)

本文目录intermissionintermission什么意思intermission现在还有,但实际意义不知何过去是否一样了,也许是对曾经的一种回忆吧,想今年的印度电影《大玩家》,中间就出现intermisson.此电影还是值得一看的。

2024年7月13日 15:43

discuz手机客户端(discuz论坛怎么制作安卓和苹果APP啊)

discuz手机客户端(discuz论坛怎么制作安卓和苹果APP啊)

本文目录discuz论坛怎么制作安卓和苹果APP啊discuz做的手机触屏版网站,不能访问pc端生成的静态网页,这是为啥只能同步pc端动态的discuz论坛制作独立手机app客户端一般多少discuz论坛怎么制作安卓和苹果APP啊discu

2024年7月10日 09:57

stationery是什么意思中文(文具的英文是什么)

stationery是什么意思中文(文具的英文是什么)

本文目录文具的英文是什么单词stationery的意思是什么stationery英语是什么意思stationary是什么意思单词stationery是可数名词还是不可数名词文具的英文是什么文具的英语是stationery。英 [’steɪʃ

2024年5月16日 14:25

crm管理系统软件哪家好(CRM哪家比较好)

crm管理系统软件哪家好(CRM哪家比较好)

本文目录CRM哪家比较好crm客户管理系统哪个好用CRM系统做得比较好的有哪些品牌做crm系统比较靠谱的公司有哪些crm系统哪家好CRM哪个品牌好CRM客户管理系统那个比较简单好用crm系统哪家公司做的最好客户管理系统哪家好CRM哪家比较好

2024年7月14日 03:32

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1155
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索