ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:48.65KB ,
资源ID:1421069      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1421069.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VC++入门教程.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

VC++入门教程.docx

1、VC+入门教程VC+入门教程(windows入门程序详解)想做个VC入门教程,呵呵不敢称做教程.不过先借来用用吧. (;C_EL&u 很多内容都是自己学习时积累下来的资料整理.把它们凑起来,供大家学习.其实也是督促我自己.好了 &!_KJr_Q 大家有什么意见可以在这里提哦. _# wQ .上面说的已经很详细了.想学好VC.了解他的内幕是至关重要的.废话少说,大家看下面的内容.初学者可能不容易看懂,有问题在下面跟贴. sfa_ T_q_ - 不是我写的. y#Y_CcK L_,._(9 F2 oj2 第一讲:预备知识与概念介绍 3l_5q?$ 注:我写这个专题目的是为VC初学者提供一个思路,我

2、本人很菜,但我认为对于VC初学者来讲,可能有点帮助,当然,对于WinSDK编程,我也是刚刚接触。如果你对WinSDK编程较熟,请与我联系,咱们共同来把这个专题做好,如果你发现了什么错误,也麻烦你给我留言指正。我写的内容也基本上是我自己的一些理解,错误是肯定有的,如果你发现我的理解偏差很大的话,麻烦你提醒一下。-小朱! cg0L(o_I_ x_I9J_4Q_ 什么是WinSDK: +AzW7 _n3xiQ_ 大致说来windows编程有两种方法: 1.windwos c方式(SDK), 2.c+方式:即对SDK函数进行包装,如VC的MFC,BCB的OWL等,如果要深入 下去,还是要熟悉SDK。

3、_d_Ras_9g 0y2iS_ t 两种方法有哪些区别呢:SDK编程就是直接调用windows的API进行编程,但是有上千个API组成(win95的API有两千多个),这种数目太大了,对于编程显然不利。而MFC把这些API封闭起来,共有一百多个类组成。一般只需20多个windows类和另外20多个通用的非windows类就可干活了,这一改变无疑是有很大好处的。尽管MFC如此方便,但是要学VC,直接去学MFC却是不明智的选择。只有在熟悉了MFC的运行机制的情况下,才有可能深入下去。那些如多少天精通什么什么的书籍其实讲的全是些如怎么使用VC这种工具的话题,学来学去学会了怎么会使用VC这种工具,而

4、不能深入MFC编程。象VB这类工具就更令人感觉到太闷了,不过各有各的好处。 DVQbe#In f_(tu)| _Jr 9j3J 3.VC的在线帮助MSDN,有关SDK的资料在Platform SDK一栏中。 tbl(up/a ?_b# 下面再加深几点概念: _QTtc_GU PHZA?_Q7Z 什么是API: _vYrqZie%_|_75K 什么是WinSDK编程: _ z:Q LIirOfe;! WinSDK程序设计就是API方式的windows程序设计。SDK,全称Software Developers Kit,意思是软件开发工具箱。它是在windows程序设计早期,程序员进行window

5、s程序设计所必须购买的一个软件包(不知道那时候有没有D版的)。我两个月前见SDK还不知所云。开始进行WinSDK编程用C语言最好,可以撇开C+的特性专心熟悉一下Win32编程的思路以及了解windows的消息运行机制。等把这些有所了解后,慢慢转向C+和MFC编程。不过我的观点是WinSDK编程永远要慢慢进行下去,直接接触底层代码对MFC源码的理解是有很大好处的。上周开始用MFC时,按F11进行单步跟踪,一开始见到_tWinMain这样古怪的东东也没有感觉到太大的迷惑,不就是相当于SDK编程中的WinMain函数吗? 4oY F_:h R_c_o#_?_ 什么是MFC: Qc Ia%_lf_ _

6、y_+i. 8 MFC,全称Microsoft Foundation Classes,伪软把WinAPI进行封装的类库。它是一个类的集合,通过覆盖WinAPI,为编程提供了一个面向对象的界面。它使windows程序员能够利用C+面象对象的特性进行编程,类似BCB的OWL,Delphi的VCL组件。它把那些进行SDK编程时最繁琐的部分提供给程序员,使之专注于功能的实现。你不妨把它想象成类似TC提供的函数库吧。用Visual C+这种开发工具编程时,可以用MFC,也可以不用,但MFC是VC的精华所在,从某种意义上来说,不会MFC就是不会使用VC。研究MFC源代码是件既快乐又痛苦的事情,不过,阵痛之

7、后,嘻嘻,. 28gAz._# z_.o? F_ 怎么进行WinSDK编程: j_a#EwC4 =K- B _I Visual C+6.0:File-new-Projects-Win32 Application(project name)-. K_ _p _x_ gle_esK 我们既然用C语言进行,就选第一项An empty project. K8e_cSsJ cAC_%orx .好累,这篇就写这么多吧,但愿对你有帮助,也建议多给我提意见,你的反馈是我最大的动力渊源. Gp6|M2Vu_5 讲的不错吧,还是比较好懂的.下面接着看. 要自己动手. &C_V%_+ _F%UyF_Uz_ R0B|

8、 O0Uv 第二讲:WinMain与两只小板凳的故事 U_pF,e_s 注:呵呵,近两天收到不少网友来信,要求我继续写下去,说实在的,写这东西费时费力。不过一旦想起这些对大家或许有些帮助时,无形的压力就来了。我所写的,仅仅是我编程中的感想,如果你有何感想,希望给我留言或到C程序员论剑台交流,如果你有好的建议,欢迎提出;如果你有好的对VC初学者有利的作品或文章,也欢迎给本站介绍,我将大力为你推广。-小朱 C+h163_ _ W.KV7_ 第一只小板凳: _=_6_y4*f _tc 4DS 打开an empty project后,在VC的IDE中,打开文本编辑器。输入以下内容: Y;_O_ o 5

9、%x3e_7u i nclude windows.h *e&O_p_Vn I kvp 7 int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) _.bE+dA6:v 2Dgulx5kGZ !ba / A_/ Xxh zzm-B MessageBox (NULL, TEXT (你好,欢迎来到VC之路), TEXT (欢迎), 0) ; bNN_= id_ _p_z:, _nW#U_BtZ 看到了吧,这就我们的第一只小板凳。它就类似于TC下的hello worl

10、d吧!虽然什么功能也没实现,但它比hello world强多了,因为它向我们展示了一个小窗口。 o,4_N|_ 0$_Rl7_8( 支解第一只小板凳: ;n1! HNWM/ff7+ 像TC一样,它包含一个头文件windows.h,这是一个最基本的头文件,它包含其它的windows头文件.在你的X:Program FilesMicrosoft Visual StudioVC98Include目录下,打开windows.h这个文件,你就知道它包含什么东东了。 I2_F2(8K B q/_kEgM 像dos下的C编程的main()一样,windows下的入口是WinMain()函数。 aLa_zB

11、_hd_W_._ 把光标放在WinMain()上,按F1键。启动MSDN,如果你没安装的话,一定要安装一下,MSDN是最好的学习VC的资料,当然,对于我们入门者,有一本书从头到尾学一下最好。 /_=W3l_hY y8/EyY|_ 第一个参数:应用程序的当前实例句柄。 _4_K? V_+_04_X_ 第二个参数:应用程序的前一个实例句柄,别管它,对于Win32位而言,它一般是NULL. _p _jt :_Ub_ 6 第三个参数:指向任何传给程序的命令行参数。PSTR代表指向字符串的指针。 _&:_MkDH5 ._lbov2W 第四个参数:它告诉应用程序如何初始化窗口,如最大化,最小化等状态。 .

12、_eZsK_c- qukym3F_ WinMain()所起的作用:初始化,展示,销毁应用程序等。 _)7_2_FLG #Cy9_ElP MessageBox(),如果大家在windows下编程,这是一个很常用的API,不用我费话了吧! Ej;BI#g_x= L_N!e_b 几个要点: ; fOk_R+_ l_P_B_WpHX 1.句柄(handle):在标准C库中句柄用来对文件输入输出。如下面的代码: _=PQ_Md_ _cT&!_g#g int handle; )_0_8_! 1_Uy_TEk handle=open(filename,r) |2_gZK)_ KFuP g_p if(hand

13、le) WR4l/ _Z !815 HB_0DGc- _RF|_r_/S close(handle); &W_*do #*3gMI= 在文件被成功打开后,open()返回一个句柄,在read()中使用这个句柄来阅读这个文件。句柄不是指针。程序不能直接使用句柄来阅读文件中的信息。如果不能把它传送给输入输出函数调用的话,句柄就没有用了。句柄不返回零。句柄命名以h开始。这是匈牙利表示法的规定。 ;_4_s79o v_1_a_E_Q 2.匈牙利表示法: G_5_T_( =c3_4MY(#X 初开始看到这个程序时,你一定感觉到很怪,我当时就是这样的。不知道那些字母怎么回事。因为所有的命名采用了,匈牙利表

14、示法。如消息的前缀使用msg.句柄使用h.函数使用fn等。多说了,习惯了就好了. =Z _L?j _DPM4v7 S 3.有效使用MSDN: Re_j_s zS_/1_v+_ 想成为VC高手,还要强迫自己习惯于使用MSDN,看得多了,不怕看不懂,如果仅仅知道功能不知道具体的函数,可用类似的英语单词去搜索。我平时就用金山词霸一点点的啃。唉,说起来惭愧,本人英语四级没过,这学期连报考都没有。以后努力了,总感觉到大学的教育很有问题,好像每个人都在为四六级而奔忙。 D6vhW:t_8? new-progects-win32 application,并在project name 中输入hello.顺路走

15、下来,选择第二项。在编辑器中输入以下程序覆盖向导产生的代码: yP*oRV%uX t+IrQf_,P i nclude stdafx.h /注意,这个向导产生的头文件不能去掉 =/_GB T$ Y_t_FHM i nclude rv_RIKc|l R&_N _Fin 5 _F4_.sa LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; N/8_0Gf 3dBDuQ_ zc B; : int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, Gi Ma_x_ #

16、 |yWw_ PSTR szCmdLine, int iCmdShow) ds:&7LT I7?_s+vyds ?V$2vBVX4 a+;&j_! static TCHAR szAppName = TEXT (HelloWin) ; _tr_$d? C_g&_:_+ HWND hwnd ; Z1sRLk_R _8c_5P MSG msg ; _#b_C_zWg Pw/$ Q9_X WNDCLASS wc ; U_G_ *0 _9B2_FJ by* _v(_$ wc.style = CS_HREDRAW | CS_VREDRAW ; d_;E _(l !y7wU_V_s wc.lpfnWndPr

