zoukankan      html  css  js  c++  java
  • windows程序设计再认识

    2020.02.03

    昨天和前天,基本完成了对windows程序设计的基础认识,并且也写了一些在windows程序设计里面十分简单的代码。今天……继续学习!!!

    上一篇文章里面,直接用API函数进行windows程序设计,我简直成为了抄代码的机器,一言难尽。
    所以为了化简windows程序设计,方便你我他。就出现了用面向对象程序设计的方式,把API函数包装成了几百个类。
    把零散的函数包装为类,显而易见,不论代码行数有不有减少,至少在我们学习上更加的有条理性。
    接下来主要就学习两个最重要的类:CWInAPPCFrameWnd
    还是一段代码

    
    #include <afxwin.h>
    class CMyApp :public CWinApp
    {
    public:
    	virtual BOOL InitInstance();
    };
    class CMainWindow :public CFrameWnd
    {
    public:
    	CMainWindow();
    protected:
    	afx_msg void OnPaint();
    	DECLARE_MESSAGE_MAP()//声明消息映射
    };
    
    CMyApp app;
    BOOL CMyApp::InitInstance()
    {
    	this->m_pMainWnd = new CMainWindow;
    	this->m_pMainWnd->ShowWindow(this->m_nCmdShow);
    	this->m_pMainWnd->UpdateWindow();
    	
    	//system("pause");
    	return 0;
    }
    BEGIN_MESSAGE_MAP(CMainWindow, CFrameWnd)//开始消息映射
    	ON_WM_PAINT()
    END_MESSAGE_MAP()
    CMainWindow::CMainWindow()
    {
    	this->Create(NULL, TEXT("Hello,WIndows!"), WS_OVERLAPPEDWINDOW | WS_VSCROLL, CRect(100, 100, 380, 300));
    
    }
    void CMainWindow::OnPaint()//处理绘制消息
    {
    	CPaintDC dc(this);//DC对象
    	CRect rect;
    	this->GetClientRect(&rect);
    	dc.DrawText(TEXT("Hello Windows!"), -1, &rect, DT_SINGLELINE |                     DT_CENTER | BS_VCENTER);
    
    }
    

    运行的结果

    因为自己看的教程有一些年纪了,所以当自己写了和老师基本一样的代码运行后,发现了我的窗口竟然闪退!找资料的结果是自己还是没有解决。于是乎,容我后面来解决吧……

    接下来,我在讲一讲自己这几天从老师哪里学到的关于windows编程的一些理论知识!

    首先,我们要知道的是学习windows编程,是因为我们绝大多数人用的系统是微软的。那么Windows编程就是微软里面的一群人编写的,一套基于C语言的,函数总成。也就是著名的API函数。说实话,这些函数背起来真的有一些困难。故而后面又用面向对象的设计思想吧API函数包装成了几百个类。
    在者,windows设计里面,窗口是一切的基础。我们看到的一切都是窗口。
    最后,就是我们消息处理机制,如下图:

  • 相关阅读:
    条件随机场(Conditional random field)
    隐马尔科夫模型(hidden Markov Model)
    什么是EM算法?
    非线性支持向量机基础——核函数之我见
    支持向量机(support vector machine)
    决策树之CART算法
    决策树到底是什么?
    pytorch下对简单的数据进行分类(classification)
    git status 命令
    spring中事务的实现方式和失效场景
  • 原文地址:https://www.cnblogs.com/kadcyh/p/12255803.html
Copyright © 2011-2022 走看看