VC++学习笔记(1)

今天开始学习VC++,照着书上写了几个Win32的程序。

None.gif1,#include<windows.h>
None.gif
None.gif
None.gifLRESULTCALLBACKWndProc(HWNDhwnd,UINTiMsg,WPARAMwParam,LPARAMlParam)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gifHDChdc;
//设备环境句柄
InBlock.gif
PAINTSTRUCTps;
InBlock.gif
InBlock.gifRECTrect;
InBlock.gifPOINTpoint;
InBlock.gif
InBlock.gif
switch(iMsg)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif
caseWM_PAINT:
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gifhdc
=BeginPaint(hwnd,&ps);
InBlock.gifGetClientRect(hwnd,
&rect);
InBlock.gifDrawText(hdc,
"Hello,VC6.0!",-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
InBlock.gifEndPaint(hwnd,
&ps);
InBlock.gif
return0;
ExpandedSubBlockEnd.gif}

InBlock.gif
caseWM_LBUTTONDOWN:
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gifhdc
=GetDC(hwnd);
InBlock.gifpoint.x
=LOWORD(lParam);
InBlock.gifpoint.y
=HIWORD(lParam);
InBlock.gifEllipse(hdc,point.x
-50,point.y-50,point.x+50,point.y+50);
InBlock.gifReleaseDC(hwnd,hdc);
InBlock.gif
return0;
ExpandedSubBlockEnd.gif}

InBlock.gif
caseWM_DESTROY:
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gifPostQuitMessage(
0);
InBlock.gif
return0;
ExpandedSubBlockEnd.gif}

ExpandedSubBlockEnd.gif}

InBlock.gif
returnDefWindowProc(hwnd,iMsg,wParam,lParam);
InBlock.gif
ExpandedBlockEnd.gif}

None.gif
None.gif
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnShowCmd)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif
staticcharszAppName[]="HelloWin32";//应用程序名
InBlock.gif
HWNDhwnd;//窗口句柄
InBlock.gif
MSGmsg;//消息
InBlock.gif
WNDCLASSEXwndclass;//窗口类
InBlock.gif
wndclass.cbSize=sizeof(wndclass);//窗口类结构的大小
InBlock.gif
wndclass.style=CS_HREDRAW|CS_VREDRAW;//类风格:水平和垂直方向重画
InBlock.gif
wndclass.lpfnWndProc=WndProc;//窗口过程
InBlock.gif
wndclass.cbClsExtra=0;
InBlock.gifwndclass.cbWndExtra
=0;
InBlock.gifwndclass.hInstance
=hInstance;
InBlock.gifwndclass.hIcon
=LoadIcon(NULL,IDI_APPLICATION);
InBlock.gifwndclass.hCursor
=LoadCursor(NULL,IDC_ARROW);
InBlock.gifwndclass.hbrBackground
=(HBRUSH)GetStockObject(WHITE_BRUSH);
InBlock.gifwndclass.lpszClassName
=szAppName;
InBlock.gifwndclass.lpszMenuName
=NULL;
InBlock.gifwndclass.hIconSm
=LoadIcon(NULL,IDI_APPLICATION);
InBlock.gif
InBlock.gifRegisterClassEx(
&wndclass);
InBlock.gif
InBlock.gifhwnd
=CreateWindow(szAppName,
InBlock.gif
"TheHelloApp",
InBlock.gifWS_OVERLAPPEDWINDOW,
InBlock.gifCW_USEDEFAULT,
InBlock.gifCW_USEDEFAULT,
InBlock.gifCW_USEDEFAULT,
InBlock.gifCW_USEDEFAULT,
InBlock.gifNULL,
InBlock.gifNULL,
InBlock.gifhInstance,
InBlock.gifNULL);
InBlock.gifShowWindow(hwnd,nShowCmd);
InBlock.gifUpdateWindow(hwnd);
InBlock.gif
InBlock.gif
while(GetMessage(&msg,NULL,0,0))
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gifTranslateMessage(
&msg);
InBlock.gifDispatchMessage(
&msg);
ExpandedSubBlockEnd.gif}

InBlock.gif
InBlock.gif
returnmsg.wParam;
ExpandedBlockEnd.gif}


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

None.gif2//t1.h
None.gif
classCMyApp:publicCWinApp
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif
public:
InBlock.gif
virtualBOOLInitInstance();
ExpandedBlockEnd.gif}
;
None.gif
None.gif
classCMainWindow:publicCFrameWnd
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif
public:
InBlock.gifCMainWindow();
InBlock.gif
protected:
InBlock.gifafx_msg
voidOnPaint();
InBlock.gifafx_msg
voidOnLButtonDown(UINTnFlags,CPointpoint);
InBlock.gifDECLARE_MESSAGE_MAP()
ExpandedBlockEnd.gif}
;
None.gif
None.gif
//t1.cpp
None.gif
#include<afxwin.h>
None.gif#include
"t1.h"
None.gif
None.gifCMyAppmyApp;
None.gif
None.gifBOOLCMyApp::InitInstance()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif
this->m_pMainWnd=newCMainWindow;
InBlock.gif
this->m_pMainWnd->ShowWindow(this->m_nCmdShow);
InBlock.gif
this->m_pMainWnd->UpdateWindow();
InBlock.gif
returnTRUE;
ExpandedBlockEnd.gif}

None.gif
None.gifBEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
None.gifON_WM_PAINT()
None.gifON_WM_LBUTTONDOWN()
None.gifEND_MESSAGE_MAP()
None.gif
None.gifCMainWindow::CMainWindow()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gifCreate(NULL,_T(
"TheMFCApplication"));
ExpandedBlockEnd.gif}

None.gif
None.gif
voidCMainWindow::OnPaint()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gifCPaintDCdc(
this);
InBlock.gifCRectrect;
InBlock.gifGetClientRect(
&rect);
InBlock.gifdc.DrawText(
"WeclometoVC!!",-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
InBlock.gif
ExpandedBlockEnd.gif}

None.gif
None.gif
voidCMainWindow::OnLButtonDown(UINTnFlags,CPointpoint)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gifCClientDCdc(
this);
InBlock.gifCRectrect(point.x
-50,point.y-50,point.x+50,point.y+50);
InBlock.gifdc.Ellipse(rect);
ExpandedBlockEnd.gif}
根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值