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

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

?? ch16.htm

?? 24小時精通VC
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD>		<META NAME="GENERATOR" Content="Symantec Visual Page Mac 1.1">	<TITLE>Teach Yourself Visual C++&#174; 5 in 24 Hours -- Hour 16 -- Up-Down, Progress, and Slider Controls</TITLE></HEAD><BODY TEXT="#000000" BGCOLOR="#FFFFFF"><H1 ALIGN="CENTER"><IMG SRC="../button/sams.gif" WIDTH="171" HEIGHT="66" ALIGN="BOTTOM"BORDER="0"><BR><FONT COLOR="#000077">Teach Yourself Visual C++&#174; 5 in 24 Hours</FONT></H1><CENTER><P><A HREF="../ch15/ch15.htm"><IMG SRC="../button/previous.gif" WIDTH="128" HEIGHT="28"ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="../ch17/ch17.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"><FONT COLOR="#000077">- Hour 16 -<BR>Up-Down, Progress, and Slider Controls</FONT></H1><P>In this hour, you will learn about controls that were first offered in Windows95:<UL>	<LI>The up-down or spin control<BR>	<BR>		<LI>The slider control, also known as the trackbar control<BR>	<BR>		<LI>The progress control</UL><P>You will build one sample program in this hour. As each control is discussed,it will be added to the sample project.<H2><FONT COLOR="#000077"><B>A Common Control Overview</B></FONT></H2><P>When Windows 95 was released, it included a number of brand-new controls. Thesecontrols, known collectively as the common controls, added exciting features to theWindows user interface. The controls covered in this book, along with their associatedMFC classes, are shown in Table 16.1.<H4><FONT COLOR="#000077">Table 16.1. Some common controls and their MFC classes.</FONT></H4><P><TABLE BORDER="1">	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP"><B>Control</B></TD>		<TD ALIGN="LEFT" VALIGN="TOP"><B>Class</B></TD>	</TR>	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP">Image List</TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>CImageList</TT></TD>	</TR>	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP">List</TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>CListCtrl</TT></TD>	</TR>	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP">Progress</TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>CProgressCtrl</TT></TD>	</TR>	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP">Slider (Trackbar)</TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>CSliderCtrl</TT></TD>	</TR>	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP">Up-down (Spin)</TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>CSpinButtonCtrl</TT></TD>	</TR>	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP">Tree</TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>CTreeCtrl</TT></TD>	</TR></TABLE><H2><FONT COLOR="#000077"><B>Using the Up-Down Control</B></FONT></H2><P>The up-down control, often called the spin control, is a pair of small arrowsthat resemble the ends of a scrollbar but are smaller. Up-down controls are oftenused to adjust the value of another control that is associated with the up-down control.</P><P><FONT COLOR="#000077"><B>New Term:</B></FONT><B> </B>The control that is pairedwith the up-down control is known as the <I>buddy</I> <I>control</I>. The buddy controlis normally an edit control.</P><P>An up-down control can also be aligned horizontally. A horizontal up-down controlis not called a left-right control; it keeps its original name.</P><P>By default, clicking the up arrow decreases the value of the buddy control, andclicking the down arrow increases the value contained in the buddy control. The upand down arrows work a lot like a scrollbar in a word-processing document--clickingthe up arrow moves you to a lower-numbered page, clicking the down arrow moves youto a higher-numbered page. This behavior is confusing to most people; fortunately,it's easy to change, as you see in the section &quot;Changing the Behavior of theUp-Down Control.&quot;</P><P>Up-down controls are ideal for situations where a set of values can be scrolledby a user. If the user needs to adjust the values by only a few units, an up-downcontrol is perfect because it enables the user to select a new value with only afew mouse clicks.</P><P>An up-down control is very easy to use. To use the default functionality of theup-down control, you need to write exactly zero lines of source code! Even the mostadvanced uses for up-down controls require just a few lines of source code; mostof the code is written by ClassWizard.<H3><FONT COLOR="#000077"><B>The Sample Program</B></FONT></H3><P>For the examples created in this hour, you use a dialog box-based project namedControls. This project starts with an up-down control; later in the chapter, youadd a slider and a progress control.</P><P>To create the Controls project, use AppWizard to create a new project workspace.Select a dialog box-based project and click the Finish button.<H3><FONT COLOR="#000077"><B>Adding an Up-Down Control to a Dialog Box</B></FONT></H3><P>Adding an up-down control to the Controls dialog box is just like adding othercontrols. Open the main dialog box in the dialog box editor by selecting the ResourceViewtab in the project workspace and opening the Dialog folder. Open the <TT>IDD_CONTROLS_DIALOG</TT>by double-clicking the dialog box icon or by right-clicking the icon and selectingOpen from the pop-up menu. To place the up-down control, you can either drag anddrop the control from the control palette to the main dialog box, or you can selectthe up-down control on the tool palette using the mouse and then click the desiredposition in the main dialog box.</P><P>Open the Properties dialog box for the up-down control by right-clicking the controland selecting Properties from the pop-up menu. Change the control's resource ID to<TT>IDC_SPIN</TT>. All other properties should be set to their default values.<H3><FONT COLOR="#000077"><B>Up-Down Control Properties</B></FONT></H3><P>As with other controls, up-down controls have properties that you can change usingthe Developer Studio resource editor. The properties available for an up-down controlinclude the following:<UL>	<LI><I>ID</I> is used for the up-down control's resource ID. A default resource ID,	such as <TT>IDC_SPIN1</TT>, is supplied by Developer Studio.<BR>	<BR>		<LI><I>Visible</I> is used to indicate that the control is initially visible. This	check box is usually checked.<BR>	<BR>		<LI><I>Disabled</I> is used to indicate the control should be initially disabled.	This check box is usually cleared.<BR>	<BR>		<LI><I>Group</I> is used to mark the first control in a group. This check box is	usually cleared.<BR>	<BR>		<LI><I>Tab Stop</I> indicates that this control can be reached by pressing Tab on	the keyboard. This check box is usually left unchecked; this is different from most	controls, due to the fact that the up-down control is typically used to change the	value of the buddy control. Normally the buddy control has the <TT>tabstop</TT> property	enabled.<BR>	<BR>		<LI><I>Help ID</I> indicates that a context-sensitive help ID should be generated	for this control.<BR>	<BR>		<LI><I>Orientation</I> indicates whether the up-down control should be vertical or	horizontal. The default selection is vertical.<BR>	<BR>		<LI><I>Alignment</I> specifies how the buddy control and up-down control are associated	with each other. Possible values are Right, Left, and Unattached. The default value	is Unattached, but in most cases, you should select Left or Right.<BR>	<BR>		<LI><I>Auto Buddy</I> indicates whether the up-down control should use the previous	control in the tab order as its buddy control. This check box is cleared by default	but should be checked in most cases. If this box is not checked, the up-down control	will not be associated with a buddy control. You can still form this association	by command, which is discussed in the next section.<BR>	<BR>		<LI><I>Set Buddy Integer</I> indicates that the up-down control should set the value	of the attached buddy control. This check box is cleared by default but should be	checked in most cases.	<LI><I>No Thousands</I> indicates that no separator should be provided for a value	greater than 1,000 in the up-down control. This check box is usually cleared.<BR>	<BR>		<LI><I>Wrap</I> indicates that the up-down control should &quot;wrap around&quot;	after reaching its minimum or maximum value. If this option is not selected, the	up-down control stops after reaching its minimum or maximum limit. This check box	is usually cleared.<BR>	<BR>		<LI><I>Arrow Key</I> indicates that the keyboard's arrow keys can be used to change	the value of the up-down control. This check box is usually cleared.</UL><H3><FONT COLOR="#000077"><B>Adding a Buddy Control</B></FONT></H3><P>The easiest way to add a buddy control to an up-down control requires no sourcecode; instead, you use the dialog box editor. Follow these steps to associate anedit control with an up-down control:<DL>	<DD>1. Add an edit control to the dialog box. Most users expect the up-down control	to be placed against the buddy control; it helps emphasize the connection between	the two controls.<BR>	<BR>	2. Open the properties dialog box for the edit control and change the resource ID	to <TT>IDC_EDIT</TT>. All other properties should be set to their default values.<BR>	<BR>	3. Set the tab order for the edit control so that it is the control immediately before	the up-down control. You can select the tab order by choosing Tab Order from the	Layout menu (or press Ctrl+D). Each control is displayed with a small label that	represents the control tab order. To change the tab order, use the mouse to click	each control in the new tab order sequence.<BR>	<BR>	4. Open the properties dialog box for the up-down control and set the alignment value	to Right. This aligns the up-down control on the right side of the buddy control.<BR>	<BR>	5. Keep the Properties dialog box open and check the Auto Buddy and Set Buddy Integer	check boxes.</DL><P>The <TT>IDD_CONTROLS_DIALOG</TT> with an up-down control and the buddy edit controlis shown in Figure 16.1.</P><P><A NAME="04"></A><A HREF="04.htm"><B>Figure 16.1.</B></A> <I><BR>The main dialog box used in the Controls sample program, including the up-down controland buddy control.</I></P><P>Believe it or not, that's all there is to using an up-down control. If you compileand execute the Controls project, you can use the up-down control to change the valuecontained in the edit control.<BLOCKQUOTE>	<P><HR><B> </B><FONT COLOR="#000077"><B>CAUTION:</B></FONT><B> </B>Assigning a tab stop	to an up-down control tends to confuse the user. The focus feedback given to the	user is very subtle and easily overlooked. Also, the buddy control and up-down button	are normally paired into a single logical control. For these reasons, you should	not set the tab stop property for the up-down control in most cases. <HR></BLOCKQUOTE><P>To set, validate, or retrieve the value of the edit control, use ClassWizard toassociate a <TT>CEdit</TT> object with the edit control or use one of the other techniquesdiscussed in Chapter 6, &quot;Using Edit Controls.&quot;<BLOCKQUOTE>	<P><HR><FONT COLOR="#000077"><B>DO/DON'T:</B></FONT><B> <BR>	DO</B> associate a buddy control with the up-down control.<BR>	<B>DO</B> set a limit for the up-down control.<BR>	<B>DO</B> make the buddy control precede the up-down control in the tab order.<BR>	<B>DON'T</B> set the tabstop property for the up-down control. <HR></BLOCKQUOTE><H3><FONT COLOR="#000077"><B>Using the <TT>CSpinButtonCtrl</TT> Class</B></FONT></H3><P>The MFC class <TT>CSpinButtonCtrl</TT> can be used to manage an up-down control.Use ClassWizard to associate the <TT>IDC_SPIN</TT> control with a <TT>CSpinButtonCtrl</TT>object, using the values from Table 16.2.<H4><FONT COLOR="#000077">Table 16.2. Values used to add a CSpinButtonCtrl membervariable for CControlsDlg.</FONT></H4><P><TABLE BORDER="1">	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP"><B>Control ID</B></TD>		<TD ALIGN="LEFT" VALIGN="TOP"><B>Variable Name</B></TD>		<TD ALIGN="LEFT" VALIGN="TOP"><B>Category</B></TD>		<TD ALIGN="LEFT" VALIGN="TOP"><B>Type</B></TD>	</TR>	<TR ALIGN="LEFT" rowspan="1">		<TD ALIGN="LEFT" VALIGN="TOP"><TT>IDC_SPIN</TT></TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>m_spin</TT></TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>Control</TT></TD>		<TD ALIGN="LEFT" VALIGN="TOP"><TT>CSpinButtonCtrl</TT></TD>	</TR></TABLE><H3><FONT COLOR="#000077"><B>Changing the Behavior of the Up-Down Control</B></FONT></H3><P>As discussed earlier, the default behavior for an up-down control is to incrementthe control if the down arrow is clicked and decrement the control if the up arrowis clicked. You can change this behavior by reversing the range of the up-down control.</P><P>To change the range of an up-down control, use the <TT>CSpinButtonCtrl</TT>'s<TT>SetRange</TT> function.</P><P><TT>SetRange</TT> has two parameters: the first parameter is the lower-limit valuefor the control, the second parameter is the upper limit:</P><PRE><FONT COLOR="#0066FF"><TT>m_spin.SetRange( 100, 0 );</TT></FONT></PRE><P>To set a new range for the up-down control, add the source code from Listing 16.1to the <TT>CControlsDlg::OnInitDialog</TT> member function. This source code shouldbe added just after the <TT>// TODO</TT> comment.<H4><FONT COLOR="#000077">TYPE: Listing 16.1. Setting the range for an up-down control.</FONT></H4><PRE><FONT COLOR="#0066FF"><TT>// TODO: Add extra initialization here</TT></FONT></PRE><P><TT>m_spin.SetRange( 0, 100 );</TT> Compile and execute the Controls project.The up-down control increments the edit control when its up arrow is clicked anddecrements the edit control when the down arrow is clicked.<H2><FONT COLOR="#000077"><B>Using the Slider Control</B></FONT></H2><P><FONT COLOR="#000077"><B>New Term:</B></FONT><B> </B>A <I>slider control</I>,also known as a trackbar control, is a control that contains a slide bar that youcan move between two points. A slider is used in the Display applet that is partof the Windows Control Panel. The Settings property page uses a slider to set thescreen resolution.</P><P>The user moves the slide bar by dragging it with the mouse or by setting the keyboardfocus to the slider and using the arrow keys on the keyboard. You can create sliderswith optional tick marks that help the user to judge the position of the slide bar.<H3><FONT COLOR="#000077"><B>Deciding When to Use a Slider Control</B></FONT></H3><P>Sliders are useful when a user is asked to select a value within a certain range.A slider gives the user immediate feedback about the control's current value, aswell as the value's relationship to the high and low ranges.</P><P>Sliders are added to dialog boxes just like other controls; just drag and dropthe control from the controls palette to the dialog box. Although you can createa slider from scratch, it's much easier to add one in the Developer Studio dialogbox editor.</P><P>Open the <TT>IDD_CONTROLS_DIALOG</TT> resource and add a slider control by dragginga slider control from the control palette and dropping it on the dialog box. Figure

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产suv精品一区二区6| 亚洲男帅同性gay1069| 久久欧美中文字幕| 国产精品成人网| 亚洲一区在线视频| 另类小说图片综合网| 成人av免费在线观看| 欧美人xxxx| 国产亚洲欧美日韩日本| 亚洲另类色综合网站| 久久99精品久久久久久动态图| 成人av电影免费在线播放| 88在线观看91蜜桃国自产| 国产日韩欧美高清| 亚洲成人一区在线| 成人精品视频一区| 制服丝袜中文字幕亚洲| 中文字幕第一区综合| 午夜精品成人在线视频| 国产精品一级在线| 欧美日韩免费不卡视频一区二区三区| 精品国产精品网麻豆系列| 一二三四区精品视频| 国产成人自拍在线| 欧美一级二级在线观看| 一区在线观看免费| 久久97超碰国产精品超碰| 日本韩国一区二区三区| 久久久久久久综合| 日本午夜一本久久久综合| 成人av在线影院| 精品国产乱码久久久久久久久 | 国产老女人精品毛片久久| 欧美日韩小视频| 激情伊人五月天久久综合| 91老司机福利 在线| 久久亚洲二区三区| 免费看欧美美女黄的网站| 在线视频欧美区| 亚洲国产精品传媒在线观看| 美女高潮久久久| 欧美日韩国产大片| 一区二区三区不卡在线观看| av成人免费在线| 国产人久久人人人人爽| 免费日本视频一区| 欧美狂野另类xxxxoooo| 亚洲一区国产视频| 97久久精品人人澡人人爽| 中文字幕精品三区| 国产精品综合久久| 精品国精品国产| 免费在线观看不卡| 欧美亚日韩国产aⅴ精品中极品| 国产精品久久久久9999吃药| 国产一区二区在线电影| 欧美va亚洲va| 久久99国产精品久久99| 日韩欧美国产精品| 麻豆一区二区99久久久久| 91精品黄色片免费大全| 五月天亚洲婷婷| 欧美欧美欧美欧美| 午夜精品一区在线观看| 欧美色中文字幕| 亚洲成人自拍一区| 欧美久久久久久久久| 亚洲福中文字幕伊人影院| 欧美日韩一区二区三区在线看| 亚洲精品老司机| 在线视频欧美区| 亚洲午夜av在线| 3751色影院一区二区三区| 日本va欧美va欧美va精品| 日韩精品一区二区三区四区视频| 看电影不卡的网站| 久久久国产综合精品女国产盗摄| 国产剧情一区二区| 国产精品美女久久久久久久网站| 成人免费毛片app| 亚洲天堂免费看| 91黄色在线观看| 婷婷丁香激情综合| 欧美一区二区美女| 国产一区在线视频| 精品综合久久久久久8888| 久久精品一区二区三区不卡牛牛| 国产精品亚洲一区二区三区妖精 | 国产精品一区专区| 国产视频一区在线播放| 成人av网站大全| 亚洲一区二区三区四区在线免费观看| 欧美日韩国产免费一区二区| 三级精品在线观看| 亚洲精品一线二线三线 | 1024成人网| 欧美性极品少妇| 另类小说欧美激情| 国产欧美日韩不卡免费| 91久久精品一区二区二区| 日本麻豆一区二区三区视频| 久久综合色鬼综合色| 99re这里只有精品首页| 亚洲成人精品一区| 久久免费看少妇高潮| 99这里都是精品| 五月婷婷激情综合| 国产日韩欧美电影| 欧美在线视频日韩| 精品亚洲国内自在自线福利| 亚洲欧美在线视频观看| 欧美福利视频一区| 国产成人精品免费看| 亚洲午夜久久久久久久久电影网| 日韩欧美不卡在线观看视频| 成人av在线电影| 蜜桃av一区二区| 日韩一区在线免费观看| 日韩午夜在线观看| 色综合网站在线| 韩国v欧美v亚洲v日本v| 亚洲精品中文在线| 精品国产乱码久久久久久老虎 | 亚洲精品你懂的| 日韩三级精品电影久久久| 国产福利一区在线观看| 午夜激情一区二区三区| 国产精品日韩精品欧美在线| 欧美一级久久久久久久大片| 99久久精品国产导航| 美腿丝袜在线亚洲一区 | 精品视频一区二区不卡| 国产福利一区二区三区视频 | 亚洲一区免费在线观看| 国产无一区二区| 日韩限制级电影在线观看| 色综合久久中文综合久久97| 国产一区二区三区在线观看免费 | 欧美日韩久久不卡| 成人av网站在线观看免费| 久久机这里只有精品| 亚洲综合图片区| 国产精品欧美一级免费| 日韩欧美亚洲国产另类| 欧美网站大全在线观看| 99综合电影在线视频| 国产精品原创巨作av| 青椒成人免费视频| 亚洲v中文字幕| 亚洲精品综合在线| 欧美国产日韩a欧美在线观看| 日韩免费观看高清完整版在线观看| 日本久久一区二区三区| 成人动漫av在线| 国产成人av电影| 国产一区二区女| 激情图区综合网| 美女在线观看视频一区二区| 亚洲国产精品影院| 亚洲精品免费在线观看| 国产精品热久久久久夜色精品三区| 欧美xxxx老人做受| 91精品国产美女浴室洗澡无遮挡| 欧美午夜理伦三级在线观看| 91麻豆国产香蕉久久精品| 成人av片在线观看| 成人综合婷婷国产精品久久| 国产麻豆成人精品| 国产在线视频一区二区| 久草在线在线精品观看| 麻豆视频一区二区| 久久精品国产99| 久久se这里有精品| 免费观看久久久4p| 美女视频一区在线观看| 日本不卡不码高清免费观看| 日韩精品亚洲专区| 免费看欧美女人艹b| 免费成人深夜小野草| 久久99最新地址| 久久草av在线| 国产一区二区三区美女| 国产电影一区在线| 成人一区二区三区视频在线观看| 成人三级在线视频| 99久久精品免费| 日本韩国精品在线| 精品视频在线视频| 日韩一二在线观看| 精品日韩在线一区| 国产欧美一区二区三区网站 | 91丝袜美女网| 色成人在线视频| 欧美日韩精品综合在线| 日韩手机在线导航| 欧美精品一区二区三区蜜臀| 久久精品一区二区| 亚洲私人黄色宅男| 亚洲成人动漫一区| 久久精品国产一区二区三 |