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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? apb.htm

?? /// //Visual C++ 6.0 21天自學(xué)教程
?? HTM
?? 第 1 頁 / 共 5 頁
字號(hào):
<!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>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区av电影| 91首页免费视频| 91同城在线观看| 欧美日韩日日骚| 国产女人18毛片水真多成人如厕| 国产精品福利一区| 三级不卡在线观看| 波多野结衣中文字幕一区| 日韩小视频在线观看专区| 亚洲美女淫视频| 成人不卡免费av| 欧美精品一区二区三区在线| 亚洲第一二三四区| 91亚洲精品一区二区乱码| 久久久久国产精品人| 日本午夜一区二区| 欧美视频在线播放| 一区二区久久久| 91在线码无精品| 国产精品人妖ts系列视频| 国产在线播放一区三区四| 欧美丰满一区二区免费视频| 亚洲一区二区av在线| 色综合咪咪久久| 亚洲欧美怡红院| 99久久99久久精品免费看蜜桃| 精品国产乱子伦一区| 蜜臀久久99精品久久久久久9| 在线看国产一区| 亚洲美女在线一区| 91精品办公室少妇高潮对白| 亚洲欧洲性图库| 不卡一区二区三区四区| 国产欧美一区二区精品忘忧草 | 中文字幕亚洲综合久久菠萝蜜| 精彩视频一区二区三区| 欧美欧美欧美欧美| 日韩精品一二三四| 这里只有精品视频在线观看| 午夜视频在线观看一区| 欧美欧美午夜aⅴ在线观看| 夜夜精品浪潮av一区二区三区 | 国产不卡免费视频| 久久精品一区蜜桃臀影院| 成人亚洲精品久久久久软件| 中文字幕在线一区| 在线视频你懂得一区| 水蜜桃久久夜色精品一区的特点| 欧美夫妻性生活| 激情综合网激情| 中文字幕精品在线不卡| 色婷婷亚洲精品| 亚洲www啪成人一区二区麻豆| 欧美系列一区二区| 午夜欧美在线一二页| 精品国产伦一区二区三区观看体验 | 欧美高清一级片在线观看| 大白屁股一区二区视频| 樱桃视频在线观看一区| 欧美人牲a欧美精品| 青青草97国产精品免费观看无弹窗版| 精品国产3级a| 91麻豆免费看片| 日本成人中文字幕在线视频| 久久先锋影音av鲁色资源| 国产1区2区3区精品美女| 亚洲一线二线三线视频| 日韩三级视频中文字幕| 成人av午夜影院| 强制捆绑调教一区二区| 国产精品嫩草99a| 欧美久久高跟鞋激| 粉嫩一区二区三区在线看| 一区二区三区电影在线播| 精品久久国产字幕高潮| 色先锋aa成人| 经典三级视频一区| 亚洲图片欧美色图| 中文在线一区二区| 777久久久精品| 不卡区在线中文字幕| 免费看欧美美女黄的网站| 亚洲视频一区二区在线观看| 日韩精品中文字幕一区二区三区| 99精品热视频| 韩国精品免费视频| 天堂va蜜桃一区二区三区| 亚洲视频综合在线| 久久青草欧美一区二区三区| 欧美美女激情18p| 99热国产精品| 国产麻豆成人精品| 日韩成人精品在线观看| 一区二区三区在线影院| 久久先锋影音av鲁色资源| 51精品视频一区二区三区| 色综合天天综合| 成人综合日日夜夜| 国产一区二区三区免费在线观看| 视频在线观看91| 亚洲一卡二卡三卡四卡无卡久久| 中文字幕永久在线不卡| 久久久亚洲精华液精华液精华液| 91精品国产综合久久久久久久| 在线看一区二区| 99久久伊人精品| 成人综合婷婷国产精品久久蜜臀| 韩国一区二区三区| 精品一区免费av| 日韩av中文字幕一区二区 | 99久久夜色精品国产网站| 五月婷婷久久综合| 一区二区三区国产精华| 亚洲综合无码一区二区| 亚洲精品va在线观看| 亚洲精选免费视频| 亚洲自拍欧美精品| 日韩精彩视频在线观看| 香蕉加勒比综合久久| 亚洲午夜视频在线观看| 午夜在线成人av| 日本网站在线观看一区二区三区| 天堂午夜影视日韩欧美一区二区| 图片区小说区国产精品视频| 日韩不卡一区二区三区| 精品一区二区三区在线播放| 国产一区二区三区免费| 懂色av中文字幕一区二区三区| 成人app网站| 欧美在线一二三| 日韩一区二区电影在线| 久久久久久99精品| 亚洲丝袜美腿综合| 亚洲成人自拍一区| 亚洲国产欧美在线人成| 亚洲精品国产一区二区精华液| 久久伊99综合婷婷久久伊| 欧美一级午夜免费电影| 国产亚洲欧洲一区高清在线观看| 欧美一级二级三级乱码| 日韩美女视频在线| 欧美一级片免费看| 中文字幕精品一区| 国产精品午夜在线观看| 国产精品视频一区二区三区不卡| 久久蜜桃一区二区| 欧美色区777第一页| 欧美主播一区二区三区| 在线免费精品视频| 欧美无砖专区一中文字| 国产一区二区精品久久| 91精品1区2区| 欧美色男人天堂| 欧美日韩三级在线| 欧美欧美欧美欧美首页| 国产农村妇女毛片精品久久麻豆| 国产蜜臀av在线一区二区三区| 国产精品午夜久久| 成人精品小蝌蚪| 欧美一级日韩不卡播放免费| 91精品国产入口在线| 日韩一区二区在线播放| 5566中文字幕一区二区电影| 中文字幕在线播放不卡一区| 一区二区三区欧美| 日韩在线观看一区二区| 91精品国产麻豆国产自产在线| 亚洲色图.com| 亚洲精品中文字幕在线观看| 亚洲超碰97人人做人人爱| 国产精品伦理在线| 国产精品一区二区免费不卡| 99视频一区二区三区| 欧美日韩色综合| 91精品国产综合久久精品图片 | 亚洲国产一二三| 麻豆成人在线观看| av电影在线观看一区| 天堂蜜桃一区二区三区 | 国产一区二区三区蝌蚪| 男男成人高潮片免费网站| 久久99国产乱子伦精品免费| 韩国三级在线一区| 成人av资源站| 日韩你懂的在线观看| 国产精品水嫩水嫩| 天天av天天翘天天综合网色鬼国产| 91免费精品国自产拍在线不卡| 欧美一区二区视频在线观看2020| 国产人妖乱国产精品人妖| 亚洲精品一二三四区| 色偷偷久久一区二区三区| 日韩欧美成人午夜| 一区二区三区在线视频免费观看| 午夜欧美一区二区三区在线播放| 欧美色视频在线观看| 国产欧美视频在线观看| 日本不卡在线视频| 成人综合婷婷国产精品久久免费| 在线不卡欧美精品一区二区三区|