亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? apb.htm

?? 21天學會VC的英文版
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD>	<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1"><SCRIPT LANGUAGE="JavaScript"><!--function popUp(pPage) { var fullURL = document.location; var textURL = fullURL.toString(); var URLlen = textURL.length; var lenMinusPage = textURL.lastIndexOf("/"); lenMinusPage += 1; var fullPath = textURL.substring(0,lenMinusPage); popUpWin = window.open('','popWin','resizable=yes,scrollbars=no,width=525,height=394'); figDoc= popUpWin.document; zhtm= '<HTML><HEAD><TITLE>' + pPage + '</TITLE>'; zhtm += '</head>'; zhtm += '<BODY bgcolor="#FFFFFF">'; zhtm += '<IMG SRC="' + fullPath + pPage + '">'; zhtm += '<P><B>' + pPage + '</B>'; zhtm += '</BODY></HTML>'; window.popUpWin.document.write(zhtm); window.popUpWin.document.close(); // Johnny Jackson 4/28/98 }//-->                                                                </SCRIPT><link rel="stylesheet" href="/includes/stylesheets/ebooks.css">	<META NAME="GENERATOR" Content="Symantec Visual Page Mac 1.1.1">	<TITLE>Teach Yourself Visual C++ 6 in 21 Days -- Appendix B -- Answers</TITLE></HEAD><BODY TEXT="#000000" BGCOLOR="#FFFFFF"><H1 ALIGN="CENTER"><IMG SRC="../button/sams.gif" WIDTH="171" HEIGHT="66" ALIGN="BOTTOM"BORDER="0"><BR>Teach Yourself Visual C++ 6 in 21 Days</H1><CENTER><P><A HREF="../apa/apa.htm"><IMG SRC="../button/previous.gif" WIDTH="128" HEIGHT="28"ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="../apc/apc.htm"><IMGSRC="../button/next.gif" WIDTH="128" HEIGHT="28" ALIGN="BOTTOM" ALT="Next chapter"BORDER="0"></A><A HREF="../index.htm"><IMG SRC="../button/contents.gif" WIDTH="128"HEIGHT="28" ALIGN="BOTTOM" ALT="Contents" BORDER="0"></A> <HR></CENTER><H1 ALIGN="CENTER">- B -<BR>Answers</H1><UL>	<LI><A HREF="#Heading1">Day 1</A>	<LI><A HREF="#Heading4">Day 2</A>	<LI><A HREF="#Heading7">Day 3</A>	<LI><A HREF="#Heading10">Day 4</A>	<LI><A HREF="#Heading12">Exercise</A>	<LI><A HREF="#Heading13">Day 5</A>	<LI><A HREF="#Heading16">Day 6</A>	<LI><A HREF="#Heading19">Day 7</A>	<LI><A HREF="#Heading22">Day 8</A>	<LI><A HREF="#Heading25">Day 9</A>	<LI><A HREF="#Heading28">Day 10</A>	<LI><A HREF="#Heading31">Day 11</A>	<LI><A HREF="#Heading34">Day 12</A>	<LI><A HREF="#Heading37">Day 13</A>	<LI><A HREF="#Heading40">Day 14</A>	<LI><A HREF="#Heading43">Day 15</A>	<LI><A HREF="#Heading46">Day 16</A>	<LI><A HREF="#Heading49">Day 17</A>	<LI><A HREF="#Heading52">Day 18</A>	<LI><A HREF="#Heading55">Day 19</A>	<LI><A HREF="#Heading58">Day 20</A>	<LI><A HREF="#Heading61">Day 21</A></UL><P><HR SIZE="4"><BR>This appendix provides the answers to the quiz questions and exercises at the endof each chapter.</P><P><H2><A NAME="Heading1"></A>Day 1</H2><H2>Quiz</H2><DL>	<DT></DT>	<DD><B>1. </B>How do you change the caption on a button?	<P>	<DT></DT>	<DD>In the window layout editor, select the button to be changed. Right-click the	mouse and select Properties from the pop-up menu. Change the value in the Caption	field.	<P>	<DT></DT>	<DD><B>2. </B>What can you do with the Visual C++ AppWizard?	<P>	<DT></DT>	<DD>You can use it to build a shell for your application, based on the type of application	and the functionality needs of the application. The shell will have support for the	desired functionality already built in.	<P>	<DT></DT>	<DD><B>3. </B>How do you attach functionality to the click of a button?	<P>	<DT></DT>	<DD>By using the Class Wizard, you can create a function and attach it to an object	for handling a specific Windows message. The Class Wizard creates the function and	can take you right to the spot in the function's code where you need to begin adding	your own code.	<P></DL><H3>Exercise</H3><P>Add a second button to the About window in your application. Have the button displaya different message from the one on the first window.</P><DL>	<DT></DT>	<DD><B>1. </B>In the workspace pane, select the Resource View tab.	<P>	<DT></DT>	<DD><B>2. </B>Expand the dialog tree branch and double-click the IDD_ABOUTBOX dialog,	bringing it into the Developer Studio editor.	<P>	<DT></DT>	<DD><B>3. </B>Click the button control on the toolbar.	<P>	<DT></DT>	<DD><B>4. </B>Click and drag the mouse on the window where you want the button to	be placed.	<P>	<DT></DT>	<DD><B>5. </B>Open the properties dialog for the new button, changing the ID and	caption to describe the message to be displayed by the button. Close the properties	dialog.	<P>	<DT></DT>	<DD><B>6. </B>Open the Class Wizard and add a new function for the clicked message	for your new button.	<P>	<DT></DT>	<DD><B>7. </B>Click the Edit Code button in the Class Wizard to take you to the spot	in your code where your new function is.	<P>	<DT></DT>	<DD><B>8. </B>Add the MessageBox function to display a message to the user.	<P>	<DT></DT>	<DD><B>9. </B>Compile and run your application to test your new button.	<P></DL><H2><A NAME="Heading4"></A>Day 2</H2><H3>Quiz</H3><DL>	<DT></DT>	<DD><B>1. </B>Why do you need to specify the tab order of the controls on your application	windows?	<P>	<DT></DT>	<DD>By specifying the tab order of the controls on your application windows, you	can control the order in which the user navigates the application window. If the	user is using the keyboard to navigate around the application window, then the two	primary means of navigating between controls are the tab key and mnemonics that jump	directly to specific controls. The tab order helps provide the user with a consistent	and predictable experience when using your application.	<P>	<DT></DT>	<DD><B>2. </B>How can you include a mnemonic in a static text field that will take	the user to the edit box or combo box beside the text control?	<P>	<DT></DT>	<DD>If you place a mnemonic in a static text control and then make sure that the	static text control is just before the edit control associated with the static text,	the user can select the mnemonic in the static text control to jump directly to the	edit box control.	<P>	<DT></DT>	<DD><B>3. </B>Why do you need to give unique object IDs to the static text fields	in front of the edit box and combo boxes?	<P>	<DT></DT>	<DD>The unique object IDs on the two static text controls were necessary because	you need to manipulate those two controls with the check boxes that enable or disable	and show or hide sets of controls.	<P>	<DT></DT>	<DD><B>4. </B>Why do you need to call the UpdateData function before checking the	value of one of the controls?	<P>	<DT></DT>	<DD>If the user has changed the value of the control on the screen, the UpdateData	function must be called, passing it TRUE as the function argument, to copy the values	from the controls on the window to the variables that are associated with those controls.	If UpdateData is not called, then the values of the variables may not correctly reflect	what the user has changed on the screen.	<P></DL><H3>Exercises</H3><DL>	<DT></DT>	<DD><B>1. </B>Add code to the Default Message button to reset the edit box to say	Enter a message here.	<P>	<DT></DT>	<DD>Using the Class Wizard, add a function to the Default Message button's clicked	event. In this function, add the code in Listing B.1.	<P></DL><H4>LISTING B.1. DAY2DLG.CPP--THE CODE TO PLACE A DEFAULT MESSAGE IN THE EDIT BOX.</H4><PRE> 1: void CDay2Dlg::OnDfltmsg() 2: { 3:     // TODO: Add your control notification handler code here 4:  5:     /////////////////////// 6:     // MY CODE STARTS HERE 7:     /////////////////////// 8:  9:     // Set the message to a default message10:     m_strMessage = &quot;Enter a message here&quot;;11: 12:     // Update the screen13:     UpdateData(FALSE);14: 15:     ///////////////////////16:     // MY CODE ENDS HERE17:     ///////////////////////</PRE><PRE>18: }</PRE><DL>	<DT></DT>	<DD><B>2. </B>Add code to enable or disable and show or hide the controls used to	select and run another application.	<P>	<DT></DT>	<DD>Add functions to the Enable and Show Program Action check boxes. In these functions,	add the code in Listing B.2.	<P></DL><H4>LISTING B.2. DAY2DLG.CPP--THE CODE TO ENABLE OR DISABLE AND SHOW OR HIDE THERUN PROGRAM CONTROLS.</H4><PRE> 1: void CDay2Dlg::OnCkenblpgm() 2: { 3:     // TODO: Add your control notification handler code here 4:  5:     /////////////////////// 6:     // MY CODE STARTS HERE 7:     /////////////////////// 8:  9:     // Get the current values from the screen10:     UpdateData(TRUE);11: 12:     // Is the Enable Program Action check box checked?13:     if (m_bEnablePgm == TRUE)14:     {15:         // Yes, so enable all controls that have anything16:         // to do with running a program17:         GetDlgItem(IDC_PROGTORUN)-&gt;EnableWindow(TRUE);18:         GetDlgItem(IDC_RUNPGM)-&gt;EnableWindow(TRUE);19:         GetDlgItem(IDC_STATICPGM)-&gt;EnableWindow(TRUE);20:     }21:     else22:     {23:         // No, so disable all controls that have anything24:         // to do with running a program25:         GetDlgItem(IDC_PROGTORUN)-&gt;EnableWindow(FALSE);26:         GetDlgItem(IDC_RUNPGM)-&gt;EnableWindow(FALSE);27:         GetDlgItem(IDC_STATICPGM)-&gt;EnableWindow(FALSE);28:     }29: 30:     ///////////////////////31:     // MY CODE ENDS HERE32:     ///////////////////////33: }34: 35: void CDay2Dlg::OnCkshwpgm()36: {37:     // TODO: Add your control notification handler code here38: 39:     ///////////////////////40:     // MY CODE STARTS HERE41:     ///////////////////////42: 43:     // Get the current values from the screen44:     UpdateData(TRUE);45: 46:     // Is the Show Program Action check box checked?47:     if (m_bShowPgm == TRUE)48:     {49:         // Yes, so show all controls that have anything50:         // to do with running a program51:         GetDlgItem(IDC_PROGTORUN)-&gt;ShowWindow(TRUE);52:         GetDlgItem(IDC_RUNPGM)-&gt;ShowWindow(TRUE);53:         GetDlgItem(IDC_STATICPGM)-&gt;ShowWindow(TRUE);54:     }55:     else56:     {57:         // No, so hide all controls that have anything58:         // to do with running a program59:         GetDlgItem(IDC_PROGTORUN)-&gt;ShowWindow(FALSE);60:         GetDlgItem(IDC_RUNPGM)-&gt;ShowWindow(FALSE);61:         GetDlgItem(IDC_STATICPGM)-&gt;ShowWindow(FALSE);62:     }63: 64:     ///////////////////////65:     // MY CODE ENDS HERE66:     ///////////////////////</PRE><PRE>67: }</PRE><DL>	<DT></DT>	<DD><B>3. </B>Extend the code in the OnRunpgm function to allow the user to enter	his own program name to be run.	<P>	<DT></DT>	<DD>Modify the OnRunpgm function as in Listing B.3.	<P></DL><H4>LISTING B.3. DAY2DLG.CPP--THE CODE TO RUN ANY PROGRAM NAME TYPED INTO THE RUNPROGRAM COMBO BOX.</H4><PRE> 1: void CDay2Dlg::OnRunpgm() 2: { 3:     // TODO: Add your control notification handler code here 4:  5:     /////////////////////// 6:     // MY CODE STARTS HERE 7:     /////////////////////// 8:  9:     // Get the current values from the screen10:     UpdateData(TRUE);11: 12:     // Declare a local variable for holding the program name13:     CString strPgmName;14: 15:     // Copy the program name to the local variable16:     strPgmName = m_strProgToRun;17: 18:     // Make the program name all uppercase19:     strPgmName.MakeUpper();20: 21:     // Did the user select to run the Paint program?22:     if (strPgmName == &quot;PAINT&quot;)23:         // Yes, run the Paint program24:         WinExec(&quot;pbrush.exe&quot;, SW_SHOW);25: 26:     // Did the user select to run the Notepad program?27:     if (strPgmName == &quot;NOTEPAD&quot;)28:         // Yes, run the Notepad program29:         WinExec(&quot;notepad.exe&quot;, SW_SHOW);30: 31:     // Did the user select to run the Solitaire program?32:     if (strPgmName == &quot;SOLITAIRE&quot;)33:         // Yes, run the Solitaire program34:         WinExec(&quot;sol.exe&quot;, SW_SHOW);35: 36:         // Run any other program name typed into the combo box37:         if ((strPgmName != &quot;PAINT&quot;) &amp;&amp; (strPgmName != &quot;NOTEPAD&quot;) &amp;&amp;38:             (strPgmName != &quot;SOLITAIRE&quot;))39:               // Yes, run the program typed into the combo box40:               WinExec(strPgmName, SW_SHOW);41: 42:     ///////////////////////43:     // MY CODE ENDS HERE44:     ///////////////////////</PRE><P>45: }</P><P><H2><A NAME="Heading7"></A>Day 3</H2><H3>Quiz</H3><DL>	<DT></DT>	<DD><B>1. </B>What are the possible mouse messages that you can add functions for?	<P>	<DT></DT>	<DD>WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK, WM_RBUTTONDOWN, WM _RBUTTONUP,	WM_RBUTTONDBLCLK, WM_MOUSEMOVE, and WM_MOUSEWHEEL.	<P>	<DT></DT>	<DD><B>2. </B>How can you tell if the left mouse button is down on the WM_MOUSEMOVE	event message?	<P>	<DT></DT>	<DD>You can mask the flags passed to the OnMouseMove function with the MK_LBUTTON	flag, as follows:	<P></DL><PRE>((nFlags &amp; MK_LBUTTON) == MK_LBUTTON)</PRE><DL>	<DT></DT>	<DD><B>3. </B>How can you prevent the cursor from changing back to the default cursor	after you set it to a different one?	<P>	<DT></DT>	<DD>Return TRUE in the OnSetCursor event function, preventing the ancestor OnSetCursor	function from being called.	<P></DL><H3>Exercises</H3><DL>	<DT></DT>	<DD><B>1. </B>Modify your drawing program so that the left mouse button can draw	in red and the right mouse button can draw in blue.	<P>	<DT></DT>	<DD>Add a function for the WM_RBUTTONDOWN event message and write the code for it	as in Listing B.4.	<P></DL><H4>LISTING B.4. MOUSEDLG.CPP--THE OnRButtonDown FUNCTION.</H4><PRE> 1: void CMouseDlg::OnRButtonDown(UINT nFlags, CPoint point) 2: { 3:     // TODO: Add your message handler code here and/or call default 4: 5:     /////////////////////// 6:     // MY CODE STARTS HERE 7:     /////////////////////// 8: 9:         // Set the current point as the starting point10:     m_iPrevX = point.x;11:     m_iPrevY = point.y;12:13:     ///////////////////////14:     // MY CODE ENDS HERE15:     ///////////////////////16:17:     CDialog::OnRButtonDown(nFlags, point);</PRE><PRE>18: }</PRE><DL>	<DT></DT>	<DD>Extend the OnMouseMove function as in Listing B.5.	<P></DL><H4>LISTING B.5. MOUSEDLG.CPP--THE MODIFIED OnMouseMove FUNCTION.</H4>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区福利| 中文字幕一区三区| 国产亚洲欧美色| 亚洲自拍另类综合| 国产aⅴ精品一区二区三区色成熟| 色婷婷久久综合| 国产精品免费久久| 韩国v欧美v亚洲v日本v| 制服丝袜中文字幕亚洲| 亚洲精品欧美综合四区| 成人在线视频一区二区| 欧美xxxx在线观看| 三级一区在线视频先锋| 色欲综合视频天天天| 中文子幕无线码一区tr| 精品一区二区久久久| 日韩一区二区视频| 日韩精品亚洲专区| 7777精品伊人久久久大香线蕉 | 色一区在线观看| 欧美国产一区在线| 国产精品一线二线三线| 久久婷婷一区二区三区| 免费美女久久99| 欧美日韩国产高清一区二区| 亚洲国产精品影院| 欧美性大战xxxxx久久久| 亚洲免费av高清| 色8久久精品久久久久久蜜 | 国产日产欧产精品推荐色| 激情欧美一区二区| 久久久久久夜精品精品免费| 国产中文字幕精品| 久久精品人人做人人爽97| 国产传媒久久文化传媒| 欧美经典三级视频一区二区三区| 国产成人欧美日韩在线电影| 中文字幕欧美激情| 91视视频在线观看入口直接观看www | 在线观看欧美精品| 一区二区三区在线免费观看 | 秋霞电影网一区二区| 日韩一级视频免费观看在线| 久久精品免费观看| 久久综合九色综合97_久久久| 国产成人亚洲综合a∨婷婷图片| 欧美国产国产综合| 色综合天天综合给合国产| 精品国产乱码久久久久久牛牛| 日韩精品成人一区二区在线| 日韩欧美久久一区| 日本视频免费一区| 日韩久久精品一区| 国产精品88888| 中文字幕在线观看一区| 色94色欧美sute亚洲线路一ni| 亚洲一区二区三区三| 日韩女优电影在线观看| 国产精品一级黄| 亚洲色图欧洲色图| 欧美一区二区三区四区五区| 国产乱对白刺激视频不卡| 亚洲三级在线免费| 在线不卡欧美精品一区二区三区| 久久精品国产99国产| ...xxx性欧美| 91精品国产综合久久福利| 国产99久久久久久免费看农村| 亚洲午夜羞羞片| 久久精品视频免费观看| 欧美性大战久久久久久久蜜臀 | 国产精品黄色在线观看| 欧美日韩你懂得| 国产很黄免费观看久久| 亚洲精品精品亚洲| 久久精子c满五个校花| 欧美日精品一区视频| 国产成人在线观看| 午夜精品免费在线观看| 中文字幕一区二区在线观看 | 欧美日韩久久不卡| 粉嫩在线一区二区三区视频| 日韩激情一区二区| 亚洲免费大片在线观看| 欧美国产精品中文字幕| 欧美一卡二卡在线观看| 欧美性猛交xxxxxx富婆| 99riav一区二区三区| 国产一区二区免费看| 视频一区二区中文字幕| 亚洲激情成人在线| 亚洲欧洲国产日本综合| 国产日本亚洲高清| 精品久久国产字幕高潮| 91精品国产综合久久香蕉麻豆| 欧美在线啊v一区| 不卡免费追剧大全电视剧网站| 国产乱色国产精品免费视频| 久久精品av麻豆的观看方式| 日韩电影在线观看网站| 午夜不卡av免费| 亚洲午夜在线视频| 亚洲在线视频一区| 亚洲激情中文1区| 亚洲欧美日韩国产另类专区| 国产欧美精品一区二区色综合 | 在线观看亚洲一区| 91麻豆精东视频| 色噜噜夜夜夜综合网| 91成人免费在线视频| 欧美最猛黑人xxxxx猛交| 色婷婷亚洲精品| 欧美性生活影院| 欧美精品在线观看一区二区| 欧美体内she精视频| 欧美日韩午夜影院| 91麻豆精品国产91久久久 | 伊人色综合久久天天| 亚洲人吸女人奶水| 一区二区三区不卡视频| 亚洲一区视频在线| 日欧美一区二区| 久久国产精品一区二区| 韩日欧美一区二区三区| 成人h动漫精品一区二区 | 高清在线观看日韩| 成人激情小说网站| 日本乱人伦aⅴ精品| 51精品视频一区二区三区| 欧美电影免费观看完整版| 久久视频一区二区| 亚洲欧洲精品一区二区三区| 亚洲成人手机在线| 国产乱对白刺激视频不卡| 99久久精品一区二区| 欧美人与z0zoxxxx视频| 久久久久久夜精品精品免费| 国产精品久久久久精k8| 偷拍一区二区三区| 国产一区二区美女| 日本国产一区二区| 日韩精品一区二区三区老鸭窝| 国产精品理伦片| 偷窥国产亚洲免费视频| 粉嫩欧美一区二区三区高清影视| 在线观看视频欧美| 久久综合狠狠综合久久综合88| 自拍偷拍亚洲欧美日韩| 日本视频中文字幕一区二区三区| 懂色av一区二区在线播放| 欧美日韩久久久| 国产精品欧美一区二区三区| 五月天亚洲精品| 99久久久久久99| 精品国产一区二区三区久久影院| 亚洲日本va在线观看| 激情欧美一区二区| 欧美午夜精品一区二区蜜桃| 国产欧美日韩在线看| 青青草原综合久久大伊人精品优势| 成人免费三级在线| 日韩欧美一区在线观看| 一区二区三区色| 成人在线视频一区| 精品999久久久| 亚洲成a人在线观看| 99久久99久久精品免费观看| 久久久久久久av麻豆果冻| 五月开心婷婷久久| 在线一区二区三区做爰视频网站| 国产午夜精品一区二区| 日本人妖一区二区| 欧美日韩一区视频| 亚洲六月丁香色婷婷综合久久 | 一区二区三区中文在线观看| 高清视频一区二区| 2020国产精品自拍| 秋霞电影一区二区| 欧美日韩精品高清| 一区二区三区免费| 99久久免费精品| 国产精品欧美极品| 成人一级片在线观看| 久久这里只有精品首页| 毛片av一区二区三区| 6080yy午夜一二三区久久| 亚洲福利国产精品| 欧美日韩亚洲综合| 午夜精彩视频在线观看不卡| 欧美日韩国产欧美日美国产精品| 一区二区三区高清| 欧美性色黄大片| 亚洲高清一区二区三区| 91福利区一区二区三区| 亚洲自拍偷拍av| 777精品伊人久久久久大香线蕉| 偷窥国产亚洲免费视频| 91精品国产品国语在线不卡| 日韩精品欧美精品| 欧美一区二区三区四区五区|