精华内容
下载资源
问答
  • 吾知道汝不喜欢,吾亦不喜欢。有时还是需要的。 新建应用 步骤1 步骤2,下一步 步骤3 步骤4,下一步 步骤5,完成 运行 把当前应用设置为启动项目 菜单:调试,开始执行。 ......

      吾知道汝不喜欢,吾亦不喜欢。有时还是需要的。

    • 新建应用

    步骤1

    步骤2,下一步

    步骤3

    步骤4,下一步

    步骤5,完成

     

    • 运行

    把当前应用设置为启动项目

    菜单:调试,开始执行。

    展开全文
  • 类视图,界面类,右键,转到对话框:

    类视图,界面类,右键,转到对话框:

     

    展开全文
  • 本文主要向大家介绍了VC编程之VC MFC界面上显示BMP图片,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。1、通过点击界面浏览按钮选择BMP图像文件。点击浏览按钮打开文件对话框选择BMP图像文件,得到文件...

    本文主要向大家介绍了VC编程之VC MFC界面上显示BMP图片,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

    d9fef64c73499369586d6339a252d74f.png

    1、通过点击界面浏览按钮选择BMP图像文件。

    点击浏览按钮打开文件对话框选择BMP图像文件,得到文件所在的路径目录。关键代码如下:

    void ShowBMPDlg::OnButtonSelectiamge()  {     char  szFilter[] = "BMP Files (*.bmp)|*.bmp|All Files(*.*)|*.*||";     CFileDialog dlg( TRUE,"BMP",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter );     if(dlg.DoModal() == IDOK)     {         strPathName = dlg.GetPathName();                 LoadShowBMPFile(strPathName);             m_hBitmap = BufferToHBITMAP();             Invalidate();     } }

    2、加载BMP文件到内存通过得到的BMP图像文件路径目录,加载BMP图像文件到内存中。关键代码如下:

    BOOL ShowBMPDlg::LoadShowBMPFile(const char *pPathname) {     CFile file;     if( !file.Open( pPathname, CFile::modeRead) )         return FALSE;     DWORD  m_nFileLen;     m_nFileLen = file.GetLength();     m_pBMPBuffer = new char[m_nFileLen + 1];     if(!m_pBMPBuffer)         return FALSE;     if(file.Read(m_pBMPBuffer,m_nFileLen) != m_nFileLen)         return FALSE;     return TRUE; }

    3、将内存中的BMP文件内容转换到HBITMAP将内存中的BMP文件内容转换成位图句柄。关键代码如下:

    HBITMAP ShowBMPDlg::BufferToHBITMAP() {     HBITMAP                hShowBMP;     LPSTR                hDIB,lpBuffer = m_pBMPBuffer;     LPVOID                lpDIBBits;     BITMAPFILEHEADER    bmfHeader;     DWORD                bmfHeaderLen;          bmfHeaderLen = sizeof(bmfHeader);     strncpy((LPSTR)&bmfHeader,(LPSTR)lpBuffer,bmfHeaderLen);     if (bmfHeader.bfType != (*(WORD*)"BM")) return NULL;     hDIB = lpBuffer + bmfHeaderLen;     BITMAPINFOHEADER &bmiHeader = *(LPBITMAPINFOHEADER)hDIB ;     BITMAPINFO &bmInfo = *(LPBITMAPINFO)hDIB ;     m_bmW = bmiHeader.biWidth;     m_bmH = bmiHeader.biHeight;     lpDIBBits=(lpBuffer)+((BITMAPFILEHEADER *)lpBuffer)->bfOffBits;     CClientDC dc(this);     hShowBMP = CreateDIBitmap(dc.m_hDC,&bmiHeader,CBM_INIT,lpDIBBits,                               &bmInfo,DIB_RGB_COLORS);     return hShowBMP; }

    4、在屏幕上显示BMP图像双缓冲实现BMP位图显示在屏幕上。关键代码如下:

    void ShowBMPDlg::DrawImage(int x, int y, CDC *pDC) {     HBITMAP OldBitmap;     CDC MemDC;     MemDC.CreateCompatibleDC(pDC);     OldBitmap=(HBITMAP)MemDC.SelectObject(m_hBitmap);     CBitmap* pBitmap = CBitmap::FromHandle(m_hBitmap);     if(m_bmW == 0 || m_bmH == 0)         return ;     CRect rect;     GetClientRect(&rect);         pDC->BitBlt(x,y,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY);     MemDC.SelectObject(OldBitmap); }

    这个方法是我们经常用的用来在界面上画图的一种方法。

    以上就介绍了VC/MFC的学习,希望对VC/MFC有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言VC/MFC频道!

    展开全文
  • 一、如何在多文档界面下去掉开始的子窗口 在多文档界面下,自动生成一个新的子窗口,而一个实际的应用系统往往是由用户操 作后再生成新的窗口。为了去掉开始的子窗口,可在应用程序文件分析命令行的语句 ...

    0de1abac293596c6181300856edd7ed7.png

    VC++6.0是Microsoft新近推出的可视化C++集成开发环境。它在继承以前VC++的

    基础上增加了许多新的功能,用于支持Win32平台应用程序、服务程序和控件的开发。VC++5.0提供了强大、快捷的编程工具,其中最基本的是三个导航:AppWizard用于程序框 架的生成,AppStudio用于资源的编辑,ClassWizard用于类的编辑和管理。其中,窗口 、菜单等无需用户编写程序,而由系统自动生成。但在许多情况下,用户要设置自己希 望的窗口(即定制窗口)。

    一、如何在多文档界面下去掉开始的子窗口

    在多文档界面下,自动生成一个新的子窗口,而一个实际的应用系统往往是由用户操

    作后再生成新的窗口。为了去掉开始的子窗口,可在应用程序文件分析命令行的语句

    CcommandLineInfo cmdInfo;

    ParseCommandLine(cmdInfo);

    后加入:

    cmdInfo.m_nShellCommand=CcommandLineInfo::FileNothing;

    去掉子窗口后,就只剩下主框架窗口了。因为在多文档界面中,系统生成两个菜单:

    一个是用户的菜单,另一个是系统主框架菜单。通常用户工作在用户菜单。为了保证菜 单界面不变,可修改主框架菜单资源,使其与用户菜单保持一致。

    二、修改窗口标题栏

    在缺省情况下,窗口标题栏中显示的文档名为文件名。若要在标题栏显示一个长字符

    串,而又不修改文件名,则可将项目工作区转换到Resource View面版,选择串表(StringTable)资源,在StringTable中双击IDR-MAIN-FRAME项,caption中显示一字符串xx\n\yy......,将第一个参数修改为用户自己希望见到的主窗口标题即可。

    三、修改主框架窗口、子窗口及其显示性质

    可通过覆盖CWnd的成员函数PreCreateWindow来修改主窗口和子窗口。PreCreateWind

    ow函数在即将创建窗口前被调用,函数原型为:Virtual BOOL PreCreateWindow函数( CREATESTRUCT cs)。如果要覆盖PreCreateWindow函数,则在创建窗口前可以修改CREA TESTRUCT结构以替换缺省参数。CREATESTRUCT结构存放窗口特征,如窗口坐标、风格等 ,还可以定义新窗口风格。

    若想修改主框架窗口,则可以在MainFrm.cpp的下列成员函数中加入待修改的内容。例

    如:

    BOOL CmainFrame::PreCreateWindow(CREATESTRUCT&cs)

    {

    //通过修改CREATESTRUCT结构来修改窗口类或风格

    //定义新窗口的高度、宽度

    cs.cx=450;

    cs.cy=300;

    //定义新窗口风格为去掉主窗口名及最大化等按钮

    cs.style=ws-POPWINDO;

    return CframeWnd::PreCreateWindow(cs);

    }

    定制子窗口的操作与上述主窗口相同,可在ChildFrm.cpp中加入以下内容:

    BOOL CmainFrame::PreCreateWindow(CREATESTRUCT&cs)

    {

    //通过修改CREATESTRUCT结构来修改窗口类或风格

    return C mdichildWnd::PreCreateWindow(cs);

    }

    要修改视图窗口的显示性质,则可在视图文件xxView.cpp的下述成员函数中加入以下

    语句:

    BOOL xxView::PreCreateWindow(CREATESTRUCT&cs)

    {

    //增加的语句

    cs.lpszClass=AfxRegisterWndClass(cs-HREDRAW|CS-VREDRAW,0,(HBRUSH))::GetSto

    ckObject(WHITE-BRUSH),0);

    return CscrollView::PreCreateWindow(cs);

    }

    其中,cs的参数pszClass用于存放Windows窗口类名称。要想注册Windows窗口类,则

    必须调用全局函数AfxRegisterWndClass。该函数原型为:

    LPCTSTR AFXAPI AfxRegisterWndClass(UINTnClassStyle,HCURSOR hCursor=0,HBRUS

    H hbrBackground=0,HICON hIcon=0)

    上述各参数用于定义风格,其含义分别为光标资源句柄、背景资源句柄、图标资源句

    柄。上述增加的语句的作用是:改变窗口大小时重画窗口、不显示光标图标、设置白色 背景。

    四、窗口的滚动

    使用CscrollView代替Cview类即可实现滚动窗口。此时,系统生成OnInitialUpdate(

    )成员函数:

    void CmyscrollView::OnInitialUpdat()

    {

    CscrollView::OnIntialUpdate();

    Csize sizeTotal;

    SizeTotal.cs=sizeToal.cy=100;

    SetScrollSizes(MM-TEXT,sizeTotal);

    }

    其中,cs和cy分别为滚动窗口的水平、垂直分量,表明窗口的水平、垂直方向尺寸小

    于100像素单位时将出现水平方向滚动条和垂直方向滚动条。通过修改滚动尺寸,可改变 出现滚动条的最小窗口。例如,若“sizeTotal.cx=600;sizeTotal.cy=800;”,则当窗 口尺寸小于600*800时,就会出现滚动条。

    五、窗口分割

    该功能可将窗口分割成多个可滚动的面板,面板之间的边界称为分割条,可用分割条

    来调整每个面板的相对大小。要想增加窗口分割功能,则必须修改主窗口类。首先,在 主窗口类的头文件MainFrm.h中添加以下代码:

    CsplitterWnd m-SWnd;

    Virtual BOOL OnCreateClient (LPCREATESTRUCTcs,CcreateContext *pContext);

    再在MainFrm.cpp中添加成员函数OnCreateClient的定义:

    BOOL CmainFrame::OnCreateCline(LPCREATESTRUCTcs,CcreateContext *p Context)

    {

    {

    return m-SWnd.Creat(this,2,2,Csize(20,20),pContext);

    }

    新的CsplitterWnd类对象m-SWnd用于创建和管理分割窗口,该窗口中可以包含一个或

    多个面板。首次创建主窗口时,将调用成员函数OnCreateClient。在缺省情况下,该函 数创建一个填充主框窗口客户区的视图窗口。覆盖该函数后,将调用CsplitterWnd的成 员函数Create来创建分割窗口。其中,第一个参数用于指定分割的父窗口(主窗口); 第二个参数指定垂直方向上的面板个数为2;第三个参数指定水平方向上的面板的个数; 第四个参数用于设置每个面板的最小尺寸;第五个参数传递描述信息。上述分割窗口的 每个面板都是由视图类对象管理的,当用户在某一面板内显示文档和图形时,必须在其 它面板中重新绘制,从而在多个面板中均显示相同的内容。为此,必须调用显示文档类 的UpdateALLView成员函数来更新其它面板。此时,只需加入pdoc->UpdataALLView(NULL)即可。

    ◆◆

    评论读取中....

    请登录后再发表评论!

    ◆◆

    修改失败,请稍后尝试

    展开全文
  • 1.需保证两个编译器的位数一致,如都是64位;
  • Start/Start/Application/Start/Application/CCApplication.BATStart/Application/MainTask.cStart/Application/MicriumLogo.CStart/Application/MicriumLogo_1bpp.cStart/Application/vssver.sccStart/CleanUp.batS...
  • windows界面,用QT还是MFC?

    千次阅读 2021-03-26 14:09:28
    在MFC之前,使用C++开发Windows桌面程序,只能通过调用WindowsSDK提供的API,要付出很大的代价来处理UI程序中的各种消息,不仅要很多繁琐的重复性工作,还特别容易出错。后来随着VisualStudio的出现,以及随之而来...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼sor.yes[i][j]==sor.yes[i+1][j+1]&&sor.yes[i+1][j+1]==sor.yes[i+2][j+2]&&sor.yes[i+2][j+2]==sor.yes[i+3][j+3]&&sor.yes[i+3][j+3]==sor....
  • 在我们开发dll文件用visual studio,而界面程序用别的Ide,入c++ builder时,如何在调试时启动界面程序呢: 1.将开发好的界面程序(xxx.exe)放到dll文件的输出目录,比如在bin\x64\,这个可在 项目->属性->...
  • VC 直接在界面上添加文字

    千次阅读 2021-03-13 16:03:33
    渐变字:// 获得窗口的客户区设备上下文句柄CClientDC dc(this);// 更改当前字体LOGFONT lf;dc.GetCurrentFont()->GetLogFont(lf);CFont font, *pOldFont;lf.lfCharSet=134;lf.lfHeight=-150;...
  • 一、跨平台特性 VB:无 ★ PB:WINDOWS家族,Solaris,Macintosh ★★★ C++ Builder/Dephi:WINDOWS家族,Linux ★★★ VC:无 ★ JAVA:所有能够运行JAVA虚拟机的操作系统 ★★★★ 二、组件技术支持 VB:COM,A...
  • vc6.0使用简介及C语言在6.0平台上的编程实例C++ 目录 第一章:Visual C++概述 第二章:C++语言基础 第三章:用MFC编写Windows程序 第四章:消息与输入 第五章:菜单、工具栏与状态栏 第六章:对话框 第七章:常用...
  • 标题 用C语言实现在vc6.0上面推箱子的小游戏**** 一共有五关 操作键:←↑↓→ #include <stdio.h> #include <conio.h> #include<stdlib.h> #include<windows.h> int m =0; //m代表...
  • python界面设计用什么

    2021-01-12 02:04:34
    python界面设计用什么?下面给大家介绍八款常用的界面设计的框架:Python 的 UI 开发工具包 KivyKivy是一个开源工具包能够让使用相同源代码创建的程序能跨平台运行。它主要关注创新型用户界面开发,如:多点触摸应用...
  • 在2016年的 CppCon 技术大会上,Antony Polukhin 了一个关于 C++ 反射的发言vc6.0怎么写c语言,他强调了一个实现反射的新思路,即无需使用宏、标记和额外的软件就能推动反射。看起来似乎是一件不也许完成的任务,...
  •  7.BCGControlBar Library 非常好的一套应用于 vc6 的界面扩展类库,轻松的作出 vc2003 的界面。并且给了各种界面例子,如vc.net 、 outlook、更换皮肤等等。 8.Comment Wizard Visual C++ 插件,提供了 ...
  • 对于那些功能已经实现了,就差MFC界面的同志,小编我这就转入主题。 首先打开我们的VC++6.0,然后创建MFC工程 “确认”之后会有三种模式,考虑到小编的作业,我就选简单一点的“基本对话框”就行了 之后到了第三步后...
  • 下图是一个类似VC界面,左边、底下有两个可浮动、可变大小的控制窗口。许多朋友都希望在自己的程序中实现类似的界面,因为此种类型的界面用途很广、通用性很强,所以笔者总结了一下实现的步骤,辑此一文,并提供源...
  •  MFC+MySQL(ODBC数据源)实现数据库登录详细教程(用vs实现) 4、题外话:博主打算个简单的超市收银系统,这只是第一步。 一、创建 MFC 程序 1、打开Visual Studio 2019, 点击 “ 创建新项目 ”,选择 “ MFC...
  • vc多线程(c++多线程)

    2021-05-20 11:07:07
    VC多线程是什么意思?能讲通俗点吗?通俗点说就是你老板让你把山上的树成板材你一看,工作量大,于是你派出的兄弟们(这就是多线程)一起上大家一起,有的砍树,有的搬运,有的板材,(即不同的.MFC中创建了一个...
  • 部署VC的两种方法

    2021-01-21 15:35:43
    3、运行insall.exe进入部署界面: 4、点击安装,选择下一步: 5、勾选接受许可协议条款,点击下一步: 6、选择具有嵌入式的部署,选择下一步: 7、此处root密码为1234567: 8、点击下一步出现证书警告,选择是...
  • uCGUI的作者把源代码放进vc里面进行编译了(当然,这是用标准C语言写的程序,所以我们可以放在任何C语言平台下编译而不会担心兼容性问题,这个uCGUI在这方面的算是完美了),所以,我们可以在vc平台下写界面,然后再把代码...
  • [vc6.0mfc怎么用]VC6.0基于对话框的mfc如何用按钮实现自定义类里的函数在CDetectorDlg中添加一个成员变量如m_myclass,类型为你自己定义的类类型,注意添加头文件,添加之后就好办了,在OnBuffon1里面写m_myclass....
  • VC6的使用

    2021-05-20 07:08:43
    使用之前我们先准备一段代码。...");system("pause");return0;}1.创建工程创建文件之前我们先创建一个工程,然后在添加... 新建,然后进图如图界面。选择空工程。2.创建文件1)创建完工程之后我们来创建文件。2)然后会...
  • V是一个免费的可移植的C++的图形用户界面框架,旨在开发出各种不同的图形界面平台上的应用程序。 一个开源的C++ GUI框架,使跨平台的编程变得简单。 Ada95的一个完整的图形工具包 FLTK的是一个跨平台的C++ GUI工具...
  • vc6.0使用教程

    2021-06-12 16:52:39
    vc6.0使用教程第一步,首先打开vc6.0软件,主界面如图所示。第二步,新建工程(项目):点击左上角的菜单“文件”,点击“新建”;然后点击【工程】,如图一所示,可以创建控制台程序、MFC程序等;当然如果要直接写单个C...
  • vc6.0怎么用

    2021-04-26 11:37:11
    “新建”,打开如下界面2、在左边的列表中选择“Win32 Console Application”,即win32控制台工程,控制台就类似windows中的cmd窗口,刚开始编程,选择创建这个工程就可以了。在右边输入工程名称,我在这里输入...
  • vCPE是什么?

    2021-07-28 10:10:14
    什么是vCPE? 虚拟客户端设备(vCPE)也称为云CPE,使用基于软件的功能来代替专有硬件。CPE可以是防火墙、边界网关、路由器、NAT、VPN等。所有安装在客户现场的传统CPE都需要一个特定的专用硬件来运行。 现在,vC...
  • 笔者搞了好久,最终发现是工程文件换行符号的问题 dsp和dsw工程文件换行符修改一下 notepad++打开dsp和dsw工程文件,分别把它们改成windows换行符
  • 一.引言 Windows的system.dat和user.dat中存储着windows注册表,win.ini和system.ini中也存储着... } C语言辅导:用vc设计系统援救程序.doc 下载Word文档到电脑,方便收藏和打印[全文共4535字] 编辑推荐: 下载Word文档

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,246
精华内容 29,698
关键字:

vc做界面