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

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

?? apb.htm

?? 好的教程Vc++21 天
?? 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区不卡在线| 欧美色精品天天在线观看视频| 久久se精品一区精品二区| 日本在线播放一区二区三区| 丝袜美腿亚洲色图| 国产综合色产在线精品 | 国产精品污www在线观看| 椎名由奈av一区二区三区| 亚洲一区二区精品视频| 视频一区二区不卡| 国产福利精品一区| 在线观看视频一区| 精品国产伦一区二区三区观看方式 | 国产女主播视频一区二区| 最新久久zyz资源站| 亚洲人成伊人成综合网小说| 婷婷中文字幕综合| 国产精品一级片在线观看| caoporm超碰国产精品| 日韩一区二区三区四区| 国产精品色在线观看| 日本伊人精品一区二区三区观看方式| 国产精品一区二区果冻传媒| 欧美日韩一区中文字幕| 国产亚洲成年网址在线观看| 亚洲欧美国产毛片在线| 人人精品人人爱| 91久久精品国产91性色tv| 26uuu久久天堂性欧美| 日本aⅴ亚洲精品中文乱码| 不卡av电影在线播放| 91丨九色丨国产丨porny| 欧美精品一区二区不卡 | 欧美韩日一区二区三区| 免费欧美在线视频| 欧美美女网站色| 亚洲自拍偷拍麻豆| eeuss鲁一区二区三区| 久久久影院官网| 精品一区精品二区高清| 日韩精品自拍偷拍| 青青草一区二区三区| 欧美高清性hdvideosex| 日本成人中文字幕| 日韩一区二区中文字幕| 免费av成人在线| 日韩欧美一区在线观看| 国产精品网站导航| 国产 日韩 欧美大片| 最新国产成人在线观看| 99久久免费国产| 亚洲黄色在线视频| 7777精品伊人久久久大香线蕉最新版 | 国产成人免费在线观看不卡| 久久久久久久久久美女| 国产一区二区在线影院| 自拍偷在线精品自拍偷无码专区| 成人福利视频在线| 一卡二卡三卡日韩欧美| 欧美日韩一区 二区 三区 久久精品| 亚洲成人av一区二区三区| 日韩亚洲欧美综合| 国产一区视频在线看| 国产综合色精品一区二区三区| 国产三级欧美三级| 91麻豆免费看| 亚洲综合999| 欧美大片免费久久精品三p| 高清成人免费视频| 精品成人私密视频| 99久久99久久精品免费观看 | 亚洲黄色尤物视频| 欧美午夜在线一二页| 美国十次了思思久久精品导航| 日韩一区二区三区视频在线| 国产一区二区三区在线观看免费视频| 欧美一区二区播放| www.色精品| 国产麻豆视频精品| 青青草原综合久久大伊人精品 | 国产人成亚洲第一网站在线播放 | 欧美a一区二区| 欧美另类videos死尸| 综合久久久久综合| 欧美激情艳妇裸体舞| 国产肉丝袜一区二区| 91精品视频网| 欧美日韩大陆一区二区| 欧美视频一区二区三区在线观看| 成人午夜视频网站| 国产99久久久国产精品潘金| 久久精品国产99国产精品| 日本女人一区二区三区| 亚洲福利一二三区| 午夜视频在线观看一区二区三区| 亚洲欧美日韩国产成人精品影院 | 久久亚洲综合av| 黄网站免费久久| 国产在线播放一区三区四| 视频一区免费在线观看| 亚洲午夜精品在线| 麻豆91小视频| 丰满白嫩尤物一区二区| 99久久精品99国产精品| 欧美性大战久久久久久久蜜臀| 91精品国产美女浴室洗澡无遮挡| 精品久久久久99| 国产精品乱码妇女bbbb| 亚洲国产欧美日韩另类综合| 婷婷久久综合九色综合伊人色| 韩国三级在线一区| 99精品一区二区| 欧美精品一区二区三区蜜桃| 成人欧美一区二区三区黑人麻豆| 五月天国产精品| 菠萝蜜视频在线观看一区| 91精品国产色综合久久不卡电影| 国产欧美一区二区精品性色| 日韩黄色片在线观看| 91在线观看高清| 337p粉嫩大胆色噜噜噜噜亚洲 | 午夜精品爽啪视频| 99国产精品久久久久久久久久| 精品粉嫩aⅴ一区二区三区四区| 一区二区三区中文字幕| gogogo免费视频观看亚洲一| 国产亚洲综合在线| 国产黄色成人av| 久久久久久久av麻豆果冻| 黄色精品一二区| www一区二区| 成人小视频在线| 国产精品女同互慰在线看| 国产成人av网站| 国产清纯在线一区二区www| 国产99久久久国产精品潘金 | 欧美日韩成人高清| 国产精品无人区| 国产乱码精品一区二区三| 日韩一区二区在线观看视频 | 亚洲一二三专区| 99精品久久只有精品| 久久综合一区二区| 精品一区二区三区在线观看 | 视频在线观看91| 欧美精品精品一区| 婷婷国产v国产偷v亚洲高清| 91福利区一区二区三区| 亚洲精品欧美综合四区| 色一情一伦一子一伦一区| 亚洲男人电影天堂| 在线一区二区三区四区五区| 亚洲日本在线观看| 色婷婷一区二区三区四区| 亚洲午夜视频在线观看| 日韩亚洲欧美高清| 国产一区二区三区四区在线观看| www激情久久| 99久久精品一区| 日韩av网站在线观看| 欧美一区二区视频在线观看 | 日韩一区二区精品葵司在线| 久久国产乱子精品免费女| 国产午夜亚洲精品理论片色戒 | 亚洲一区二区视频在线观看| 在线不卡一区二区| 国产一区二区三区美女| 中文字幕一区二区三区av| 欧美日韩一区二区在线观看 | 国产精品久久久久久久久久久免费看 | 国产自产2019最新不卡| 国产精品每日更新| 91精品国产综合久久精品| 国产精品99久久久久久久女警 | 欧美三级电影精品| 国产高清视频一区| 18成人在线观看| 日韩视频一区二区三区| av不卡在线观看| 九色综合狠狠综合久久| 亚洲免费三区一区二区| 久久久三级国产网站| jizzjizzjizz欧美| 奇米综合一区二区三区精品视频| 国产精品久久久久久久久免费樱桃| 欧美日韩欧美一区二区| www.综合网.com| 国产精品一区二区久久精品爱涩| 亚洲va欧美va人人爽| 一区二区三区在线播| 亚洲欧洲一区二区在线播放| 欧美精品一区二区三区蜜桃视频| 欧美网站大全在线观看| 色播五月激情综合网| 成人va在线观看| 国产精品1区2区3区| 久久不见久久见中文字幕免费| 水野朝阳av一区二区三区| 亚洲成人黄色小说| 亚洲与欧洲av电影|