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

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

?? ch05.htm

?? 英文VC快速教程,手把手教學,真的24節課程可以完全自學VC,達到入門級水平
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>

<HEAD>
	
	<TITLE>Teach Yourself Visual C++&#174; 5 in 24 Hours -- Hour 5 -- Button Controls</TITLE>
</HEAD>

<BODY TEXT="#000000" BGCOLOR="#FFFFFF">

<CENTER>
<H1><IMG SRC="sams.gif" tppabs="http://www.mcp.com/824169600/0-672/0-672-31242-5/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>
<CENTER>
<P><A HREF="ch04.htm" tppabs="http://www.mcp.com/824169600/0-672/0-672-31242-5/ch04/ch04.htm"><IMG SRC="previous.gif" tppabs="http://www.mcp.com/824169600/0-672/0-672-31242-5/button/previous.gif" WIDTH="128" HEIGHT="28"
ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="ch06.htm" tppabs="http://www.mcp.com/824169600/0-672/0-672-31242-5/ch06/ch06.htm"><IMG
SRC="next.gif" tppabs="http://www.mcp.com/824169600/0-672/0-672-31242-5/button/next.gif" WIDTH="128" HEIGHT="28" ALIGN="BOTTOM" ALT="Next chapter"
BORDER="0"></A><A HREF="index-1.htm" tppabs="http://www.mcp.com/824169600/0-672/0-672-31242-5/index.htm"><IMG SRC="contents.gif" tppabs="http://www.mcp.com/824169600/0-672/0-672-31242-5/button/contents.gif" WIDTH="128"
HEIGHT="28" ALIGN="BOTTOM" ALT="Contents" BORDER="0"></A> 
<HR>

</CENTER>
<CENTER>
<H1><FONT COLOR="#000077">- Hour 5 -<BR>
Button Controls</FONT></H1>
</CENTER>
<P>Button controls are probably the most flexible controls available in Windows.
Before learning about buttons, though, it's important to begin with a short lesson
about conditional expressions in C++ programs. In this hour you will also learn about

<UL>
	<LI>Using the different types of button controls provided by Windows<BR>
	<BR>
	
	<LI>Using the MFC <TT>CButton</TT> class that is used to manage button controls<BR>
	<BR>
	
	<LI>Using the MFC <TT>CWnd</TT> class to enable and disable controls
</UL>

<P>Later this hour, you will add each type of button to a dialog box-based project.
You will also use ClassWizard to add button events and member variables for the dialog
box's button controls.
<H2><FONT COLOR="#000077"><B>What Are Conditional Expressions?</B></FONT></H2>
<P><FONT COLOR="#000077"><B>New Term:</B></FONT><B> </B>A <I>conditional expression</I>
is an expression that results in a <TT>true</TT> or <TT>false</TT> value.</P>
<P>Most programs exercise some type of control over their execution flow using conditional
expressions. They perform different actions based on varying conditions as the execution
progresses. Then, they repeat these actions until all their tasks are complete. For
example, a Windows program might need to search for a certain record from a database,
or might take different actions depending on the messages that are sent to it.</P>
<P><FONT COLOR="#000077"><B>New Term:</B></FONT><B> </B>A <I>selection statement</I>
uses a conditional expression to pick a particular path of execution in your program.
This is similar to choosing a fork in the road.</P>
<P><FONT COLOR="#000077"><B>New Term:</B></FONT><B> </B>A <I>sequence statement </I>uses
a conditional expression to determine how often to execute a part of your program.
<H3><FONT COLOR="#000077"><B>Selecting an Execution Path with Selection Statements</B></FONT></H3>
<P>The first set of control statements to look at are the selection statements. If
your program must take a particular action only if a certain condition is <TT>true</TT>,
or if a user must make a choice from a list of possible items, these statements are
for you.


<BLOCKQUOTE>
	<P>
<HR>
<FONT COLOR="#000077"><B>Just a Minute:</B></FONT><B> </B>All selection statements
	work by evaluating an expression, then taking an action based on the value of that
	expression. 
<HR>


</BLOCKQUOTE>

