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

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

?? apb.htm

?? 好的教程Vc++21 天
?? 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一区二区三区免费野_久草精品视频
日韩欧美一级二级三级| 日韩精品综合一本久道在线视频| 成人av资源站| 国产色一区二区| 久久国产精品露脸对白| 99久久久久久99| 欧美精品一区二区三区蜜桃| 午夜日韩在线电影| 成人免费va视频| 欧美刺激脚交jootjob| 一区二区三区国产豹纹内裤在线| 国产精品一区二区不卡| 91色综合久久久久婷婷| 欧美三级在线播放| 亚洲欧美日韩国产成人精品影院| 亚洲18女电影在线观看| av一本久道久久综合久久鬼色| 精品福利av导航| 国产精品久久久久久久久免费丝袜| 免费观看在线色综合| 中文字幕第一区二区| 国产乱子伦视频一区二区三区 | 图片区日韩欧美亚洲| 丁香激情综合五月| 日韩福利视频网| 激情六月婷婷综合| 亚洲品质自拍视频网站| 91精品国产手机| 欧美色图12p| 成人免费观看男女羞羞视频| 久久99热狠狠色一区二区| 天堂在线亚洲视频| 午夜久久久影院| 自拍偷拍欧美精品| 91精品在线麻豆| 欧洲精品一区二区三区在线观看| 无吗不卡中文字幕| 亚洲男人都懂的| 欧美成人女星排名| 久久99在线观看| 一区二区三区久久久| 在线播放91灌醉迷j高跟美女| 久久成人免费网| 亚洲一区二区三区四区五区黄 | 国产日产欧产精品推荐色| 日韩三级视频在线看| 4438亚洲最大| 日韩精品自拍偷拍| 久久美女高清视频| 国产精品污网站| 亚洲免费电影在线| 亚洲va在线va天堂| 裸体一区二区三区| 久草在线在线精品观看| 国产一区二区三区香蕉| 国产成人免费在线观看| 成人免费观看视频| 在线亚洲人成电影网站色www| 99在线精品免费| 欧美丝袜自拍制服另类| 欧美精品一二三| 亚洲精品在线观看视频| 国产精品麻豆一区二区| 亚洲宅男天堂在线观看无病毒 | 99re成人精品视频| 91成人免费在线视频| 欧美一区二区三区日韩| 精品福利一二区| 国产精品久久久久影院| 成人av在线资源网站| 国产一区二区三区久久悠悠色av| 国产成人精品免费网站| 激情五月婷婷综合网| 韩国精品主播一区二区在线观看 | 亚洲国产日韩精品| 精品久久99ma| 国产清纯白嫩初高生在线观看91| 中文字幕欧美日韩一区| 一区二区三区中文在线| 日产国产欧美视频一区精品| 国产精品亚洲成人| 欧美亚洲国产bt| 精品国产三级a在线观看| 国产精品乱码妇女bbbb| 午夜精品久久久久久不卡8050| 久久www免费人成看片高清| 99久久亚洲一区二区三区青草| 91麻豆精品国产91久久久资源速度| 亚洲国产精品精华液2区45| 韩国女主播成人在线观看| 欧洲精品视频在线观看| 久久久综合视频| 五月婷婷激情综合网| av网站一区二区三区| 欧美岛国在线观看| 亚洲一卡二卡三卡四卡| 成人性色生活片| 欧美变态口味重另类| 亚洲午夜一区二区三区| av亚洲精华国产精华| 精品国产一区久久| 首页国产丝袜综合| 色综合久久中文字幕综合网 | 久久免费国产精品| 亚洲动漫第一页| 99久久99久久免费精品蜜臀| 久久新电视剧免费观看| 日本视频中文字幕一区二区三区| 91免费视频观看| 国产亚洲精品超碰| 久久97超碰色| 337p亚洲精品色噜噜噜| 亚洲午夜精品在线| 91偷拍与自偷拍精品| 国产午夜精品理论片a级大结局 | 亚洲综合成人在线视频| 成人av午夜电影| 国产人妖乱国产精品人妖| 卡一卡二国产精品| 91精品国产91久久久久久最新毛片 | 在线看国产一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 国产一区二区三区| 精品国产一区二区亚洲人成毛片| 天天色综合天天| 欧美日韩国产综合一区二区三区| 亚洲精品va在线观看| 色婷婷亚洲精品| 一区二区三区在线观看欧美| av在线不卡观看免费观看| 国产欧美日韩卡一| 国产 欧美在线| 午夜精品久久久久久久| 久久伊人蜜桃av一区二区| 久久久99免费| 欧美亚洲精品一区| 国模一区二区三区白浆| 亚洲国产精品99久久久久久久久| 91久久精品网| 一区二区三区欧美视频| 欧美一级xxx| 高清国产一区二区| 亚洲gay无套男同| 精品国产伦一区二区三区免费| 国产精品亚洲一区二区三区在线| 免费视频最近日韩| 成人禁用看黄a在线| 性久久久久久久久| 日韩一区二区三区精品视频| 青青草97国产精品免费观看无弹窗版| 欧美一级xxx| 91豆麻精品91久久久久久| 国产精品一区二区三区四区| 一区二区久久久久| 日韩一区二区免费电影| 奇米精品一区二区三区在线观看| 在线成人小视频| 日韩伦理av电影| 在线视频一区二区三区| 免费在线观看一区二区三区| 欧美一区二区观看视频| 国产成人午夜片在线观看高清观看| 尤物在线观看一区| 亚洲女同女同女同女同女同69| 日韩三区在线观看| 欧美日韩精品一区二区三区蜜桃| 97久久精品人人做人人爽| 国产在线一区观看| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲婷婷综合色高清在线| 亚洲日本va午夜在线电影| 亚洲欧美一区二区三区国产精品| 成人高清视频在线| 国产精品丝袜91| 欧美日韩亚洲不卡| 国产一区二区视频在线| 亚洲精品美腿丝袜| 欧美岛国在线观看| 色欧美日韩亚洲| 久久精品国产精品青草| 自拍偷拍欧美激情| 欧美videos大乳护士334| 97久久精品人人爽人人爽蜜臀| 日韩精品一二三| 中文字幕中文字幕在线一区 | 午夜精品久久久久| 国产欧美一区在线| 欧美情侣在线播放| 成人高清免费在线播放| 亚洲成人手机在线| 欧美极品少妇xxxxⅹ高跟鞋| 欧美日韩久久不卡| 99视频在线精品| 国产精品一区二区91| 午夜电影网亚洲视频| 亚洲欧洲日本在线| 欧美大片在线观看| 欧美视频一区二区在线观看| 成人免费视频播放| 国产在线视频一区二区三区|