亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
不卡在线视频中文字幕| 精品国产sm最大网站免费看| 欧美va在线播放| 亚洲婷婷综合久久一本伊一区| 日产欧产美韩系列久久99| 91一区二区三区在线观看| 欧美成人精品1314www| 亚洲综合久久久| av在线综合网| 国产欧美视频一区二区| 久久精品国产澳门| 91精品国产综合久久国产大片 | 91免费小视频| 精品sm在线观看| 美日韩一级片在线观看| 91精品午夜视频| 亚洲专区一二三| 色婷婷久久99综合精品jk白丝| 中文字幕在线视频一区| 国产福利精品一区二区| 26uuu色噜噜精品一区二区| 免费三级欧美电影| 欧美高清视频不卡网| 亚洲国产精品久久人人爱蜜臀| 99久久久久久99| 亚洲欧洲韩国日本视频| 99国产精品国产精品毛片| 欧美国产日韩a欧美在线观看| 国产美女在线观看一区| 久久免费的精品国产v∧| 国产一区二区三区精品视频| 精品国产成人在线影院 | 91免费精品国自产拍在线不卡| 国产日产精品一区| 丁香天五香天堂综合| 欧美高清在线一区| 成人av影视在线观看| 亚洲欧洲成人av每日更新| 91在线视频免费观看| 亚洲精品网站在线观看| 欧美视频精品在线观看| 首页国产欧美久久| 日韩欧美视频在线| 国产一区二区三区蝌蚪| 亚洲国产成人在线| 一本大道久久a久久精二百| 亚洲午夜电影在线观看| 欧美一区二区三区视频在线| 紧缚捆绑精品一区二区| 国产三级三级三级精品8ⅰ区| 成人国产精品免费| 亚洲在线视频免费观看| 日韩欧美色综合网站| 国产91丝袜在线观看| 亚洲欧美电影一区二区| 欧美日本一区二区在线观看| 国产一区二区三区在线看麻豆| 国产精品第五页| 91精品国产综合久久蜜臀| 国产精品一区二区无线| 国产精品成人免费 | 在线视频国内自拍亚洲视频| 色www精品视频在线观看| 亚洲五月六月丁香激情| 欧美日韩另类一区| 国产最新精品免费| 悠悠色在线精品| 久久亚区不卡日本| 欧美亚洲日本国产| 国产一区二区女| 亚洲影院免费观看| 国产午夜精品久久| 777午夜精品免费视频| 国产成人av电影免费在线观看| 午夜视频在线观看一区二区 | 日韩免费看的电影| 91在线观看免费视频| 麻豆精品在线播放| 成人欧美一区二区三区1314| 日韩一级二级三级| 在线区一区二视频| 福利一区二区在线| 蜜臀精品一区二区三区在线观看| 中文字幕一区二区三区在线观看 | 奇米综合一区二区三区精品视频| 国产三级一区二区| 欧美一区二区黄| 91久久国产最好的精华液| 国产成人av自拍| 另类综合日韩欧美亚洲| 亚洲午夜在线电影| 亚洲欧美电影一区二区| 中文字幕第一区二区| 亚洲精品在线三区| 欧美军同video69gay| 欧美主播一区二区三区美女| 97精品国产露脸对白| 欧美精品国产精品| 久久99久久久久久久久久久| 亚洲国产精品天堂| 亚洲精品中文字幕乱码三区 | 国产精品一区二区久激情瑜伽| 亚洲国产美国国产综合一区二区| 国产精品免费人成网站| 久久久国产精品午夜一区ai换脸 | 欧美日韩www| 欧美日韩高清一区二区| 欧美在线观看视频在线| 色噜噜久久综合| 91麻豆swag| 欧洲人成人精品| 欧美性生活一区| 欧美剧在线免费观看网站| 欧美精品aⅴ在线视频| 欧美日韩精品一区二区三区| 在线播放91灌醉迷j高跟美女 | 热久久一区二区| 日韩电影在线一区| 国产欧美一区二区三区在线老狼| 91免费小视频| 日本道精品一区二区三区| 9久草视频在线视频精品| 成人av动漫在线| 99久久综合国产精品| 色域天天综合网| 欧美亚洲综合一区| 91麻豆精品国产91久久久| 日韩久久久精品| 日韩欧美一区在线| 国产校园另类小说区| 综合久久国产九一剧情麻豆| 亚洲一区二区三区四区的| 亚洲成人精品一区| 国产一区二区三区在线观看精品| 成人v精品蜜桃久久一区| 色菇凉天天综合网| 91精品国产色综合久久不卡电影 | 国产午夜精品一区二区 | 欧美在线免费播放| 91精品国产综合久久久久久久| 精品福利在线导航| 国产精品三级av在线播放| 亚洲激情中文1区| 六月丁香综合在线视频| 9l国产精品久久久久麻豆| 91超碰这里只有精品国产| 国产日韩欧美在线一区| 亚洲综合色在线| 国产在线精品一区二区| 色视频成人在线观看免| 日韩午夜电影av| 亚洲欧美激情小说另类| 久久99精品国产麻豆婷婷洗澡| 91首页免费视频| 欧美成va人片在线观看| 国产精品国产三级国产| 麻豆91免费观看| 欧美艳星brazzers| 国产视频在线观看一区二区三区| 午夜av一区二区三区| 国产成人免费视频精品含羞草妖精| 欧美日韩国产综合一区二区| 国产精品无码永久免费888| 免费成人深夜小野草| 日本电影欧美片| 久久精品视频在线免费观看| 午夜欧美2019年伦理| 成人福利在线看| 久久综合九色综合欧美就去吻| 亚洲一级二级三级| 粉嫩嫩av羞羞动漫久久久| 日韩欧美黄色影院| 午夜精品久久久久久久| 色综合久久99| 国产精品亲子伦对白| 精品一区二区三区久久久| 欧美精品vⅰdeose4hd| 依依成人精品视频| av色综合久久天堂av综合| 精品国产一区二区三区不卡| 日韩电影一区二区三区四区| 欧美伊人久久久久久久久影院| 自拍视频在线观看一区二区| 粉嫩高潮美女一区二区三区| 久久久噜噜噜久噜久久综合| 久久99久久精品| 欧美电影免费观看高清完整版在线观看 | 日本韩国一区二区三区视频| 国产精品丝袜一区| 国产精品一区二区三区99| 精品福利一二区| 国产一区二区三区日韩| 精品久久人人做人人爱| 久久精品72免费观看| 日韩欧美在线综合网| 免费成人在线网站| 精品国产免费一区二区三区四区 | 九九国产精品视频| 日韩精品最新网址| 久久成人综合网|