<H4><FONT COLOR="#000077">Using the if Statement</FONT></H4>
<P>The <TT>if</TT> statement enables one or more statements to be executed only if
an expression inside the parentheses is <TT>true</TT>. If necessary, values inside
the parentheses are converted into Boolean values, with zero being converted to <TT>false</TT>
and all non-zero values converted to <TT>true</TT>.</P>
<P>Listing 5.1 provides a function that shows how the <TT>if</TT> statement is used.
If the parameter passed to the function is greater than zero, the function returns
a value of <TT>true</TT>.
<H4><FONT COLOR="#000077">TYPE: Listing 5.1. A function that returns true if a positive
number is passed to it.</FONT></H4>
<PRE><FONT COLOR="#0066FF"><TT>bool IsPositive( int nCheckValue )</TT>
<TT>{</TT>
<TT>    bool bReturn = false;</TT>

<TT>    if( nCheckValue &gt; 0 )</TT>
<TT>        bReturn = true;</TT>

<TT>    return bReturn;</TT>
</FONT></PRE>
<P><TT>}</TT>
<H4><FONT COLOR="#000077">Using Compound Statements</FONT></H4>
<P>The statement controlled by an <TT>if</TT> statement is executed only when the
test condition is <TT>true</TT>. If more than one statement must be executed, group
the statements together to form a compound statement. Compound statements are often
called <I>blocks</I> because they group statements into blocks of code.</P>
<P>A compound statement begins and ends with curly braces, just like a function body.
All the statements within a compound statement that follows an <TT>if</TT> statement
are executed when the test condition is <TT>true</TT>, as shown in Listing 5.2.
<H4><FONT COLOR="#000077">TYPE: Listing 5.2. Using a compound statement to group
several statements together.</FONT></H4>
<PRE><FONT COLOR="#0066FF"><TT>void PrintTest(bool bShouldPrint)</TT>
<TT>{</TT>
<TT>    if( bShouldPrint == true )</TT>
<TT>    {</TT>
<TT>        cout &lt;&lt; &quot;A short demonstration of&quot; &lt;&lt; endl;</TT>
<TT>        cout &lt;&lt; &quot;a compound statement - also&quot; &lt;&lt; endl;</TT>
<TT>        cout &lt;&lt; &quot;known as a block.&quot; &lt;&lt; endl;</TT>
<TT>    }</TT>
</FONT></PRE>
<P><TT>}</TT> In Listing 5.2, the test for equality is made using <TT>==</TT>, the
equality operator.


<BLOCKQUOTE>
	<P>
<HR>
<FONT COLOR="#000077"><B>CAUTION:</B></FONT><B> </B>A common mistake is to use <TT>=</TT>,
	which is the assignment operator. 
<HR>


</BLOCKQUOTE>

