精华内容
下载资源
问答
  • c++MFC程序设计(可视化界面

    热门讨论 2010-12-20 22:33:34
    想要用c++做可视化界面的,可以来看看。 也欢迎c#winform的来交流
  • #可视化界面 在初学C++的时候,程序运行出来都是黑窗口界面,但是制作一个小游戏,如果要让外观美观,更有吸引人的效果,就要用到可视化窗口了在VS的用户中 要使用可视化窗口 就要安装一个easyX的东西 easyX官网...

    #可视化界面

       在初学C++的时候,程序运行出来都是黑窗口界面,但是制作一个小游戏,如果要让外观美观,更有吸引人的效果,就要用到可视化窗口了在VS的用户中 要使用可视化窗口 就要安装一个easyX的东西 

       easyX官网链接:https://easyx.cn/downloads/

    安装了以后将窗口改为可视化窗口分为以下几步:

          包含头文件:#include<graphics.h>  (只有安装了easyX才可以使用)

          初始化图像环境:initgraph(宽,高)  //可视化窗口大小

          定义图片变量:IMAGE zz;  //zz是给传入的图片起的名字

          加载图片:ladimage(&aa,"程序文件目录下的图片名称",宽,高);  宽 高 是你给传入图片设置的大小

           显示图片(0,0,&zz);  //0,0  是图片初始位置

       

     

    #传入音乐:  看到老师实现了音乐传入  本人还未成功  这个仅供参考   如有表哥看到小小小白文章内容 希望可以帮小小小白说明一下为什么没成功。

       包含头文件:#include<mmsyscom.h>  //多媒体设备接口头文件
                             #pragma comment(lib,"winmm.lib")

     main函数中写入:mciSendString(L"open music.mp3", 0, 0, 0); //打开音乐
                                  mciSendString(L"play music.mp3", 0, 0, 0); //播放音乐

                                  Sleep(3000);//延时3秒

                                  mciSendString(L"close music.mp3",0,0,0); //关闭音乐

    展开全文
  • C++可视化界面EasyX图形库的安装以及简单使用

    千次阅读 多人点赞 2020-10-05 19:50:53
    EasyX图形库是一个比较简单容易上手的可视化界面工具包,一般配合VC6.0就可以使用,也可以配合VS系列,这里简单介绍下VC6.0的安装和简单使用。 一、EasyX的安装 然后点击进去下载 如上所示,点击保存文件。 一直...

    EasyX图形库是一个比较简单容易上手的可视化界面工具包,一般配合VC6.0就可以使用,也可以配合VS系列,这里简单介绍下VC6.0的安装和简单使用。

    一、EasyX的安装
    在这里插入图片描述
    然后点击进去下载

    在这里插入图片描述
    在这里插入图片描述
    如上所示,点击保存文件。

    在这里插入图片描述
    一直点击下一步。

    在这里插入图片描述就到现在这个界面,easyX安装程序会自动检索你的电脑上已经安装的Vs系列编辑器,比如我电脑安装的是Visual C++6.0被检索出来,点击安装就行,然后就是安装完成了。很简单吧

    二、使用示范

    easyX图形库的功能是比较简单的,可以结合鼠标进行操作,也可以加载音频播放,比如做一个游戏就可以设置音乐效果。

    这里只简单演示图片的加载使用,更多功能可以直接参考官网的一些使用教程。

    打开画布
    注意图形库的头文件是graphics.h

    #include<graphics.h>
    #include<iostream>
    #include<conio.h>
    using namespace std;
    int main()
    {
    	initgraph(1000,600);//打开1000x600大小的画布
    	getch();//按任意键
    	closegraph();//关闭画布
    	return 0;
    }
    
    

    这是最简单的打开画布关闭画布的代码指令,运行结果如下。
    在这里插入图片描述
    什么也没有,现在给这个画布上面进行绘画,比如加载图片并且显示,代码如下:

    #include<graphics.h>
    #include<iostream>
    #include<conio.h>
    using namespace std;
    int main()
    {
    	initgraph(1000,600);//打开1000x600大小的画布
    	IMAGE bg;//定义一个图像指针变量bg
    	//根据绝对路径(也可以是相对路径,如果你的图片位置和这个代码是同一个文件夹下,直接写文件名)加载图片内容
    	//这里是把图片按500x300大小进行调整
    	loadimage(&bg,_T("E:\\储物柜\\Game\\test.jpg"),500,300);
    	putimage(0,0,&bg);//把图片在左上角(0,0)位置进行显示
    	getch();//按任意键
    	closegraph();//关闭画布
    	return 0;
    }
    
    

    其中test.jpg是一张擎天柱的图片,运行结果如下。
    在这里插入图片描述上述擎天柱图片只是按500x300大小进行显示。

    这里想要把一个图放在擎天柱背景图上,如下。

    #include<graphics.h>
    #include<iostream>
    #include<conio.h>
    using namespace std;
    int main()
    {
    	initgraph(1000,600);//打开1000x600大小的画布
    	IMAGE bg;//定义一个图像指针变量bg
    	//根据绝对路径(也可以是相对路径,如果你的图片位置和这个代码是同一个文件夹下,直接写文件名)加载图片内容
    	//这里是把图片按500x300大小进行调整
    	loadimage(&bg,_T("E:\\储物柜\\Game\\test.jpg"),500,300);
    	putimage(0,0,&bg);//把图片在左上角(0,0)位置进行显示
    	//加载另外一张图片并且显示
    	IMAGE t1;
    	loadimage(&t1,_T("E:\\储物柜\\Game\\t1.jpg"),100,100);
    	putimage(200,100,&t1);
    
    	getch();//按任意键
    	closegraph();//关闭画布
    	return 0;
    }
    
    

    得到的结果是这样的
    在这里插入图片描述
    能不能把苹果形成透明贴图那样贴擎天柱上面,可以,先把苹果图弄成下面这样:
    在这里插入图片描述上面这个图命名t1.jpg

    在这里插入图片描述
    上面这个图命名为t2.jpg。

    执行下面代码。

    #include<graphics.h>
    #include<iostream>
    #include<conio.h>
    using namespace std;
    int main()
    {
    	initgraph(1000,600);//打开1000x600大小的画布
    	IMAGE bg;//定义一个图像指针变量bg
    	//根据绝对路径(也可以是相对路径,如果你的图片位置和这个代码是同一个文件夹下,直接写文件名)加载图片内容
    	//这里是把图片按500x300大小进行调整
    	loadimage(&bg,_T("E:\\储物柜\\Game\\test.jpg"),500,300);
    	putimage(0,0,&bg);//把图片在左上角(0,0)位置进行显示
    	//加载另外一张图片并且显示
    	IMAGE t1,t2;
    	loadimage(&t1,_T("E:\\储物柜\\Game\\t1.jpg"),100,100);
    	loadimage(&t2,_T("E:\\储物柜\\Game\\t2.jpg"),100,100);
    	//两张图片结合形成透明贴图
    	//注意下面这两行代码顺序不能颠倒
    	putimage(200,100,&t2, SRCAND);
    	putimage(200,100,&t1, SRCPAINT);
    	getch();//按任意键
    	closegraph();//关闭画布
    	return 0;
    }
    
    

    运行结果如下
    在这里插入图片描述
    这主要针对做游戏怎么把我们的游戏人物放置在背景图中,具体更多详细复杂的用法可以参考easyX图形库官网进行学习。

    展开全文
  • 学校的书上教的是基础的知识,像可视化界面怎么编写这种没有,百度了没有找到完整的教程,我用的工具是vs2019,希望各位前辈给点意见,想买本最好用vs编写可视化窗口的书本教材,或者有完整的教学视频的。
  • 用C/C++写推箱子并且做出可视化界面要借助第三方库才能实现。这里推荐使用EasyX,在官网下载EasyX图形库,这里附上官网链接: EasyX官网 我所使用的IDE是Visual Studio 2019。经过测试,Dev c++安装EasyX后无法正常...

    写在前面

    用C/C++写推箱子并且做出可视化界面要借助第三方库才能实现。这里推荐使用EasyX,在官网下载EasyX图形库,这里附上官网链接: EasyX官网
    我所使用的IDE是Visual Studio 2019。经过测试,Dev c++安装EasyX后无法正常使用EasyX库,其他IED未测试过。所以为了避免出现各种各样的错误,推荐初学者也使用Visual Studio。

    安装EasyX

    下载好之后安装EasyX。若是出现下图的情况,则用压缩包形式打开.exe文件。
    在这里插入图片描述
    用压缩包打开会看到的文件,把这些文件全解压出来。
    在这里插入图片描述

    找到Visual Studio所在的安装目录,打开VC文件夹,打开其中的include文件夹;将刚才解压出来的EasyX文件夹里面的include文件夹的两个文件复制粘贴到此文件夹下。
    在这里插入图片描述在这里插入图片描述
    返回解压的EasyX文件夹,打开lib文件夹中把里面的两文件复制到Visual Studio中的lib里面的x86文件夹。

    在这里插入图片描述以上就是手动配置EasyX的方法

    VS中使用EasyX库的效果

    在这里插入图片描述这是c++用EasyX库写出来的推箱子,至于关卡,我设置了3关,关卡可以选择,音乐默认是关的。开始游戏,退出游戏,关卡选择,音乐开关等图标按钮是通过鼠标左键双击来执行的。由于代码比较长,所以我放到GitHub上。GitHub链接

    结尾

    源代码是完整的,但调试执行程序可能运行有点问题,因为我的VS路径迁移过了,不能保证能够完美运行,所以想学习的小伙伴可以参照源代码来学习。

    展开全文
  • 很想学习做可视化软件,比如mfc之类的。于是找了本《深入浅出mfc》看,但是一开始就有一些概念不太理解,而且对dll这些动态链接库的工作不太明白,是不是有些基础没有打好比如应该看《windows程序设计》之类的?求...
  • 光纤铺设问题 我想用c#张地图在上面画出最优铺设线路,C#画图我会,C++部分代码也完成了 我只是需要如何把C++代码放入C#中 。。。。不知道我的表达清不清晰 #include #include #include #include #include ...
  • C++ 基于遗传算法的矩形排样 具有可视化界面。 利用遗传算法解决矩形排样问题,具有可视化界面,输入数据为含有矩形的长和宽的文本文件,输出的结果以可视化的形式显示出来 MFC 遗传算法 矩形排样
  • c++可视化计算器

    万次阅读 多人点赞 2015-08-03 20:54:36
    学生党的一个课程设计,希望可以对有些人有些帮助,第一次发,不好的话请多多原谅 c++: 一....①——用api来编写一个可视化的计算器程序,首先我们要用界面来实现它,所以我们要设计一个

    学生党的一个课程设计,希望可以对有些人有些帮助大笑大笑大笑,第一次发,不好的话请多多原谅


    c++:

    一.题目要求:

     

    设计一个可视化的计算器,可以执行+,-,*,/,.,%,()等操作。要求使用API来编写程序。(我的计算器输入的时候是以#号开始)。

     

    二.需求分析:

     

    1.问题描述:

    ①——用api来编写一个可视化的计算器程序,首先我们要用界面来实现它,所以我们要设计一个计算器的可执行的界面,我使用了2个界面(具体请见第四条的测试),第一个是菜单界面,这个界面是可有可无的,我使用它是为了给用户一个选择,从file退出或从start开始进入,这个不是很重要;第二个界面是计算器的执行界面,这是本次实践的主要目的,我们需要在dialog中添加一个输入与输出列表框,许多button(数字的,运算符的,clear,cancel等),首先在纸上画出理想图,列出个数;因此我们要设计好界面,要注意界面之间,button之间的关系。

    ②——其次我们需要考虑的是之前的c++计算器代码与api界面代码之间的融合,这是没有做过的,要想好它们之间的关系,比如点击什么按钮的时候执行什么操作,会出来啥界面,啥提示,都要在程序中注意;还要把整个程序做成多文件的形式,不能都弄在一起,要便于编译与改错。

     

    三.详细设计(由于c++计算器运算部分不是本次实践的主要目的,在此主要讨论界面实现部分的详细设计):

     

    1.resource.h头文件(只是一部分,重复部分省略):

    //{{NO_DEPENDENCIES}}

    // Microsoft Visual C++ 生成的包含文件。

    // 供 Resource.rc使用

    //

    #define IDR_MYMENU                      101  //菜单的定义

    #define IDD_START                       102  //START的定义

    #define IDC_BUTTON1                     1000  //BUTTON1的定义

    #define IDC_BUTTON2                     1001  //BUTTON2的定义

    #define IDC_BUTTON3                     1002  //BUTTON3的定义

    #define IDC_BUTTON4                     1003  //BUTTON4的定义

    #define IDC_BUTTON5                     1004  //BUTTON5的定义

    #define IDC_LIST1                       1018  //列表框的定义

    #define ID_FILE_EXIT                    40001  //File中Exit的编译

    #define ID_START_START                  40002  //Start中Start中Start的定义

     

    // Next default values for newobjects

    // 以下是生成资源文件时自生成的,都是一些定义

    #ifdef APSTUDIO_INVOKED

    #ifndef APSTUDIO_READONLY_SYMBOLS

    #define _APS_NEXT_RESOURCE_VALUE        103

    #define _APS_NEXT_COMMAND_VALUE         40003

    #define _APS_NEXT_CONTROL_VALUE         1021

    #define _APS_NEXT_SYMED_VALUE           101

    #endif

    #endif

     

    2.Resource.rc头文件(部分重要):

    IDR_MYMENU MENU      //定义标识符MENU

    BEGIN

       POPUP "&File"     //点File

       BEGIN

            MENUITEM "E&xit",                       ID_FILE_EXIT      //点Exit

       END

       POPUP "&START"     //点START

       BEGIN

            MENUITEM"&START...",                  ID_START_START      //点START中的START

       END

    END

    // Dialog

    //

     

    IDD_START DIALOGEX 0, 0, 339, 182//IDD_START为资源的标识.DIALOG是资源的类型

     

    //以STYLE开头然后在后面跟上用来创建此对话框的窗口风格

    STYLE DS_SETFONT | DS_MODALFRAME |WS_POPUP | WS_CAPTION | WS_SYSMENU

     

    //dialog的名字

    CAPTION "My Calculator"

     

    //创建此对话框的字体的大小和名字

    FONT 8, "MS Sans Serif", 0,0, 0x1

    BEGIN

     

    //代表cancel按钮(定义,位置,大小)

    PUSHBUTTON     "Cancel",IDCANCEL,261,135,63,28

     

    //代表BUTTON0-9按钮(定义,位置,大小)

       PUSHBUTTON     "1",IDC_BUTTON1,7,47,50,39

       PUSHBUTTON     "2",IDC_BUTTON2,7,84,50,39

       PUSHBUTTON     "3",IDC_BUTTON3,7,122,50,43

       PUSHBUTTON     "4",IDC_BUTTON4,57,48,50,37

       PUSHBUTTON     "5",IDC_BUTTON5,57,86,50,36

       PUSHBUTTON     "6",IDC_BUTTON6,58,123,50,42

       PUSHBUTTON     "7",IDC_BUTTON7,108,49,50,35

       PUSHBUTTON     "8",IDC_BUTTON8,108,85,50,37

       PUSHBUTTON     "9",IDC_BUTTON9,108,124,50,41

       PUSHBUTTON     "0",IDC_BUTTON10,159,49,50,35

      

     //代表操作符按钮(定义,位置,大小)

       PUSHBUTTON     ".",IDC_BUTTON11,159,86,50,38

       PUSHBUTTON     "=",IDC_BUTTON12,159,124,50,41

       PUSHBUTTON      "+",IDC_BUTTON13,210,49,50,30

       PUSHBUTTON     "-",IDC_BUTTON14,210,79,50,28

       PUSHBUTTON     "*",IDC_BUTTON15,210,108,50,26

       PUSHBUTTON     "/",IDC_BUTTON16,209,135,50,29

       PUSHBUTTON     "(",IDC_BUTTON17,260,50,32,28

    PUSHBUTTON     ")",IDC_BUTTON18,293,51,32,27

       PUSHBUTTON     "%",IDC_BUTTON19,261,80,63,28

     

    //列表框

       LISTBOX        IDC_LIST1,8,0,316,49,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL| WS_TABSTOP

      

    //代表Clear按钮(定义,位置,大小)

       PUSHBUTTON     "Clear",IDC_BUTTON20,262,108,62,27

    END

     

    // DESIGNINFO

    //dialog的风格

    #ifdef APSTUDIO_INVOKED

    GUIDELINES DESIGNINFO

    BEGIN

       IDD_ABOUT, DIALOG

       BEGIN

            LEFTMARGIN, 7

            RIGHTMARGIN, 332

            TOPMARGIN, 7

            BOTTOMMARGIN, 175

       END

    END

    #endif    // APSTUDIO_INVOKED

     

    3.Win.cpp文件:

    #include <windows.h>

    #include "resource.h"      //包含资源文件

     

    char buf1[20];      //类外定义

    //将double转换成string

    string DoubleToString(double d){

        stringstr;

        stringstreamss;

        ss<< d;

        ss>> str;

        returnstr;

    }

    char buf[100];      //类外定义

    int i = 1;      //类外定义

    核心部分为(dialog的实现):

    BOOL CALLBACK AboutDlgProc(HWND hwnd,UINT Message, WPARAM wParam, LPARAM lParam)

    {

        buf[0]='#';      //以#开始

        switch(Message)      //接收消息

        {

        caseWM_INITDIALOG:

            return TRUE;

        caseWM_COMMAND:

            switch (LOWORD(wParam))

            {

    //当点击BUTTON1(1)的时候:

            case IDC_BUTTON1:{

    //清空,相当于刷新输出到界面

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '1';

                buf[++i]= '\0';

    //显示

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);      }

                break;

    ......

    //当点击BUTTON12(=)时,要执行c++计算器的计算工作,在背后执行,不再界面显示

            case IDC_BUTTON12:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '=';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

                CalculatorCalcul;      //定义类对象

               Calcul.Cal(buf);      //使用类函数成员

                stringstr1 = DoubleToString(Calcul.a);

    //将string转换成char类型的数组(buf1[]用于输出)

                for(inti=0;i<str1.size();i++){

                    buf1[i]=str1[i];

                }

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf1);

            }

                break;

    //clear按钮,清空buf[],重新开始一次计算,但不退出当前界面

            case IDC_BUTTON20:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                i=1;

                for(inti=1;buf[i]!='\0';i++){

                    buf[i]='\0';

                }

            }

                break;

     

    四.测试:

    1.菜单选择界面(START开始):

     

    2.计算器主界面:

     

    3.一个复杂的运算,输出结果:


    4.使用clear,清空后继续(可以任意多次):



    5.用cancel,退出当前界面:


    五.结论:

    通过本次的api可视化开发,让我初步了解了api编程的基本步骤和windows编程,我花了很长时间才弄懂怎么添加一些东西,怎么显示一些东西,怎样让它做一些事情,刚开始的时候很困惑。

    我认为这个程序的优点在于比较易于操作,让人比较容易看的懂,基本按照标准的方法来做,如果要修改某一部分的话,从源代码中很容易自己修改,另外此程序实现了连续计算,而不用退出重来;

    在缺点方面,一是主界面没有个性化,按钮什么的不是很整齐,手工调整的时候没有对齐,我会在.rc中直接修改将其改正过来;二是以前的计算器程序设计的还是不太好,在整合到可视化的时候还要对部分进行修改与调整才能匹配恰当,我课后会再将程序进行改进,以便可以方便的整合到api中去。

    这次的收获很大,也让我对可视化产生了极大的兴趣,有技术又有用,我相信我会在这条路上走得更远。

     

    六.源代码:

    #ifndef STACK_H

    #define STACK_H

     

    #include<cassert>

    #include<iostream>

    using namespace std;

     

    template<typename T>classStack;//类声明

     

    template<typename T>class Node{

    private:

        Tinfo;

        Node<T>*link;

    public:

        Node(Tdata = 0, Node<T>*next = NULL){

            info = data;

            link = next;

        }

        friendclass Stack<T>;

    };

     

    //链栈类模板,无头结点链表

    template<typename T>classStack{

    private:

        Node<T>*top;//栈顶指针

    public:

        Stack(){top = NULL; }

        ~Stack();

        voidPush(const T&data);//压栈

        TPop();//弹出

        TGetTop();//取栈顶元素

        voidMakeEmpty();//清空栈

        boolIsEmpty(){ return top == NULL; }

    };

     

    template<typename T>Stack<T>::~Stack(){MakeEmpty(); }

     

    template<typename T>voidStack<T>::Push(const T&data){

        top= new Node<T>(data, top);

    }

     

    template<typename T>voidStack<T>::MakeEmpty(){

        Node<T>*temp;

        while(top != NULL){

            temp = top;

            top = top->link;

            delete temp;

        }

    }

     

    template<typename T>TStack<T>::Pop(){

        assert(!IsEmpty());

        Node<T>*temp= top;

        Tdata = temp->info;

        top= top->link;//丢弃栈顶结点

        deletetemp;//释放栈顶结点

        returndata;//返回栈顶数据

    }

     

    template<typename T>TStack<T>::GetTop(){

        assert(!IsEmpty());

        returntop->info;

    }

    #endif

    //保存在Stack.h

     

    #ifndef CALCULATOR_H

    #define CALCULATOR_H

     

    #include"Stack.h"

    #include<iostream>

    #include<string>

     

    using namespace std;

     

    class Calculator{

    private:

        Stack<double>Nstack;

        Stack<char>Ostack;

    public:

        doublea;

        Calculator():a(0){};

        ~Calculator(){};

        voidClear();

        voidCompute(char Opr);

        voidGetTwoNumDouble(double &Num1,double &Num2);

        voidGetTwoNumInt(int &Num1,int &Num2);

        voidCal(string);//计算器运算程序

    };

     

    #endif

    //保存在Calculator.h

     

    //{{NO_DEPENDENCIES}}

    // Microsoft Visual C++ 生成的包含文件。

    // 供 Resource.rc使用

    //

    #define IDR_MYMENU                      101

    #define IDD_START                       102

    #define IDC_BUTTON1                     1000

    #define IDC_BUTTON2                     1001

    #define IDC_BUTTON3                     1002

    #define IDC_BUTTON4                     1003

    #define IDC_BUTTON5                     1004

    #define IDC_BUTTON6                     1005

    #define IDC_BUTTON7                     1006

    #define IDC_BUTTON8                     1007

    #define IDC_BUTTON9                     1008

    #define IDC_BUTTON10                    1009

    #define IDC_BUTTON11                    1010

    #define IDC_BUTTON12                    1011

    #define IDC_BUTTON13                    1012

    #define IDC_BUTTON14                    1013

    #define IDC_BUTTON15                    1014

    #define IDC_BUTTON16                    1015

    #define IDC_BUTTON17                    1016

    #define IDC_BUTTON18                    1017

    #define IDC_LIST1                       1018

    #define IDC_BUTTON19                    1019

    #define IDC_BUTTON20                    1020

    #define ID_FILE_EXIT                    40001

    #define ID_START_START                  40002

     

    // Next default values for newobjects

    //

    #ifdef APSTUDIO_INVOKED

    #ifndef APSTUDIO_READONLY_SYMBOLS

    #define _APS_NEXT_RESOURCE_VALUE        103

    #define _APS_NEXT_COMMAND_VALUE         40003

    #define _APS_NEXT_CONTROL_VALUE         1021

    #define _APS_NEXT_SYMED_VALUE           101

    #endif

    #endif

    //保存在resource.h

     

    // Microsoft Visual C++ generatedresource script.

    //

    #include "resource.h"

     

    #define APSTUDIO_READONLY_SYMBOLS

    /

    //

    // Generated from the TEXTINCLUDE 2resource.

    //

    #ifndef __BORLANDC__

    #include "winres.h"

    #endif

     

    /

    #undef APSTUDIO_READONLY_SYMBOLS

     

    /

    // 英语(美国) resources

     

    #if !defined(AFX_RESOURCE_DLL) ||defined(AFX_TARG_ENU)

    LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US

     

    #ifdef APSTUDIO_INVOKED

    /

    //

    // TEXTINCLUDE

    //

     

    1 TEXTINCLUDE

    BEGIN

       "resource.h\0"

    END

     

    2 TEXTINCLUDE

    BEGIN

       "#ifndef __BORLANDC__\r\n"

       "#include ""winres.h""\r\n"

       "#endif\r\n"

       "\0"

    END

     

    3 TEXTINCLUDE

    BEGIN

       "\r\n"

       "\0"

    END

     

    #endif    // APSTUDIO_INVOKED

     

     

    /

    //

    // Menu

    //

     

    IDR_MYMENU MENU

    BEGIN

       POPUP "&File"

       BEGIN

            MENUITEM "E&xit",                       ID_FILE_EXIT

       END

       POPUP "&START"

       BEGIN

            MENUITEM"&START...",                  ID_START_START

       END

    END

     

     

    /

    //

    // Dialog

    //

     

    IDD_START DIALOGEX 0, 0, 339, 182

    STYLE DS_SETFONT | DS_MODALFRAME |WS_POPUP | WS_CAPTION | WS_SYSMENU

    CAPTION "My Calculator"

    FONT 8, "MS Sans Serif", 0,0, 0x1

    BEGIN

       PUSHBUTTON     "Cancel",IDCANCEL,261,135,63,28

       PUSHBUTTON     "1",IDC_BUTTON1,7,47,50,39

       PUSHBUTTON     "2",IDC_BUTTON2,7,84,50,39

       PUSHBUTTON     "3",IDC_BUTTON3,7,122,50,43

       PUSHBUTTON     "4",IDC_BUTTON4,57,48,50,37

       PUSHBUTTON     "5",IDC_BUTTON5,57,86,50,36

       PUSHBUTTON      "6",IDC_BUTTON6,58,123,50,42

       PUSHBUTTON     "7",IDC_BUTTON7,108,49,50,35

       PUSHBUTTON     "8",IDC_BUTTON8,108,85,50,37

       PUSHBUTTON     "9",IDC_BUTTON9,108,124,50,41

       PUSHBUTTON     "0",IDC_BUTTON10,159,49,50,35

       PUSHBUTTON     ".",IDC_BUTTON11,159,86,50,38

       PUSHBUTTON     "=",IDC_BUTTON12,159,124,50,41

       PUSHBUTTON     "+",IDC_BUTTON13,210,49,50,30

       PUSHBUTTON     "-",IDC_BUTTON14,210,79,50,28

       PUSHBUTTON     "*",IDC_BUTTON15,210,108,50,26

       PUSHBUTTON     "/",IDC_BUTTON16,209,135,50,29

       PUSHBUTTON     "(",IDC_BUTTON17,260,50,32,28

       PUSHBUTTON     ")",IDC_BUTTON18,293,51,32,27

       LISTBOX        IDC_LIST1,8,0,316,49,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL| WS_TABSTOP

       PUSHBUTTON     "%",IDC_BUTTON19,261,80,63,28

       PUSHBUTTON     "Clear",IDC_BUTTON20,262,108,62,27

    END

     

     

    /

    //

    // DESIGNINFO

    //

     

    #ifdef APSTU// Microsoft Visual C++generated resource script.

    //

    #include "resource.h"

     

    #define APSTUDIO_READONLY_SYMBOLS

    /

    //

    // Generated from the TEXTINCLUDE 2resource.

    //

    #ifndef __BORLANDC__

    #include "winres.h"

    #endif

     

    /

    #undef APSTUDIO_READONLY_SYMBOLS

     

    /

    // 英语(美国) resources

     

    #if !defined(AFX_RESOURCE_DLL) ||defined(AFX_TARG_ENU)

    LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US

     

    #ifdef APSTUDIO_INVOKED

    /

    //

    // TEXTINCLUDE

    //

     

    1 TEXTINCLUDE

    BEGIN

       "resource.h\0"

    END

     

    2 TEXTINCLUDE

    BEGIN

       "#ifndef __BORLANDC__\r\n"

       "#include ""winres.h""\r\n"

       "#endif\r\n"

       "\0"

    END

     

    3 TEXTINCLUDE

    BEGIN

       "\r\n"

       "\0"

    END

     

    #endif    // APSTUDIO_INVOKED

     

     

    /

    //

    // Menu

    //

     

    IDR_MYMENU MENU

    BEGIN

       POPUP "&File"

       BEGIN

            MENUITEM "E&xit",                       ID_FILE_EXIT

       END

       POPUP "&START"

       BEGIN

            MENUITEM"&START...",                  ID_START_START

       END

    END

     

     

    /

    //

    // Dialog

    //

     

    IDD_START DIALOGEX 0, 0, 339, 182

    STYLE DS_SETFONT | DS_MODALFRAME |WS_POPUP | WS_CAPTION | WS_SYSMENU

    CAPTION "My Calculator"

    FONT 10, "MS Sans Serif",0, 0, 0x0

    BEGIN

       PUSHBUTTON     "Cancel",IDCANCEL,261,135,63,28

       PUSHBUTTON     "1",IDC_BUTTON1,7,47,50,39

       PUSHBUTTON     "2",IDC_BUTTON2,7,84,50,39

       PUSHBUTTON     "3",IDC_BUTTON3,7,122,50,43

       PUSHBUTTON     "4",IDC_BUTTON4,57,48,50,37

       PUSHBUTTON     "5",IDC_BUTTON5,57,86,50,36

       PUSHBUTTON      "6",IDC_BUTTON6,58,123,50,42

       PUSHBUTTON     "7",IDC_BUTTON7,108,49,50,35

       PUSHBUTTON     "8",IDC_BUTTON8,108,85,50,37

       PUSHBUTTON     "9",IDC_BUTTON9,108,124,50,41

       PUSHBUTTON     "0",IDC_BUTTON10,159,49,50,35

       PUSHBUTTON     ".",IDC_BUTTON11,159,86,50,38

       PUSHBUTTON     "=",IDC_BUTTON12,159,124,50,41

       PUSHBUTTON     "+",IDC_BUTTON13,210,49,50,30

       PUSHBUTTON     "-",IDC_BUTTON14,210,79,50,28

       PUSHBUTTON     "*",IDC_BUTTON15,210,108,50,26

       PUSHBUTTON     "/",IDC_BUTTON16,209,135,50,29

       PUSHBUTTON     "(",IDC_BUTTON17,260,50,32,28

       PUSHBUTTON     ")",IDC_BUTTON18,293,51,32,27

        LISTBOX         IDC_LIST1, 8, 0, 316, 49,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP

       PUSHBUTTON     "%",IDC_BUTTON19,261,80,63,28

       PUSHBUTTON     "Clear",IDC_BUTTON20,262,108,62,27

    END

     

     

    /

    //

    // DESIGNINFO

    //

     

    #ifdef APSTUDIO_INVOKED

    GUIDELINES DESIGNINFO

    BEGIN

       IDD_ABOUT, DIALOG

       BEGIN

            LEFTMARGIN, 7

            RIGHTMARGIN, 332

            TOPMARGIN, 7

            BOTTOMMARGIN, 175

       END

    END

    #endif    // APSTUDIO_INVOKED

     

    #endif    // 英语(美国) resources

    /

     

     

     

    #ifndef APSTUDIO_INVOKED

    /

    //

    // Generated from the TEXTINCLUDE 3resource.

    //

     

     

    /

    #endif    // not APSTUDIO_INVOKED

     

    NVOKED

    GUIDELINES DESIGNINFO

    BEGIN

       IDD_START, DIALOG

       BEGIN

       END

    END

    #endif    // APSTUDIO_INVOKED

     

    #endif    // 英语(美国) resources

    /

     

     

     

    #ifndef APSTUDIO_INVOKED

    /

    //

    // Generated from the TEXTINCLUDE 3resource.

    //

     

     

    /

    #endif    // not APSTUDIO_INVOKED

    //保存在Resource.rc

     

    #include<iostream>

    #include<string>

    #include<cmath>

    #include<cstdlib>

    #include <sstream>

    #include"Calculator.h"

    using namespace std;

     

    void Calculator::Clear(){

        Nstack.MakeEmpty();

        Ostack.MakeEmpty();

    }

     

    voidCalculator::GetTwoNumDouble(double & Num1,double & Num2){

        Num1=Nstack.Pop();

        Num2=Nstack.Pop();

    }

     

    void Calculator::GetTwoNumInt(int&Num1,int &Num2){

        Num1=Nstack.Pop();

        Num2=Nstack.Pop();

    }

     

    void Calculator::Compute(char Opr){

        charOpr1=Opr;

        doubleNum1,Num2;

        intNum3,Num4;

        if(Opr!='='&&Opr!='%')GetTwoNumDouble(Num1,Num2);

        elseif(Opr!='=') GetTwoNumInt(Num3,Num4);

        switch(Opr){

        case'+':Nstack.Push(Num2+Num1);break;

        case'-':Nstack.Push(Num2-Num1);break;

        case'*':Nstack.Push(Num2*Num1);break;

        case'/':Nstack.Push(Num2/Num1);break;

        case'%':Nstack.Push(Num4%Num3);break;

        case'=':a=Nstack.Pop();break;

        }

    }

    void Calculator::Cal(string str){

        boolb1=true;

        boolb2=true;

        charch2,str2[50];

        stringstr1=str;

        intk,j=-1;

        Nstack.Push(0);

        if(str1[0]=='#'){

            for(k=1;k<=(int)str.length()-1;k++){

            if((str1[k]>='0'&&str1[k]<='9')||str1[k]=='.'){

                j++;

                str2[j]=str1[k];

            }

            else{

                    if(j>=0){

                        str2[j+1]='\0';

                        Nstack.Push(atof(str2));

                        j=-1;

                    }

                switch(str1[k]){

                    case'+':case'-':

                        while(!Ostack.IsEmpty()&&Ostack.GetTop()!='('){//*************注意

                            ch2=Ostack.Pop();

                            Compute(ch2);

                        }

                        Ostack.Push(str1[k]);

                        break;

                    case'*':case'/':case'%':

                        while(!Ostack.IsEmpty()&&b1&&Ostack.GetTop()!='('){

                            ch2=Ostack.Pop();

                            if(ch2=='*'||ch2=='/'||ch2=='%')

                                Compute(ch2);

                            else{

                                Ostack.Push(ch2);

                                b1=false;

                            }

                        }

                        Ostack.Push(str1[k]);

                        b1=true;

                        break;

                    case'=':

                        while(!Ostack.IsEmpty()){

                            ch2=Ostack.Pop();

                            Compute(ch2);

                        }

                        Compute(str1[k]);

                        break;

                    case'(':Ostack.Push(str1[k]);break;

                    case')':

                        charstr3=Ostack.GetTop();

                        while(str3!='('){

                            str3=Ostack.Pop();

                            Compute(str3);

                            str3=Ostack.GetTop();

                        }

                        Ostack.Pop();

                        break;

                }

                }

        }

        }

        elsecout<<"输入格式错误!"<<endl;

    }

    //保存在Calculator.cpp

     

    #include<iostream>

    #include<string>

    #include <sstream>

    #include"Calculator.h"

    using namespace std;

     

    #include <windows.h>

    #include "resource.h"

     

    char buf1[20];

     

    string DoubleToString(double d){

        stringstr;

        stringstreamss;

        ss<< d;

        ss>> str;

        returnstr;

    }

     

    //主函数,测试,下面是api

    const char g_szClassName[] ="myWindowClass";

     

    char buf[100];

    int i = 1;

     

    BOOL CALLBACK AboutDlgProc(HWND hwnd,UINT Message, WPARAM wParam, LPARAM lParam)

    {

        buf[0]='#';

        switch(Message)

        {

        caseWM_INITDIALOG:

            return TRUE;

        caseWM_COMMAND:

            switch (LOWORD(wParam))

            {

            case IDC_BUTTON1:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '1';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON2:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '2';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON3:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '3';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON4:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '4';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON5:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '5';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON6:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '6';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON7:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '7';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON8:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '8';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON9:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '9';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON10:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '0';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON11:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '.';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON12:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '=';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

                CalculatorCalcul;

               Calcul.Cal(buf);

                stringstr1 = DoubleToString(Calcul.a);

                for(inti=0;i<str1.size();i++){

                    buf1[i]=str1[i];

                }

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf1);

            }

                break;

            case IDC_BUTTON13:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '+';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON14:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '-';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON15:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '*';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON16:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '/';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON17:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '(';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON18:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= ')';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON19:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                buf[i]= '%';

                buf[++i]= '\0';

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)buf);

            }

                break;

            case IDC_BUTTON20:{

                SendDlgItemMessage(hwnd,IDC_LIST1, LB_RESETCONTENT, 0, 0);

                i=1;

                for(inti=1;buf[i]!='\0';i++){

                    buf[i]='\0';

                }

            }

                break;

            case IDCANCEL:

                EndDialog(hwnd,IDCANCEL);

                break;

            }

            break;

        default:

            return FALSE;

        }

        returnTRUE;

    }

     

    LRESULT CALLBACK WndProc(HWND hwnd,UINT Message, WPARAM wParam, LPARAM lParam){

        switch(Message){

        caseWM_COMMAND:

            switch (LOWORD(wParam)){

            case ID_FILE_EXIT:

                PostMessage(hwnd,WM_CLOSE, 0, 0);

                break;

            case ID_START_START:{

                intret = DialogBox(GetModuleHandle(NULL),

                    MAKEINTRESOURCE(IDD_START), hwnd,AboutDlgProc);

                if(ret == IDCANCEL){

                    MessageBox(hwnd, "Dialog exited withIDCANCEL.", "Notice",

                            MB_OK | MB_ICONINFORMATION);

                    }

                elseif (ret == -1){

                    MessageBox(hwnd, "Dialog failed!","Error",

                            MB_OK | MB_ICONINFORMATION);

                    }

            }

                break;

            }

            break;

        caseWM_CLOSE:

            DestroyWindow(hwnd);

            break;

        caseWM_DESTROY:

            PostQuitMessage(0);

            break;

        default:

            return DefWindowProc(hwnd, Message, wParam,lParam);

        }

        return0;

    }

     

     

    int WINAPI WinMain(HINSTANCEhInstance, HINSTANCE hPrevInstance,

        LPSTRlpCmdLine, int nCmdShow)

    {

        WNDCLASSEXwc;

        HWNDhwnd;

        MSGMsg;

     

        wc.cbSize= sizeof(WNDCLASSEX);

        wc.style= 0;

        wc.lpfnWndProc= WndProc;

        wc.cbClsExtra= 0;

        wc.cbWndExtra= 0;

        wc.hInstance= hInstance;

        wc.hIcon= LoadIcon(NULL, IDI_APPLICATION);

        wc.hCursor= LoadCursor(NULL, IDC_ARROW);

        wc.hbrBackground= (HBRUSH)(COLOR_WINDOW + 1);

        wc.lpszMenuName= MAKEINTRESOURCE(IDR_MYMENU);

        wc.lpszClassName= g_szClassName;

        wc.hIconSm= LoadIcon(NULL, IDI_APPLICATION);

     

        if(!RegisterClassEx(&wc))

        {

            MessageBox(NULL, "Window RegistrationFailed!", "Error!",

                MB_ICONEXCLAMATION| MB_OK);

            return 0;

        }

     

        hwnd= CreateWindowEx(

            WS_EX_CLIENTEDGE,

            g_szClassName,

            "My First API",

            WS_OVERLAPPEDWINDOW,

            CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,

            NULL, NULL, hInstance, NULL);

     

        if(hwnd == NULL)

        {

            MessageBox(NULL, "Window CreationFailed!", "Error!",

                MB_ICONEXCLAMATION| MB_OK);

            return 0;

        }

     

        ShowWindow(hwnd,nCmdShow);

        UpdateWindow(hwnd);

     

        while(GetMessage(&Msg, NULL, 0, 0) > 0)

        {

            TranslateMessage(&Msg);

            DispatchMessage(&Msg);

        }

        returnMsg.wParam;

    }

    //保存在Win.cpp



    展开全文
  • socket编程,基于UDP的简单可视化界面聊天程序,,局域网内可用,刚开始学socket编程的娃儿可以看一下,共勉。
  • 使用C++完成以栈为基础的简易计算器,并使用Qt5制作可视化界面 一.计算器内部逻辑构造: 在完成计算器时选用栈数据结构(自己编写的和标准模板库中的都可),要求支持加减乘除和逻辑与或非运算,可计算整数和小数。...
  • C++可视化库推荐

    千次阅读 2019-10-29 21:13:17
    推荐几个c++可视化的库。 1.MathGL MathGL是用于在Linux和Windows下制作高质量科学图形的库;一个用于快速绘制和处理大型数据数组的库;用于在窗口和控制台模式下工作并易于嵌入其他程序的库。MathGL可以绘制各种...
  • 如题。用MFC编写有可视化界面的程序,如何设计类?可以谈自己的体会,也可以贴给我相关资源,谢谢!
  • Dlib模型之驾驶员疲劳检测总结(可视化界面

    千次阅读 多人点赞 2019-12-26 18:47:12
    目录序目的技术背景正文(1)环境搭建(1.1)opencv3.4.1图像处理(1.2)dlib人脸识别库(1.3)wxFromBuilder可视化界面(2)检测原理(3)wxpython主要控件(3.1)选择(3.2)打开本地视频(3.3)opencv图转...
  • QT 可视化界面设计

    2020-08-22 12:18:31
    qt 界面设计使用布局,有布局层次(包括对象和类)和布局管理 1.有两个组件面板有layouts和spacers。 先拖放布局组件到窗体,在往布局组件里拖放其他控件。 或者是选择多个空间后,在选择设计工具栏的对应的按钮...
  • c++中的MFC可视化编程

    千次阅读 2020-06-14 05:47:20
    MFC可视化编程 MFC是用来编写Windows应用程序的VC++类集,该类集以层次结构组织起来,其中封装了大部分Windows API函数,它所包含的功能涉及到整个Windows操作系统。MFC类库是以层次结构的方式组织起来的,它的类...
  • 近期想要使用C++来进行数据可视化,实现和matlab的同样目标,查到了mathgl库。在b站有一位up给出了示例的完整操作。 参考:B站QT5数学三维函数绘图 下载mathgl https://sourceforge.net/projects/mathgl/files/ 在...
  • c++ 实现雷霆战机可视化小游戏

    千次阅读 2020-06-07 14:24:18
    c++和easyx实现简单的雷霆战机小游戏 之前在网上看了许多关于c++或者是其他语言实现雷霆战机的帖子,大多不完整,或者是要付费才能阅读,现将源码展示如下,仅作学习交流之用。 基本原理 基本思路 代码如下 注意...
  • 这是我以前在百度文库写的一篇文章,主要讲解在eclipse中安装windowbuder插件让java也能像c++那样进行可视化开发,废话不多说,直接开始 Window builder安装 进入这个网站http://www.eclipse.org/win...
  • 文章目录可视化的代码跟踪调试1、安装Visual Studio Code2、用vscode编译调试C\C++总结 可视化的代码跟踪调试 ubantu18.04的环境下,在命令行工具gdb调试基础上,利用可视化调试前端软件Visual Studio Code,(后端...
  • Visual C++可视化集成开发环境

    千次阅读 2007-10-07 21:38:00
    Visual C++可视化集成开发环境 Developer Studio 由于Developer Studio是一个可视化的开发工具,在介绍Developer Studio的各个组成部分之前,首先了解一下可视化编程的概念。可视化技术是当前发展迅速并引人注目的...
  • VIM编写c++可视化窗口

    千次阅读 2009-05-15 09:31:00
     然后,回宿舍用vim写c++可视化窗口时,遇见了几个让我心烦意乱的bug。 打开前晚在CB(code::blocks)里的GTK工程,里面的4个文件都是CB自动生成的。因为在我安装GTK对应的库后都运行成功了(http://blog.csd
  • C++基础学习之13 - 可视化设计

    千次阅读 2017-01-12 22:45:02
    讲到C++可视化设计,一般都会想到 类图、流程图、交互图、部署图等,没错,UML设计是C++代码设计之前的必选项(当然对于产品经理们更关注UI,他们更愿意使用Axure),但是这些不是我们所关心的,本节我们要谈的是...
  • MUILIB界面开发库是一个使用C++开发的面向Windows平台的...更好的方便用户使用MUILIB进行快捷的界面设计开发,MUILIB推出了所见即所得的可视化界面设计编辑器,使得设计应用 程序的界面工作就像可视化设计网页一样简单
  • 当采用Qt编写一个较为简单的数据可视化界面时,按照Qt的demo其实也不是很难,但是如果编写一个相当完美的数据可视化界面,难度就一下子加大了。我进行数据可视化界面编写时,在Qt的平台上使用plotLab中的CTSLScope类...
  • 在使用Visual Studio 2019开发工具开发MFC工程项目时,如果把可视化界面窗口编辑界面关闭后如何打开? 1、项目关闭后重新打开时的界面,没有可视化窗口界面显示。 2、在右侧的解决方案资源管理器中,选择资源文件...
  • 使用C++编写一个可视化窗口

    千次阅读 多人点赞 2021-02-17 04:01:49
    初学C++时,控制台会给我们提供一个黑窗口,而这篇文章所的就是:创建一个属于图形界面窗口,而不是使用控制台黑窗口 如图,这是一个标题为XSZY的窗口 看完这篇文章,你想要的窗口大小,图标等都可以自己定义 甚至...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,211
精华内容 12,884
关键字:

c++做可视化界面

c++ 订阅