C++Builder6程序设计教程第二章C++Builder简单应用程序设计2.1常用VCL组件及分类按可视性分按功能分数据输入与处理类:TEdit、TMemo、TMaskEdit、TRichEdit、TDBEdit、TDBText、TDBMemo、TDBRichEdit按钮输入和选择选项类:TButton、TCheckBox、TBitBtn、TSpeedButton、TDBCheckBox、TDBRadioGroup、TMainMenu、TPopupMenu、TToolBar列表类:TComboBox、TListBox、TTreeView、TListView、TDBListBox、TDBComboBox、TCheckListBox分组类:TGroupBox、TRadioGroup、TPanel、TScrollBar、TTabControl、TPageControl反馈信息:TLabel、TProgressBar、TStatusBar表格:TStringGrid、TDBGrid、TDBCtrlGrid图形:TImage、TShape、TBevel、TImageList、TPaintBox对话框:TOpenDialog、TSaveDialog、TFontDialog、TColorDialog、TFindDialog、TReplaceDialog、TPrintDialog、TPrinterSetupDialog2.2VCL组件的常用属性属性设置方法属性窗口设置;在代码中设置组件常用属性1.Caption:标题2.Name:名称3.Enabled,Visible:是否可用,是否可见4.Font、Color:字体,颜色5.Height、Width、Top、Left:大小和位置6.Align:对齐7.Hint、ShowHint:悬停提示8.HelpContext:帮助信息的上下文2.3组件的布局组件的添加和删除组件的布局(1)单个组件:调整大小:尺寸柄;Shift+光标键位置:鼠标;Ctrl+光标键(2)多个组件:Edit菜单;View|AlignmentPalette菜单焦点顺序TabOrder锁定和解除Edit|LockControls2.4基本组件的使用标签、编辑框、备注和按钮2.4.1TLabel:显示提示信息Alignment/Layout:文本的对齐方式AutoSize:是否随内容的长度改变长度WordWrap:是否可换行,true时可多行(空格换行),false时单行2.4.2TEdit:输入、输出和编辑文本Text:文本内容(设计时设置文本内容;运行中通过该属性设置文本内容;通过赋值语句获得文本内容)MaxLength:限制输入文本长度ReadOnly:决定文本编辑框是否能被编辑PasswordChar:设置用于屏蔽密码的字符,如“*”SelStart:返回或设置所选择文本的起始点SelLength:返回或设置所选择的字符数SelText:返回或设置包含当前所选择文本的字符串示例:剪贴板的三个方法:CopyToClipboard、CutToClipboard、PasteFromClipboard示例:2.4.3掩码编辑组件(TMaskEdit)EditMask屏蔽字符串三部分:第一部分是数据的格式;第二部分确定数据中的分隔符在Text属性中是否作为数据的一部分,取值非0为true,0代表false;第三部分指定未输入数据时的默认字符,通常使用“_”。示例2.4.4备注组件TMemoLines属性:文本被保存在TString对象中WantReturns、WantTabs属性:是否允许用户在文本输入时直接使用回车键和Tab键来换行和加入制表符ScrollBars属性:设置滚动条GetTextLen方法:得到组件中文本的长度Lines对象的方法:Add、Delete、Insert和Clear示例(索引值从0开始):2.4.5TButton、TBitBtn、TSpeedButtonTButton:按钮的访问键:在需要作为访问键的字母前加上“&”,该字母即会带上下划线而成为访问键。按下Alt+访问键字母时即相当于用鼠标单击该按钮默认按钮与取消按钮:Default属性和Cancel属性(窗体上只能有一个默认按钮与一个取消按钮)示例:TBitBtnKind属性:枚举型。如需自己指定位图,该属性设置为bkCustom,然后通过Glyph属性指定位图Glyph属性:可将指定的图形显示在位图按钮上Layout属性:控制位图按钮中位图与文字的相对位置Spacing属性:设置按钮上的图像和文字之间的距离,单位是像素(pixel)。若值为-1,则表示文字将位于图像和按钮边界的正中间NumGlyphs属性:指明该位图按钮使用图形的个数,可以设置为1~4之间的一个整数TSpeedButton可成组,可以设计一组按钮,只有一个是处于按下状态,可用于设计工具栏AllowAllUp属性:布尔型,用于设置一组快捷按钮是否允许所有的按钮都同时处在弹起状态Down属性:布尔型,true时,TSpeedButton处于按下状态,否则为弹起状态。默认为falseFlat属性:true时,TSpeedButton外观风格与Win95/98相同;false时外观风格像一般按钮GroupIndex属性:GroupIndex相同的若干个TSpeedButton将协同工作。默认值为0,表示不与其他按钮协同工作动态提示:用户用鼠标指向按钮时在按钮右下方会显示指定的文字。通过组件的Hint属性设置提示文本实现的,同时要将ShowHint属性置为trueClick(单击)事件:鼠标单击把焦点移到相应的按钮上,再按Space键或回车键按“按钮”的访问键代码中显式调用“命令按钮”的Click事件默认按钮取消按钮示例2.5C++Builder中的数据类型2.5.1标准数据类型数值型字符型布尔型2.5.2字符串短字符串和长字符串ShortString:最大长度255AnsiString:最大长度2^31WideString:最大长度2^30AnsiString类型的常用方法c_str:Delete/Insert:Length:IntToHex/ToDouble/ToInt/ToIntDef:LowerCase/UpperCase:printf/sprintf:Pos/StringOfChar/SubString:Trim/TrimLeft/TrimRight:2.5.3字符串列表字符串列表类TList:TObjectList:TQueue:TStack:TStringList:字符串列表的常用操作属性:Count、Strings方法:IndexOf、Add、Insert、Delete、Clear、AddStrings、LoadFromFile、SaveToFile2.5.4输入框和消息对话框输入框和输入函数InputBox和InputQuery函数供用户提供输入信息对话框,显示的对话框中含有提示信息AnsiString__fastcallInputBox(constAnsiStringACaption,constAnsiStringAPrompt,constAnsiStringADefault);bool__fastcallInputQuery(constAnsiStringACaption,constAnsiStringAPrompt,AnsiString&Value);参数:ACaption为输入框的标题,APrompt为输入提示,ADefault为默认输入值返回值:InputBox函数,无论用户在关闭时单击“OK”还是“Cancel”,程序都返回输入(或默认)的数据。InputQuery,只有当用户单击“OK”按钮时,才通过Value获得返回值,函数返回true,否则Value中的值与调用前相同,函数的返回值为false消息对话框ShowMessage和ShowMessagePos是系统定义的对话框void__fastcallShowMessage(constAnsiStringMsg);void__fastcallShowMessagePos(constAnsiStringMsg,intX,intY);参数:Msg为显示的提示信息,X和Y指定对话框左上角显示的位置MessageDlg和MessageDlgPos函数用于定制一个消息框,用户可确定显示的提示符号及多少个位图按钮int__fastcallMessageDlg(constAnsiStringMsg,TMsgDlgTypeDlgType,TMsgDlgButtonsButtons,intHelpCtx);int__fastcallMessageDlgPos(constAnsiStringMsg,TMsgDlgTypeDlgType,TMsgDlgButtonsButtons,intHelpCtx,intX,intY);参数意义Msg为显示信息,DlgType指定对话框类型,Buttons是按钮类型TMsgDlgButtons的集合,代表对话框中的按钮,HelpCtx为上下文帮助ID。X和Y代表对话框显示位置。函数的返回值是用户关闭对话框时单击的某个按钮对应的值示例:2.6综合应用举例