17、oc = WndProc ; Hg2-_ Nl 7&*d_#&j wc.cbClsExtra = 0 ; c2U_p#t L; C5_#GN wc.cbWndExtra = 0 ; _28_=L9q _ _*)(_4E wc.hInstance = hInstance ; !1o+#1j y; M?e wc.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; _Su/OSR a_xL_O: Q, wc.hCursor = LoadCursor (NULL, IDC_ARROW) ; 96_Hs3|.! u,_)_,kj6u=g, GM8MD&_ if (!Re

18、gisterClass (&wc) _|q*s_)8 DsHI %w _1_r;_ I_l,/qvIY MessageBox (NULL, TEXT (This program requires Windows NT!), x b1(f_&l szAppName, MB_ICONERROR) ; uS_ _i/_| %l8nTcL_? return 0 ; p$AqxbXLV q$_=EUBC TEXT (欢迎你的到来!), / window caption ;qF#!_Kb5_ fjAJ_ys)Q_ WS_OVERLAPPEDWINDOW, / window style ToHCS/J59

19、a_+CHrnU; CW_USEDEFAULT, / initial x position cPB:kD_ _DxU r )E CW_USEDEFAULT, / initial y position bTn7$_EG_ LyB$wZx CW_USEDEFAULT, / initial x size ._Fn_O_ 6 1Nj&1Ze CW_USEDEFAULT, / initial y size J(_Z_ _r_p;Nj._ NULL, / parent window handle n_zTzc5_ w j:_0VtJo NULL, / window menu handle F_Gp _K

20、x,jsMl_w hInstance, / program instance handle vCcg_a 3R?7&oXvH_ NULL) ; / creation parameters :YB:)wV,P n_x4t_w_Z _a_T F_ ShowWindow (hwnd, iCmdShow) ; GljxYH_# _uG3t%Cm_N UpdateWindow (hwnd) ; _v_I | W _ Nm3bd 6!l!8_ v while (GetMessage (&msg, NULL, 0, 0) c.4_I4uy XN kNJ_X &1DNpUZ Hwz_ k TranslateM

21、essage (&msg) ; _8 :-wl/ m(Uv8/_6 DispatchMessage (&msg) ; Tb e(_r_ fT/;TKz NXDd Uw7B N_(_6pG= return msg.wParam ; P_by _ _d r3/_H_Z S_!2M?LU ,K6s3O(LW L_=VJl_DL %g _Jf_&A LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) $dgY#ST_%_ gx#xB_ 8n gE0k|Z(RF #S+_E7uTs HDC hd

22、c ; .4Jea#M &x J p!_Q2 PAINTSTRUCT ps ; BEx? bf| /_d&zE_|_! RECT rect ; * h!gjb_i p2GkI/6)uu r;g$ GetClientRect (hwnd, &rect) ; m-_Q!V+XQp kU_+_MA; _D!Pv_wm DrawText (hdc, TEXT (你好,欢迎你来到VC之路!), -1, &rect, &*u_Jt b_nHQvCO3$ DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; ySAkj-h_S_&B return 0 ; Km_S$CFsGL ;e Iqx_e zntvKOIh case WM_DESTROY: _WV_5z_ vdp_BEK B _*v?W $ljzw_k return DefWi

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2