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

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

?? apb.htm

?? 21天學會VC的英文版
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
	as &amp;Width. Close the properties dialog.	<P>	<DT></DT>	<DD><B>18. </B>Add submenu entries below the Width top-level menu. Specify the submenus	in order, setting their properties as specified in Table B.1.	<P></DL><H4>TABLE B.1. MENU PROPERTY SETTINGS.</H4><P><TABLE BORDER="1">	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT"><I>Object</I></TD>		<TD ALIGN="LEFT"><I>Property</I></TD>		<TD ALIGN="LEFT"><I>Setting</I></TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT">Menu Entry</TD>		<TD ALIGN="LEFT">ID</TD>		<TD ALIGN="LEFT">ID_WIDTH_VTHIN</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT"></TD>		<TD ALIGN="LEFT">Caption</TD>		<TD ALIGN="LEFT">&amp;Very Thin</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT">Menu Entry</TD>		<TD ALIGN="LEFT">ID</TD>		<TD ALIGN="LEFT">ID_WIDTH_THIN</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT"></TD>		<TD ALIGN="LEFT">Caption</TD>		<TD ALIGN="LEFT">Thi&amp;n</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT">Menu Entry</TD>		<TD ALIGN="LEFT">ID</TD>		<TD ALIGN="LEFT">ID_WIDTH_MEDIUM</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT"></TD>		<TD ALIGN="LEFT">Caption</TD>		<TD ALIGN="LEFT">&amp;Medium</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT">Menu Entry</TD>		<TD ALIGN="LEFT">ID</TD>		<TD ALIGN="LEFT">ID_WIDTH_THICK</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT"></TD>		<TD ALIGN="LEFT">Caption</TD>		<TD ALIGN="LEFT">Thic&amp;k</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT">Menu Entry</TD>		<TD ALIGN="LEFT">ID</TD>		<TD ALIGN="LEFT">ID_WIDTH_VTHICK</TD>	</TR>	<TR ALIGN="LEFT" VALIGN="TOP">		<TD ALIGN="LEFT"></TD>		<TD ALIGN="LEFT">Caption</TD>		<TD ALIGN="LEFT">Very &amp;Thick</TD>	</TR></TABLE></P><DL>	<DT></DT>	<DD><B>19. </B>Open the Class Wizard. Select the CDay10Doc in the Class Name combo	box.	<P>	<DT></DT>	<DD><B>20. </B>Add functions for both the COMMAND and UPDATE_COMMAND_UI event messages	for all the width menu entries.	<P>	<DT></DT>	<DD><B>21. </B>After you add the final menu entry function, click Edit Code.	<P>	<DT></DT>	<DD><B>22. </B>Edit the Very Thin menu functions as in Listing B.15.	<P></DL><H4>LISTING B.15. THE VERY THIN MENU FUNCTIONS.</H4><PRE> 1: void CDay10Doc::OnWidthVthin() 2: { 3:     // TODO: Add your command handler code here 4:  5:     /////////////////////// 6:     // MY CODE STARTS HERE 7:     /////////////////////// 8:  9:     // Set the current width to Very Thin10:     m_nColor = ID_WIDTH_VTHIN - ID_WIDTH_VTHIN;11: 12:     ///////////////////////13:     // MY CODE ENDS HERE14:     ///////////////////////15: }16: 17: void CDay10Doc::OnUpdateWidthVthin(CCmdUI* pCmdUI)18: {19:     // TODO: Add your command update UI handler code here20: 21:     ///////////////////////22:     // MY CODE STARTS HERE23:     ///////////////////////24: 25:     // Determine if the Very Thin menu entry should be checked26:     pCmdUI-&gt;SetCheck(GetWidth() == ID_WIDTH_VTHIN ? 1 : 0);27: 28:     ///////////////////////29:     // MY CODE ENDS HERE30:     ///////////////////////</PRE><PRE>31: }</PRE><DL>	<DT></DT>	<DD><B>23. </B>Edit the Thin menu functions as in Listing B.16. Edit the remaining	menu functions in the same way, substituting their menu IDs for ID_WIDTH_THIN.	<P></DL><H4>LISTING B.16. THE THIN MENU FUNCTIONS.</H4><PRE> 1: void CDay10Doc::OnWidthThin() 2: { 3:     // TODO: Add your command handler code here 4:  5:     /////////////////////// 6:     // MY CODE STARTS HERE 7:     /////////////////////// 8:  9:     // Set the current width to Thin10:     m_nColor = ID_WIDTH_THIN - ID_WIDTH_VTHIN;11: 12:     ///////////////////////13:     // MY CODE ENDS HERE14:     ///////////////////////15: }16: 17: void CDay10Doc::OnUpdateWidthThin(CCmdUI* pCmdUI)18: {19:     // TODO: Add your command update UI handler code here20: 21:     ///////////////////////22:     // MY CODE STARTS HERE23:     ///////////////////////24: 25:     // Determine if the Thin menu entry should be checked26:     pCmdUI-&gt;SetCheck(GetWidth() == ID_WIDTH_THIN ? 1 : 0);27: 28:     ///////////////////////29:     // MY CODE ENDS HERE30:     ///////////////////////</PRE><PRE>31: }</PRE><P><H2><A NAME="Heading31"></A>Day 11</H2><H3>Quiz</H3><DL>	<DT></DT>	<DD><B>1. </B>What are the five base classes that are used in MDI applications?	<P>	<DT></DT>	<DD>The CWinApp-derived class, the CMDIFrameWnd-derived class, the CMDIChildWnd-derived	class, the CDocument-derived class, and the CView-derived class.	<P>	<DT></DT>	<DD><B>2. </B>Why do you have to place the ON_COMMAND_RANGE message map entry outside	the section maintained by the Class Wizard?	<P>	<DT></DT>	<DD>The Class Wizard doesn't understand the ON_COMMAND_RANGE message map entry and	thus would either remove or corrupt it.	<P>	<DT></DT>	<DD><B>3. </B>What argument does ON_COMMAND_RANGE pass to the event function?	<P>	<DT></DT>	<DD>The ID of the event message.	<P>	<DT></DT>	<DD><B>4. </B>What event message should you use to display a pop-up menu?	<P>	<DT></DT>	<DD>WM_CONTEXTMENU.	<P></DL><H3>Exercise</H3><P>Add the pull-down and context menus for the width, using the same pen widths asyesterday.</P><P>Follow these steps:</P><DL>	<DT></DT>	<DD><B>1. </B>Add the Width handling code as in yesterday's exercise.	<P>	<DT></DT>	<DD><B>2. </B>Add the Width menu entries using the same settings as yesterday.	<P>	<DT></DT>	<DD><B>3. </B>Open the Day11Doc.h header file.	<P>	<DT></DT>	<DD><B>4. </B>Scroll down toward the bottom of the header file until you find the	protected section where the AFX_MSG message map is declared (search for //{{AFX_MSG(CDay11Doc)).	<P>	<DT></DT>	<DD><B>5. </B>Add the function declarations in Listing B.17 before the line that	you searched for. (The string that you searched for is the beginning marker for the	Class Wizard maintained message map. Anything you place between it and the end marker,	//}}AFX_MSG, is likely to be removed or corrupted by the Class Wizard.)	<P></DL><H4>LISTING B.17. THE EVENT-HANDLER DECLARATIONS IN DayllDoc.H.</H4><PRE>... 1: #ifdef _DEBUG 2:     virtual void AssertValid() const; 3:     virtual void Dump(CDumpContext&amp; dc) const; 4: #endif 5:  6: protected: 7:  8: // Generated message map functions 9: protected:10:     afx_msg void OnColorCommand(UINT nID);11:     afx_msg void OnWidthCommand(UINT nID);12:     afx_msg void OnUpdateColorUI(CCmdUI* pCmdUI);13:     afx_msg void OnUpdateWidthUI(CCmdUI* pCmdUI);14:     //{{AFX_MSG(CDay11Doc)15:         // NOTE - the ClassWizard will add and remove member functions             //here.16:         //    DO NOT EDIT what you see in these blocks of generated             //code !17:     //}}AFX_MSG18:     DECLARE_MESSAGE_MAP()19: private:20:     UINT m_nColor;21:     CObArray m_oaLines;</PRE><PRE>22: };</PRE><DL>	<DT></DT>	<DD><B>6. </B>Open the Day11Doc.cpp source-code file.	<P>	<DT></DT>	<DD><B>7. </B>Search for the line BEGIN_MESSAGE_MAP and add the lines in Listing	B.18 just after it. It's important that this code be between the BEGIN_MESSAGE_MAP	line and the //{{AFX_MSG_MAP line. If these commands are between the //{{AFX_MSG_MAP	and //}}AFX_MSG_MAP lines, then the Class Wizard will remove or corrupt them.	<P></DL><H4>LISTING B.18. THE EVENT-HANDLER MESSAGE MAP ENTRIES IN Day11Doc.cpp.</H4><PRE> 1:///////////////////////////////////////////////////////////////////////  2: // CDay11Doc 3:  4: IMPLEMENT_DYNCREATE(CDay11Doc, CDocument) 5:  6: BEGIN_MESSAGE_MAP(CDay11Doc, CDocument) 7:     ON_COMMAND_RANGE(ID_COLOR_BLACK, ID_COLOR_WHITE, OnColorCommand) 8:     ON_COMMAND_RANGE(ID_WIDTH_VTHIN, ID_WIDTH_VTHICK, OnWidthCommand) 9:     ON_UPDATE_COMMAND_UI_RANGE(ID_COLOR_BLACK, ID_COLOR_WHITE, 		&Acirc;OnUpdateColorUI)10:     ON_UPDATE_COMMAND_UI_RANGE(ID_WIDTH_VTHIN, ID_WIDTH_VTHICK, &Acirc;OnUpdateWidthUI)11:     //{{AFX_MSG_MAP(CDay11Doc)12:         // NOTE - the ClassWizard will add and remove mapping macros             //here.13:         //    DO NOT EDIT what you see in these blocks of generated             //code!14:     //}}AFX_MSG_MAP15: END_MESSAGE_MAP()16: 17: const COLORREF CDay11Doc::m_crColors[8] = {18:     RGB(   0,   0,   0),    // Black19:     RGB(   0,   0, 255),    // Blue..</PRE><P>.</P><DL>	<DT></DT>	<DD><B>8. </B>Scroll to the bottom of the file and add the two event message handler	functions in Listing B.19.	<P></DL><H4>LISTING B.19. THE WIDTH MENU EVENT HANDLER FUNCTIONS.</H4><PRE> 1: void CDay11Doc::OnWidthCommand(UINT nID) 2: { 3:     // Set the current width 4:     m_nWidth = nID - ID_WIDTH_VTHIN; 5: } 6:  7: void CDay11Doc::OnUpdateWidthUI(CCmdUI* pCmdUI) 8: { 9:     // Determine if the menu entry should be checked10:     pCmdUI-&gt;SetCheck(GetWidth() == pCmdUI-&gt;m_nID ? 1 : 0);</PRE><PRE>11: }</PRE><DL>	<DT></DT>	<DD><B>9. </B>Open the IDR_CONTEXTMENU in the Menu Designer.	<P>	<DT></DT>	<DD><B>10. </B>In the Width cascading menu, add the width menu entries just like	you did for the IDR_DAY11TYPE menu, using the same property settings. You can select	the ID from the drop-down list of IDs if you would rather search for them instead	of type.	<P></DL><H2><A NAME="Heading34"></A>Day 12</H2><H3>Quiz</H3><DL>	<DT></DT>	<DD><B>1. </B>How do you tie a toolbar button to a menu entry that triggers that	same function?	<P>	<DT></DT>	<DD>Give the toolbar button the same object ID as the menu entry.	<P>	<DT></DT>	<DD><B>2. </B>How do you make sure that a toolbar can be docked with the frame window?	<P>	<DT></DT>	<DD>Both must have docking enabled on the same sides (using the EnableDocking function)	in the OnCreate function of the frame class.	<P>	<DT></DT>	<DD><B>3. </B>How can you remove the Num Lock status indicator from the status bar?	<P>	<DT></DT>	<DD>Remove the ID_INDICATOR_NUM from the indicators table near the top of the main	frame source code file.	<P>	<DT></DT>	<DD><B>4. </B>Why do you have to edit the resource file to add a combo box to a toolbar?	<P>	<DT></DT>	<DD>You need to add a separator to the toolbar as a placeholder in the toolbar. The	toolbar designer will do its best to prevent you from adding the separators, assuming	that they are a mistake.	<P></DL><H3>Exercises</H3><DL>	<DT></DT>	<DD><B>1. </B>Add another pane to the status bar to display the current width selected.	<P>	<DT></DT>	<DD>Add an entry to the strings table with an ID of ID_INDICATOR_WIDTH and a caption	of VERY THICK.	<P>	<DT></DT>	<DD>Add another entry to the status bar indicators table at the beginning of CMainFrame.cpp:	<P></DL><PRE>static UINT indicators[] ={    ID_SEPARATOR,           // status line indicator    ID_INDICATOR_WIDTH,    ID_INDICATOR_COLOR,    ID_INDICATOR_CAPS,    ID_INDICATOR_NUM,    ID_INDICATOR_SCRL,</PRE><PRE>};</PRE><DL>	<DT></DT>	<DD>Add a new member function to the CToolbarDoc class. Specify the function type	as afx_msg void, the function definition as OnUpdateIndicatorWidth (CCmdUI *pCmdUI),	and the access as protected. Edit the function as follows:	<P></DL><PRE>void CToolbarDoc::OnUpdateIndicatorWidth(CCmdUI *pCmdUI){    CString strWidth;    // What is the current width?    switch (m_nWidth)    {    case 0:    // Very Thin        strWidth = &quot;VERY THIN&quot;;        break;    case 1:    // Thin        strWidth = &quot;THIN&quot;;        break;    case 2:    // Medium        strWidth = &quot;MEDIUM&quot;;        break;    case 3:    // Thick        strWidth = &quot;THICK&quot;;        break;    case 4:    // Very Thick        strWidth = &quot;VERY THICK&quot;;        break;    }    // Enable the status bar pane    pCmdUI-&gt;Enable(TRUE);    // Set the text of the status bar pane    // to the current width    pCmdUI-&gt;SetText(strWidth);</PRE><PRE>}</PRE><DL>	<DT></DT>	<DD>Edit the CToolbarDoc message map, adding the ON_UPDATE_COMMAND_UI message handler	entry as follows:	<P></DL><PRE>////////////////////////////////////////////////////////////////// CToolbarDocIMPLEMENT_DYNCREATE(CToolbarDoc, CDocument)BEGIN_MESSAGE_MAP(CToolbarDoc, CDocument)    ON_UPDATE_COMMAND_UI(ID_INDICATOR_WIDTH,&Acirc;OnUpdateIndicatorWidth)    ON_UPDATE_COMMAND_UI(ID_INDICATOR_COLOR,&Acirc;OnUpdateIndicatorColor)    //{{AFX_MSG_MAP(CToolbarDoc)    ON_UPDATE_COMMAND_UI(ID_WIDTH_VTHIN, OnUpdateWidthVthin)..    ON_COMMAND(ID_WIDTH_VTHIN, OnWidthVthin)    //}}AFX_MSG_MAP</PRE><PRE>END_MESSAGE_MAP()</PRE><DL>	<DT></DT>	<DD><B>2. </B>Add a button to the main toolbar that can be used to toggle the color	toolbar on and off, as in Figure 12.7.	<P>	<DT></DT>	<DD>Open the IDR_MAINFRAME toolbar in the toolbar designer. Paint an icon for the	blank button at the end of the toolbar. Double-click the button to open its

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一二三区| 中文字幕欧美激情一区| 五月婷婷久久综合| 欧美丝袜丝nylons| 三级在线观看一区二区 | av色综合久久天堂av综合| 国产精品国产三级国产专播品爱网 | 欧美日韩免费观看一区二区三区| 亚洲一区二区视频在线观看| 欧美区视频在线观看| 精品一区二区日韩| 国产清纯在线一区二区www| 91在线观看高清| 天天做天天摸天天爽国产一区| 欧美一区二区三区精品| 国产在线播放一区| 日韩一区日韩二区| 日韩一卡二卡三卡| 成人性色生活片| 午夜精品视频在线观看| 久久综合久久99| 色狠狠av一区二区三区| 老司机精品视频一区二区三区| 国产三级精品视频| 欧美精品久久99久久在免费线 | 91在线丨porny丨国产| 亚洲成a人在线观看| 久久九九99视频| 精品视频免费在线| 国产成人亚洲综合色影视| 亚洲国产一区二区三区青草影视| 日韩美女主播在线视频一区二区三区| www.爱久久.com| 奇米亚洲午夜久久精品| **欧美大码日韩| 2023国产精品视频| 欧美三级中文字幕| 成人毛片老司机大片| 日本亚洲欧美天堂免费| 亚洲精品精品亚洲| 国产日韩av一区| 日韩精品一区二区三区三区免费| 99久久国产综合精品麻豆 | 国产成人免费视频一区| 婷婷综合五月天| 亚洲欧洲精品成人久久奇米网| 日韩一区二区不卡| 欧美三区在线观看| 色综合视频一区二区三区高清| 蜜臀av一区二区| 午夜精品影院在线观看| 自拍偷拍亚洲综合| 国产精品网曝门| 精品处破学生在线二十三| 欧美顶级少妇做爰| 欧美三级午夜理伦三级中视频| 99久久综合色| 成人免费视频免费观看| 狠狠色丁香婷婷综合| 另类欧美日韩国产在线| 日韩**一区毛片| 亚洲成人在线免费| 亚洲国产精品自拍| 一区二区三区精品| 亚洲欧美区自拍先锋| 中文字幕制服丝袜成人av| 国产亚洲欧洲一区高清在线观看| 日韩欧美高清dvd碟片| 欧美精品日韩一区| 欧美丰满少妇xxxbbb| 欧美日韩国产一级片| 欧美性受xxxx黑人xyx性爽| 色婷婷av一区二区| 日本高清不卡aⅴ免费网站| 99精品国产视频| 91丨九色丨蝌蚪丨老版| 91论坛在线播放| 一本色道久久综合精品竹菊| 91免费在线播放| 91福利国产成人精品照片| 欧美亚洲综合在线| 精品视频资源站| 日韩亚洲欧美一区二区三区| 欧美一区二区三区性视频| 欧美一二三四在线| 久久女同互慰一区二区三区| 国产亚洲欧美一级| ●精品国产综合乱码久久久久| 亚洲精品精品亚洲| 亚洲电影中文字幕在线观看| 午夜电影一区二区| 久久国内精品视频| 成人免费毛片a| 色悠悠久久综合| 欧美日韩国产一区二区三区地区| 日韩一区二区三区视频在线观看| 26uuu国产在线精品一区二区| 日本一区二区视频在线观看| 国产精品夫妻自拍| 亚洲午夜三级在线| 久久精品99久久久| 成人av免费在线播放| 欧美天天综合网| 精品日韩一区二区三区| 欧美高清一级片在线观看| 亚洲男女一区二区三区| 日本不卡1234视频| 成人精品高清在线| 欧美美女网站色| 欧美激情自拍偷拍| 日韩影视精彩在线| 丰满放荡岳乱妇91ww| 欧美日韩在线播放三区四区| 精品国产99国产精品| 日韩理论片网站| 久久99久久99精品免视看婷婷| 成人av午夜电影| 日韩精品一区二区三区在线 | 欧美亚洲综合网| 精品久久久久久久久久久院品网 | 国产成人一区在线| 欧美日韩成人综合| 中文在线免费一区三区高中清不卡| 亚洲激情中文1区| 国产乱码精品一区二区三区忘忧草 | 亚洲国产精品成人综合| 日一区二区三区| 成人黄色一级视频| 制服丝袜国产精品| 国产精品国产三级国产专播品爱网| 调教+趴+乳夹+国产+精品| 成人avav在线| 精品蜜桃在线看| 午夜电影一区二区三区| 99久久精品免费看国产免费软件| 欧美一区二区三区在线视频| 亚洲欧美另类图片小说| 国产激情精品久久久第一区二区| 欧美日韩视频专区在线播放| 国产精品美女久久久久aⅴ国产馆| 免费美女久久99| 欧美写真视频网站| 亚洲欧洲av在线| 丁香五精品蜜臀久久久久99网站| 欧美一区二区视频在线观看| 亚洲综合色婷婷| 欧美国产1区2区| 激情综合色综合久久综合| 91.xcao| 午夜国产精品一区| 欧美色图第一页| 亚洲一区精品在线| 色婷婷激情一区二区三区| 国产精品久久久久影院色老大| 国产一区二区视频在线| 欧美一区二区高清| 午夜国产精品影院在线观看| 欧美性高清videossexo| 亚洲视频网在线直播| 国产人成亚洲第一网站在线播放| 美女在线视频一区| 日韩欧美国产电影| 麻豆国产精品一区二区三区| 日韩欧美电影在线| 日本不卡一二三| 日韩精品一区二区三区三区免费 | 国产成人精品一区二区三区四区 | 在线影院国内精品| 亚洲一区在线电影| 欧美主播一区二区三区美女| 亚洲激情第一区| 91黄视频在线| 一区二区三区在线视频免费| 91在线国产观看| 亚洲最新在线观看| 欧美高清精品3d| 人人超碰91尤物精品国产| 欧美刺激脚交jootjob| 国产酒店精品激情| 国产精品九色蝌蚪自拍| 日本高清成人免费播放| 午夜在线成人av| 欧美变态tickling挠脚心| 激情图区综合网| 欧美极品美女视频| 色成人在线视频| 丝袜诱惑亚洲看片| 精品久久久久久久久久久久包黑料| 久久丁香综合五月国产三级网站| 精品国产自在久精品国产| 国产成都精品91一区二区三| 亚洲欧美日韩国产另类专区| 欧美日韩一区二区三区在线看| 日韩不卡一二三区| 国产欧美一区二区三区沐欲| 色8久久精品久久久久久蜜| 日韩电影在线观看一区| 国产欧美日韩综合精品一区二区| 成a人片国产精品| 日韩中文字幕不卡|