<P>A standard code-formatting convention is to visually nest each conditional &quot;level&quot;
of your source code by indenting statements, as in Listings 5.1 and 5.2. Indentation
helps make your code more readable because it helps make the flow of control in your
source code easy to see.
<H4><FONT COLOR="#000077">Using else with if Statements</FONT></H4>
<P>You can couple an <TT>else</TT> statement with an <TT>if</TT> statement to create
an either/or selection. When the expression tested by the <TT>if</TT> statement is
<TT>true</TT>, the first statement (or block statement) is executed. When the expression
is <TT>false</TT>, the statements grouped with the <TT>else</TT> statement are executed
instead.</P>
<P>Listing 5.3 provides an example of a function that uses the <TT>if</TT> and <TT>else</TT>
statements. This function always returns the larger of two parameters passed to it.
<H4><FONT COLOR="#000077">TYPE: Listing 5.3. A function that uses the if and else
statements.</FONT></H4>
<PRE><FONT COLOR="#0066FF"><TT>int GetMax( int nFirst, int nLast )</TT>
<TT>{</TT>
<TT>    int nReturn;</TT>

<TT>    if( nFirst &gt; nLast )</TT>
<TT>        nReturn = nFirst;</TT>
<TT>    else</TT>
<TT>        nReturn = nLast;</TT>

<TT>    return nReturn;</TT>
</FONT></PRE>
<P><TT>}</TT>
<H4><FONT COLOR="#000077">Using the switch Statement</FONT></H4>
<P>Sometimes you must choose between more than just one or two alternatives. Suppose
you are implementing a simple menu function with three choices. If you use the <TT>if</TT>
statement, you might wind up with a function like the one shown in Listing 5.4.
<H4><FONT COLOR="#000077">TYPE: Listing 5.4. A menu-selection function.</FONT></H4>
<PRE><FONT COLOR="#0066FF"><TT>//</TT>
<TT>// Processes a selection from a character-based menu. If a</TT>
<TT>// valid selection is made, the proper functions are called,</TT>
<TT>// and true is returned. If an invalid selection is made,</TT>
<TT>// false is returned.</TT>
<TT>bool HandleMenuSelection( char chSelection )</TT>
<TT>{</TT>
<TT>    bool bValidSelection = true;</TT>

<TT>    if( chSelection == `F' )</TT>
<TT>        OpenNewFile();</TT>
<TT>    else if( chSelection == `P' )</TT>
<TT>        PrintDocument();</TT>
<TT>    else if( chSelection == `S' )</TT>
<TT>        SaveFile();</TT>
<TT>    else</TT>
<TT>        bValidSelection = false;</TT>

<TT>    return bValidSelection;</TT>
<TT>}</TT> </FONT></PRE>
<P>This is already starting to look a little cluttered, but how bad would it look
if you had a few more selections? What if you had 20 or 30? The solution is to use
the <TT>switch</TT> statement. A <TT>switch</TT> statement evaluates an expression
and then chooses from a list of choices, as shown in Listing 5.5.
<H4><FONT COLOR="#000077">TYPE: Listing 5.5. Using the switch statement.</FONT></H4>
<PRE><FONT COLOR="#0066FF"><TT>bool HandleMenuSelection( char chSelection )</TT>
<TT>{</TT>
<TT>    bool bValidSelection = true;</TT>

<TT>    switch( chSelection )</TT>
<TT>    {</TT>
<TT>        case `F':</TT>
<TT>            OpenNewFile();</TT>
<TT>            break;</TT>
<TT>        case `P':</TT>
<TT>            PrintDocument();</TT>
<TT>            break;</TT>
<TT>        case `S':</TT>
<TT>            SaveFile();</TT>
<TT>            break;</TT>

<TT>        default:</TT>
<TT>            bValidSelection = false;</TT>
<TT>    }</TT>
<TT>    return bValidSelection;</TT>
<TT>}</TT> </FONT></PRE>
<P>As Listing 5.5 shows, the <TT>switch</TT> statement has several different parts.
Here are the major features of a <TT>switch</TT> statement:

<UL>
	<LI>The <TT>switch()</TT> expression. The expression contained inside the <TT>switch</TT>
	parentheses is evaluated, and its value is used as the basis for making the selection.<BR>
	<BR>
	
	<LI>One or more <TT>case</TT> labels. Each <TT>case</TT> label includes a value.
	Every <TT>case</TT> label must be unique. If a <TT>case</TT> label's value matches
	the <TT>switch</TT> expression, the statements after the <TT>case</TT> label are
	executed.<BR>
	<BR>
	
	<LI>One or more <TT>break</TT> statements. The <TT>break</TT> statement is used to
	stop execution inside a <TT>switch</TT> statement. A <TT>break</TT> statement is
	normally placed between every <TT>case</TT>. If a <TT>break</TT> statement is removed,
	statements in the next <TT>case</TT> are executed until a <TT>break</TT> is reached,
	or until no more statements remain inside the <TT>switch</TT>.<BR>
	<BR>
	
	<LI>A default label. The default label is selected when no <TT>case</TT> labels match
	the <TT>switch</TT> expression.
</UL>

<H2><FONT COLOR="#000077"><B>What Is a Button?</B></FONT></H2>
<P><FONT COLOR="#000077"><B>New Term:</B></FONT><B> </B>A <I>button</I> is a special
type of window that contains a text or bitmap label, usually found in a dialog box,
toolbar, or other window containing controls.</P>
<P>Five different types of buttons are provided by Windows:

<UL>
	<LI><I>Pushbuttons</I> have a raised, three-dimensional appearance and seem to be
	depressed as they are clicked with the mouse. Pushbuttons normally have a text label
	on the face of the control.<BR>
	<BR>
	
	<LI><I>Radio buttons</I> consist of a round button with a label adjacent to it.<BR>
	<BR>
	
	<LI><I>Check boxes</I> are made up of a square box that contains a check mark when
	selected and a label next to the control.<BR>
	<BR>
	
	<LI><I>Owner-drawn</I> buttons are painted by the button's owner instead of by Windows.<BR>
	<BR>
	
	<LI><I>Group boxes</I> are simply rectangles that are used to surround other controls
	that have a common purpose.
</UL>

<P>In general, buttons are used to indicate a user selection. Buttons are used in
Windows programs because they are convenient and easy for users to operate. Users
have come to expect buttons to be presented in a large number of cases, especially
when dialog boxes are present in a program.
<H3><FONT COLOR="#000077"><B>What Are Pushbuttons?</B></FONT></H3>
<P>Almost every dialog box has at least one pushbutton control to indicate actions
that a user can invoke. Some common uses for pushbuttons include closing a dialog
box, beginning a search, or asking for help.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成a人片国产精品| 色丁香久综合在线久综合在线观看| 日本一区二区三区在线不卡| 91视频www| 国产一区二区三区| 性做久久久久久免费观看| 欧美激情综合五月色丁香| 欧美一区二区视频在线观看| 成人精品一区二区三区四区| 捆绑调教一区二区三区| 一区二区三区中文字幕精品精品 | 国产一区福利在线| 午夜精品成人在线视频| 亚洲视频一区二区免费在线观看| 精品国产乱码91久久久久久网站| 在线观看不卡一区| fc2成人免费人成在线观看播放| 免费看精品久久片| 一区二区三区欧美久久| 国产精品天干天干在观线| 精品国产乱码久久久久久图片| 欧美日产国产精品| 色一情一乱一乱一91av| 国产成人综合网| 久久国产视频网| 男人的天堂亚洲一区| 日韩影院在线观看| 午夜欧美2019年伦理| 亚洲激情自拍偷拍| 亚洲色图视频网| 日韩伦理av电影| 亚洲视频每日更新| 国产精品国产三级国产普通话蜜臀| 久久蜜臀中文字幕| 精品国产乱码久久久久久夜甘婷婷| 欧美放荡的少妇| 欧美日韩高清影院| 91麻豆精品国产91久久久使用方法| 色综合一个色综合| 99国产精品久久久久久久久久久 | 一级日本不卡的影视| 中文字幕一区二区三区四区| 久久久久久久久久久黄色| 精品国产一区二区国模嫣然| 日韩一区二区三| 日韩欧美一二三四区| 日韩三级视频中文字幕| 久久久久九九视频| 欧美成人精品1314www| 欧美一级二级在线观看| 精品美女在线观看| 久久九九全国免费| 日本一区二区电影| 亚洲天堂网中文字| 一区二区三区免费观看| 亚洲综合成人在线视频| 亚洲一级电影视频| 视频精品一区二区| 极品销魂美女一区二区三区| 九九精品一区二区| 国产不卡一区视频| 99久久99久久精品免费观看 | 成人黄色一级视频| a在线欧美一区| 91福利资源站| 欧美一区二区三区小说| 精品日韩一区二区三区| 国产欧美久久久精品影院| 国产精品久久久久天堂| 一区二区三区中文字幕精品精品| 日韩在线一区二区三区| 久久精品国产久精国产爱| 国产不卡在线播放| 欧美午夜寂寞影院| 久久综合九色综合97婷婷| 国产精品卡一卡二卡三| 午夜精品久久久久| 粉嫩av一区二区三区在线播放 | 久久99国产乱子伦精品免费| 国产精品911| 欧美亚洲综合另类| 日韩一区二区三区在线| 国产精品久久久久久妇女6080| 亚洲无线码一区二区三区| 国产一区视频导航| 欧美三级日本三级少妇99| 精品1区2区在线观看| 亚洲欧美日韩久久精品| 极品美女销魂一区二区三区| 一本一道久久a久久精品综合蜜臀| 91麻豆精品久久久久蜜臀| 国产精品日韩成人| 日本中文字幕一区二区有限公司| 风间由美一区二区av101 | 欧美一二三区在线| 国产精品国产三级国产专播品爱网| 天天影视色香欲综合网老头| 国产成人自拍在线| 日韩欧美国产综合在线一区二区三区| 国产精品的网站| 国产一区二区三区日韩| 精品视频1区2区3区| 亚洲欧洲成人av每日更新| 经典三级一区二区| 欧美日韩国产小视频在线观看| 国产日韩在线不卡| 欧美日韩aaaaa| 国产精品国产三级国产aⅴ入口 | 美脚の诱脚舐め脚责91 | 中文字幕一区三区| 激情五月激情综合网| 欧美日本一区二区三区| 中文字幕亚洲视频| 国产精品99久久久| 精品欧美黑人一区二区三区| 夜夜亚洲天天久久| eeuss鲁片一区二区三区| 久久午夜色播影院免费高清| 美女脱光内衣内裤视频久久网站| 欧美性猛片aaaaaaa做受| 久久久久久久免费视频了| 日韩午夜三级在线| 精品视频一区 二区 三区| 欧美色网站导航| 国产亚洲欧美色| 美国三级日本三级久久99| 在线观看免费一区| 国产精品成人一区二区艾草| 国产99久久久精品| 久久久蜜桃精品| 国产精品一区在线| 精品国产凹凸成av人网站| 日本成人在线电影网| 欧美日韩一区不卡| 亚洲一区二区三区精品在线| www.久久精品| 亚洲欧洲国产日韩| 99精品久久99久久久久| 亚洲天堂成人在线观看| 99久久精品免费观看| 综合电影一区二区三区 | 风间由美一区二区三区在线观看 | 欧美综合色免费| 亚洲特级片在线| 成人性生交大片免费看中文| 久久免费的精品国产v∧| 久久99精品国产麻豆婷婷| 日韩免费一区二区三区在线播放| 日韩电影在线一区二区| 宅男在线国产精品| 开心九九激情九九欧美日韩精美视频电影| 欧美精品高清视频| 老司机精品视频在线| 久久久久久久久伊人| 成人免费毛片片v| 亚洲欧美影音先锋| 91福利在线免费观看| 视频在线观看国产精品| 日韩丝袜情趣美女图片| 国产福利视频一区二区三区| 国产日韩欧美综合在线| 91美女在线看| 亚洲一区二区三区四区五区中文 | 5566中文字幕一区二区电影| 免费观看一级特黄欧美大片| 精品少妇一区二区三区在线播放 | 欧美久久久久久久久中文字幕| 奇米精品一区二区三区四区| 91视频观看免费| 欧美日韩精品福利| 色综合天天在线| 欧美一区二区福利视频| 欧美视频在线一区| 欧美日韩精品免费观看视频| 欧美三级在线播放| 欧美久久久久中文字幕| 欧美日韩在线三区| 欧美一级艳片视频免费观看| 久久久久久久久久久久久夜| 亚洲国产成人在线| 一区二区三区在线视频免费观看| 日本系列欧美系列| 色嗨嗨av一区二区三区| 日本中文字幕一区二区视频| 久久久久国产一区二区三区四区 | 亚洲另类春色校园小说| 欧美日韩你懂的| 国产精品 欧美精品| 亚洲高清视频在线| 国产欧美一区在线| 欧美日本一道本| 不卡视频一二三| 日韩电影一区二区三区四区| 国产精品久久久久一区二区三区| 91精品国产91综合久久蜜臀| 成人精品鲁一区一区二区| 男女激情视频一区| 亚洲精品成a人| 亚洲国产精品精华液2区45| 欧美肥妇free|