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

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

?? ch12.htm

?? 21天學會VC的英文版
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<!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 -- Ch 12 -- Adding Toolbars and Status Bars</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="../ch11/ch11.htm"><IMG SRC="../button/previous.gif" WIDTH="128" HEIGHT="28"ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="../ch13/ch13.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">- 12 -<BR>Adding Toolbars and Status Bars</H1><H1></H1><UL>	<LI><A HREF="#Heading1">Toolbars, Status Bars, and Menus</A>	<LI><A HREF="#Heading2">Designing a Toolbar</A>	<UL>		<LI><A HREF="#Heading3">Creating a New Toolbar</A>		<LI><A HREF="#Heading4">Attaching the Toolbar to the Application Frame</A>		<LI><A HREF="#Heading5">Controlling the Toolbar Visibility</A>	</UL>	<LI><A HREF="#Heading6">Adding a Combo Box to a Toolbar</A>	<UL>		<LI><A HREF="#Heading7">Editing the Project Resources</A>		<LI><A HREF="#Heading8">Creating the Toolbar Combo Box</A>		<LI><A HREF="#Heading9">Handling the Toolbar Combo Box Events</A>		<LI><A HREF="#Heading10">Updating the Toolbar Combo Box</A>	</UL>	<LI><A HREF="#Heading11">Adding a New Status Bar Element</A>	<UL>		<LI><A HREF="#Heading12">Adding a New Status Bar Pane</A>		<LI><A HREF="#Heading13">Setting a Status Bar Pane Text</A>	</UL>	<LI><A HREF="#Heading14">Summary</A>	<LI><A HREF="#Heading15">Q&amp;A</A>	<LI><A HREF="#Heading16">Workshop</A>	<UL>		<LI><A HREF="#Heading17">Quiz</A>		<LI><A HREF="#Heading18">Exercises</A>	</UL></UL><P><HR SIZE="4"><BR>When you created your SDI and MDI applications, they not only came with default menusalready attached, but also they came with simple toolbars to go with the menus. Thesesimple toolbars had the standard set of functions (New, Open, Save, Print, Cut, Copy,and Paste) that are on the toolbars of most Windows applications. Most applicationsdon't limit their toolbars to just this standard selection of functions but havecustomized toolbars that reflect the specific functionality of the application.</P><P>In addition to the toolbars, the SDI and MDI applications have a status bar atthe bottom of the frame that provides textual descriptions of the toolbar buttonsand menu entries. The status bar also has default areas that display whether theCaps, Num, and Scroll Lock keys are on.</P><P>Today, you will learn</P><P><UL>	<LI>How to design your own toolbar.	<P>	<LI>How to attach your toolbar to the application frame.	<P>	<LI>How to show and hide your toolbar with a menu entry.	<P>	<LI>How to place a combo box on your toolbar.	<P>	<LI>How to display descriptions of your toolbar entries in the status bar.	<P>	<LI>How to add your own status bar elements.</UL><H2><A NAME="Heading1"></A>Toolbars, Status Bars, and Menus</H2><P>One of the driving intentions behind the development of Graphical User Interfaces(GUI) such as Windows was the goal of making computers easier to use and learn. Inthe effort to accomplish this goal, GUI designers stated that all applications shoulduse a standard set of menus and that the menus should be organized in a standardizedmanner. When Microsoft designed the Windows operating system, it followed this samephilosophy, using a standard set of menus organized in a standard order on most ofits applications.</P><P>A funny thing happened once Windows became widely used. The application designersfound that new users still had a difficult time learning new applications and thatadvanced users found the menus cumbersome. As a result, the application designersinvented toolbars as one solution to both problems.</P><P>A toolbar is a small band attached to the window frame or a dialog window thatis floating independent of the application frame. This band (or dialog) has a numberof small buttons containing graphic images that can be used in place of the menus.The application designers place the most commonly used functions for their applicationson these toolbars and do their best to design graphical images that illustrate thefunctions the buttons serve.</P><P>Once advanced users learned what each of the toolbar buttons do, the toolbarswere a hit. However, novice users still had problems learning what the toolbar does.As a result, the application designers went back to the drawing board to come upwith ways to help the new user learn how use the toolbar buttons.</P><P>One of the solutions was to use the information bar that many of them had begunplacing at the bottom of application windows to provide detailed descriptions ofboth menu entries and toolbar buttons. One of the other solutions was to providea little pop-up window with a short description of the button that appears wheneverthe mouse is positioned over the button for more than a couple of seconds. The firstof these solutions became known as the status bar, and the second became known astooltips. Both solutions are in common practice with most Windows applications today.</P><P>If you want to design and use your own toolbars and status bars in your applications,you might think that Visual C++ provides plenty of support for your efforts and evenmakes it easy to implement. After all, Microsoft's own application developers havebeen in the forefront of developing these elements, and most, if not all, of Microsoft'sWindows applications are developed using its own Visual C++. Well, you are correctin making that assumption, and today, you'll learn how to create your own customtoolbars and status bars for your applications.</P><P><H2><A NAME="Heading2"></A>Designing a Toolbar</H2><P>For learning how to create your own toolbar, you will modify the application thatyou created on Day 10, &quot;Creating Single Document Interface Applications,&quot;the SDI drawing application, to add a toolbar for selecting the color to use in drawing.</P><BLOCKQUOTE>	<P><HR><STRONG>NOTE:</STRONG> Although the sample application you are working with today is an	extension to the application you built on Day 10, all file and class names have been	changed from Day10 to Toolbar. If you are making the changes in the Day 10 project,	then when the following text specifies that you make changes to the CToolbarDoc class,	you should make the changes to the CDay10Doc class. Likewise, when you are asked	to edit the Toolbar.rc file, you can edit the Day10.rc file.<HR></BLOCKQUOTE><P>If all you want to do is add a few additional toolbar buttons to the default toolbarthat the AppWizard creates when you start a new SDI or MDI application, you can pullup the toolbar in the Visual C++ designer through the Resource View in the workspacepane and begin adding new buttons. Just as in the Menu Designer, the end of the toolbaralways has a blank entry, waiting for you to turn it into another toolbar button,as shown in Figure 12.1. All you have to do is select this blank button, drag itto the right if you want a separator between it and the button beside it, or dragit to a different position if you want it moved. After you have the button in thedesired location, you paint an icon on the button that illustrates the function thatthe button will trigger. Finally, double-click the button in the toolbar view toopen the button's properties dialog and give the button the same ID as the menu thatit will trigger. The moment that you compile and run your application, you will havea new toolbar button that performs a menu selection that you chose. If you want toget rid of a toolbar button, just grab it on the toolbar view, and drag it off thetoolbar.</P><P><A HREF="javascript:popUp('12fig01tif.gif')"><B>FIGURE 12.1.</B></A><B> </B><I>Thetoolbar designer.</I></P><P><I></I><H3><A NAME="Heading3"></A>Creating a New Toolbar</H3><P>To insert a new toolbar, right-click on the Toolbar folder and select Insert Toolbarfrom the pop-up menu. This creates an empty toolbar with a single blank button. Asyou start drawing an icon on each of the blank buttons in the toolbar, another blankbutton is added on the end.</P><P>For use in your drawing application, fill eight buttons with the eight colorsavailable in the drawing application.</P><P>Once you draw icons on each of the buttons in your toolbar, double-click on thefirst button in the toolbar view. This should open the toolbar button propertiesdialog. In the ID field, enter (or select from the drop-down list) the ID of themenu that this toolbar button should trigger. In the Prompt field, enter the descriptionthat should appear in the status bar for this toolbar button. (If you entered a promptfor the menu, then this field is automatically populated with the menu description.)At the end of the status bar description, add \n and a short description to appearin the tooltips for the toolbar button.</P><BLOCKQUOTE>	<P><HR><STRONG>NOTE:</STRONG> In C/C++, the \n string is a shorthand notation for &quot;begin a	new line.&quot; In the prompt for toolbar buttons and menu entries, this string is	used to separate the status bar descriptions of the menu entries and the tooltips	pop-up prompt that appears when the mouse is held over a toolbar button for a few	seconds. The first line of the prompt is used for the status bar description, and	the second line is used for the tooltips description. The tooltips description is	only used with the toolbars, so there's no reason to add this for menu entries that	will have no toolbar equivalents.<HR></BLOCKQUOTE><P>For example, for the black button on the toolbar that you are creating for yourdrawing application, enter an ID of <B>ID_COLOR_BLACK</B> and a prompt of <B>Blackdrawing color\nBlack</B>, as shown in Figure 12.2.</P><P><A HREF="javascript:popUp('12fig02tif.gif')"><B>FIGURE 12.2.</B></A><B> </B><I>Thetoolbar button properties dialog.</I></P><P>Once you finish designing your toolbar and have icons on all of your buttons withthe properties set for each button, you will change the toolbar ID. In the workspacepane, right-click the new toolbar that you just added and open its properties dialog.Change the toolbar ID to a descriptive name.</P><P>As an example, for the color toolbar that you created for your drawing application,change the toolbar ID to IDR_TBCOLOR.</P><P><H3><A NAME="Heading4"></A>Attaching the Toolbar to the Application Frame</H3><P>In the previous SDI and MDI applications, you didn't add any functionality thatrequired you to touch the frame window. Well, because the toolbar is attached tothe frame, you'll have to begin adding and modifying code in that module. If youopen the CMainFrame class to the OnCreate function, you'll see where it's creatingthe existing toolbar and then later in this function where the toolbar is being attachedto the frame.</P><P>Before you can add your toolbar to the application frame, you need to add a variableto the CMainFrame class to hold the new toolbar. This variable of type CToolBar shouldbe protected in accessibility.</P><P>To add your color toolbar to your draw application, right-click the CMainFrameclass in the Class View tab of the workspace pane. Select Add Member Variable fromthe pop-up menu, and specify the variable type as CToolBar, the name as m_wndColorBar,and the access as protected.</P><P>After you add a variable for your toolbar, you need to add some code in the OnCreatefunction in the CMainFrame class to add the toolbar and attach it to the frame. Makethe modifications in Listing 12.1 to add the color toolbar to your drawing application.</P><P><H4>LISTING 12.1. THE MODIFIED CMainFrame.OnCreate FUNCTION.</H4><PRE> 1:  int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 2: { 3:     if (CFrameWnd::OnCreate(lpCreateStruct) == -1) 4:         return -1; 5:  6:     if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT,                  &Acirc;WS_CHILD | WS_VISIBLE | CBRS_TOP 7:         | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY |         &Acirc;CBRS_SIZE_DYNAMIC) || 8:         !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) 9:     {10:         TRACE0(&quot;Failed to create toolbar\n&quot;);11:         return -1;      // fail to create12:     }13: 14:     ///////////////////////</PRE><PRE>15:     // MY CODE STARTS HERE</PRE><PRE>16:     ///////////////////////17: 18:     // Add the color toolbar19:     int iTBCtlID;20:     int i;21: 22:     // Create the Color Toolbar23:     if (!m_wndColorBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD |24:         WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS |25:         CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||26:         !m_wndColorBar.LoadToolBar(IDR_TBCOLOR))27:     {28:         TRACE0(&quot;Failed to create toolbar\n&quot;);29:         return -1;      // fail to create30:     }31:     // Find the Black button on the toolbar32:     iTBCtlID = m_wndColorBar.CommandToIndex(ID_COLOR_BLACK);33:     if (iTBCtlID &gt;= 0)34:     {35:         // Loop through the buttons, setting them to act as radio                 &Acirc;buttons36:         for (i= iTBCtlID; i &lt; (iTBCtlID + 8); i++)37:             m_wndColorBar.SetButtonStyle(i, TBBS_CHECKGROUP);38:     }39: 40:     ///////////////////////41:     // MY CODE ENDS HERE42:     ///////////////////////43: 44:     if (!m_wndStatusBar.Create(this) ||

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蓝色福利精品导航| 国产亚洲一区二区三区在线观看| 国产视频一区二区三区在线观看| 青青草国产成人99久久| 精品污污网站免费看| 亚洲乱码国产乱码精品精98午夜 | 91麻豆高清视频| 国产欧美日韩亚州综合| 国产精品99久久久久| 久久综合九色综合欧美就去吻| 久久精品72免费观看| 日韩免费看网站| 美女视频黄免费的久久| 精品国产污污免费网站入口| 日本色综合中文字幕| 日韩女优视频免费观看| 国内成人自拍视频| 337p日本欧洲亚洲大胆精品| 看片的网站亚洲| 精品乱人伦小说| 国产乱国产乱300精品| 国产色综合久久| 久久国产精品99久久人人澡| 精品免费一区二区三区| 日韩精品电影在线观看| 日韩一区二区精品| 国产精品主播直播| 中文字幕一区二区在线播放| 色欲综合视频天天天| 亚洲美女免费在线| 欧美日韩国产高清一区| 久久99精品久久久| 久久久不卡影院| 成人免费毛片嘿嘿连载视频| 亚洲黄色在线视频| 制服.丝袜.亚洲.另类.中文| 国产一区二区三区在线观看免费视频| 久久精品在线观看| 色菇凉天天综合网| 男人操女人的视频在线观看欧美| 欧美一区二区三区精品| 国产福利一区二区三区在线视频| 亚洲精品一卡二卡| 日韩一区二区在线播放| 不卡高清视频专区| 亚洲丶国产丶欧美一区二区三区| 日韩三级视频在线观看| 成熟亚洲日本毛茸茸凸凹| 日韩国产欧美三级| 一区二区三区成人在线视频| 久久久电影一区二区三区| 538在线一区二区精品国产| 99视频在线精品| 激情欧美一区二区| 日韩主播视频在线| 亚洲一区视频在线| 综合电影一区二区三区 | 国产丝袜在线精品| 精品久久久三级丝袜| 欧美日韩久久久久久| 色婷婷综合久色| 成人av免费网站| 国产一区在线看| 日韩精品福利网| 亚洲二区视频在线| 亚洲欧美电影院| 中文乱码免费一区二区| 久久久久久一二三区| 日韩三区在线观看| 欧美一区二区三区四区五区| 在线观看一区日韩| 色中色一区二区| 色天使久久综合网天天| 91在线国产观看| voyeur盗摄精品| 不卡在线视频中文字幕| 成人激情视频网站| 丁香婷婷深情五月亚洲| 国产成人一区在线| 风间由美一区二区三区在线观看| 国产一级精品在线| 国产成人免费av在线| 国产成人无遮挡在线视频| 国产成人免费9x9x人网站视频| 国产最新精品精品你懂的| 激情综合色综合久久| 国产一区二区三区蝌蚪| 国产精品综合久久| 成人午夜视频在线观看| jizz一区二区| 91视频免费播放| 欧美在线你懂的| 在线成人午夜影院| 精品捆绑美女sm三区| 久久午夜色播影院免费高清| 国产日韩精品久久久| 国产精品乱人伦中文| 亚洲免费观看高清完整版在线| 一区二区三区小说| 日本免费新一区视频| 久久国产精品99久久久久久老狼 | 免费在线观看视频一区| 另类欧美日韩国产在线| 成人综合在线观看| 欧美日韩在线精品一区二区三区激情 | 国产精品进线69影院| 亚洲日本电影在线| 日韩在线卡一卡二| 国产成人免费在线观看不卡| 99免费精品视频| 欧美日韩精品二区第二页| 欧美一卡二卡在线观看| 国产日韩精品一区二区三区| 亚洲在线一区二区三区| 久久国产日韩欧美精品| av影院午夜一区| 制服丝袜中文字幕一区| 国产亚洲综合在线| 亚洲国产日韩综合久久精品| 麻豆国产欧美日韩综合精品二区 | 91黄色免费版| 欧美变态凌虐bdsm| 自拍偷拍欧美精品| 日韩不卡一区二区三区| 成人黄色小视频| 欧美精品乱码久久久久久按摩| 337p粉嫩大胆噜噜噜噜噜91av| 17c精品麻豆一区二区免费| 婷婷久久综合九色综合绿巨人 | 欧美精品乱人伦久久久久久| 国产欧美一区二区三区网站| 亚洲va天堂va国产va久| 成人毛片老司机大片| 91精品国产色综合久久不卡蜜臀| 国产精品精品国产色婷婷| 欧美96一区二区免费视频| 91看片淫黄大片一级在线观看| 精品欧美乱码久久久久久 | 欧美一级免费观看| 亚洲女厕所小便bbb| 国产高清精品久久久久| 欧美一区在线视频| 亚洲成人高清在线| 91性感美女视频| 欧美韩国日本综合| 精品一区二区三区久久| 欧美日韩精品一区二区在线播放| 国产欧美日韩不卡免费| 久久成人精品无人区| 欧美日韩亚洲综合在线 | 97久久精品人人做人人爽| 精品国产伦一区二区三区观看体验 | 午夜视黄欧洲亚洲| 91成人看片片| 亚洲免费毛片网站| av不卡在线播放| 久久天堂av综合合色蜜桃网| 蜜臀av亚洲一区中文字幕| 精品视频一区 二区 三区| 亚洲欧美日韩一区| 91亚洲精品乱码久久久久久蜜桃| 国产日韩欧美一区二区三区综合| 麻豆freexxxx性91精品| 7777精品伊人久久久大香线蕉经典版下载 | 老司机精品视频导航| 69av一区二区三区| 日韩电影在线观看电影| 欧美绝品在线观看成人午夜影视| 亚洲伊人色欲综合网| 91福利资源站| 亚洲午夜国产一区99re久久| 91浏览器打开| 亚洲一区二区三区四区在线| 91福利国产精品| 午夜精品久久久久久久99水蜜桃| 欧美午夜精品一区二区三区| 亚洲www啪成人一区二区麻豆| 欧美日韩免费视频| 奇米影视7777精品一区二区| 日韩一区二区三区在线观看 | 久久久久国产成人精品亚洲午夜| 免费在线观看日韩欧美| 精品99一区二区| 国产河南妇女毛片精品久久久| 国产清纯在线一区二区www| 成人午夜视频网站| 一区二区三区小说| 7777精品伊人久久久大香线蕉经典版下载 | 成人黄色软件下载| 一区免费观看视频| 欧美性一二三区| 日本美女视频一区二区| 日韩欧美国产午夜精品| 国产在线精品一区二区不卡了| 国产婷婷色一区二区三区四区| 成人深夜在线观看| 亚洲va欧美va人人爽午夜| 精品国产乱码久久| 成人av网址在线| 日韩精品电影在线观看|