您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > C++-Builder-快速入门及技巧分享
Edit控件的小窍门,虚拟动态创建,输入验证1、虚拟动态创建。在需要选择多个Edit控件,可以先设置Edit控件的visiable属性为false,然后用事件触发显示Edit,代码为:void__fastcallTForm1::Label1Click(TObject*Sender){Edit1-Show();}2、输入验证。用好下面Edit的两个事件:void__fastcallTForm1::Edit1Exit(TObject*Sender){}和void__fastcallTForm1::Edit1Change(TObject*Sender){},这两个事件函数连起来用会让你的程序更友好。程序运行时控件的位置可以自由移动在需要移动的控件的OnMouseMove事件中加入一段代码即可,如:void__fastcallTForm1::Button1MouseMove(TObject*Sender,TShiftStateShift,intX,intY){WORDSC_DragMove=0xF012;ReleaseCapture();((TWinControl*)Sender)-Perform(WM_SYSCOMMAND,SC_DragMove,0);}这个功能适合所有具有OnMouseMove事件控件,但要注意的是,引入此功能后,原来需要移动鼠标的操作就做不了了,比如:通过移动鼠标选定Edit控件内的文字。鼠标拖动窗体的非标题栏区域这需要调用windowsAPI函数,不多说,直接给出方法:1、先在头文件的Public对象区添加如下内容:void__fastcallTest(TMessage&Message);//本行为定义新函数的声明BEGIN_MESSAGE_MAPMESSAGE_HANDLER(WM_NCHITTEST,TMessage,Test)END_MESSAGE_MAP(TForm)2、然后再cpp文件内加入下列函数:void__fastcallTForm1::Test(TMessage&Message){if(GetAsyncKeyState(VK_LBUTTON)0)Message.Result=HTCAPTION;elseMessage.Result=HTCLIENT;}这样已经完成了。注意:该方法的局限性是只点住窗体空白处拖动,不能点住窗体上的子控件拖动。OpenDialog实现浏览获取文件路径在涉及到上传、打开等文件操作时,往往要通过浏览来获取文件路径。这就需要通过OpenDialog控件来实现了:1、建立button1、Edit1和OpenDialog控件2、然后再button1的OnClick事件定义如下:void__fastcallTForm1::Button1Click(TObject*Sender){OpenDialog1-Execute();Edit1-Text=OpenDialog1-FileName;}或者:void__fastcallTForm1::Button1Click(TObject*Sender){if(OpenDialog1-Execute())Edit1-Text=OpenDialog1-FileName;}应用程序编译后独立运行(不需要安装c++builder)该方法适用于一些小程序,特点是使用简单,不用花时间安装。1、打开主菜单的Project-options的对话框2、选Packages,然后取消Buildwithruntimespackeges的勾选3、选links,取消userdynamicRTL的勾选icon图标的设置与制作在c++builder里有两类icon图标的显示问题:一是Form窗体的icon图标,加载办法是设置Form的icon属性,一般用32*32icon的图标就行了;二是应用程序的icon图标,加载办法是:1、打开主菜单的Project-options对话框;2、选择Application按钮,然后点Loadicon按钮推荐一个icon图标在线制作的网站:复制动画、删除动画的调用(通过TAnimate控件实现)在Windows操作系统里,当复制或删除时会有相应的动画显示出来。这些动画可以通过TAnimate控件来调用。TAnimate控件的CommonAVI属性为默认为aviNone时,可以通过FileName加载一个AVI文件。复制动画设置办法是:先CommonAVI属性为aviCpoyFile,然后设置Visiable属性为true,每次调用时,还需要把Acitve属性设置为true;此外,CommonAVI属性还可以设置成:永久删除动画(aviDeleteFile)、删除到回收站动画(aviRecycleFile)、清空回收站动画(aviEmptyRecycle)、查找文件动画(aviFindFile)、查找文件夹动画(aviFindFolder)、查找电脑动画(aviFindComputer),以上动画调用方法和复制动画一样,不多说了。点击Edit控件输入,里面有提示文字做这个需要注意的是:完成输入后再点击时不能再次删除内容。具体步骤是:1、新建Edit控件,设置Text属性值为“请输入姓名”;2、设置提示文字的颜色,以区别输入内容。void__fastcallTForm1::FormCreate(TObject*Sender){Edit1-Font-Color=clGray;}3、编辑Edit控件的OnClick事件:void__fastcallTForm1::Edit1Click(TObject*Sender){if(Edit1-Font-Color==clGray)Edit1-Text=;Edit1-Font-Color=clBlack;}4、昀后把Edit控件的TabStop属性设为false,使运行时不出现光标。使用OpenPictureDialog打开并浏览图像1、先在Form1上分别创建Button、Image、OpenPictureDialog控件2、设置Button的点击事件:void__fastcallTForm1::Button1Click(TObject*Sender){OpenDialog1-Execute();Image1-Picture-LoadFromFile(OpenDialog1-FileName);}昀好能把Image控件的AutoSize和Center都设为true。利用向导,把Access导入SQL数据库1、选择数据源:要完成这一步,必须先建立一个空的Access数据库文件(.mdb)----------------------------------------------------------在数据源对话框中,数据源选择MSVisualFoxproDriver然后点击新建DNS,选择文件数据源。点击下一步,驱动选MSAccessDriver点击下一步,选择DNS保存路径,并命名点击选择…,选择那个空的Access数据库文件,点确定-----------------------------------------------------------选中文件DNS,然后选择上面创建的DNS文件,点击下一步2、选择数据目的地:选定需要导入的数据库名3、下面注意要选择导入的哪些表,依次下去,保持默认设置。直到完成Form窗体总在昀前面显示题目已经说的很明白了,不多加说明了,效果就像QQ那样,直接给出方法:设置Form的属性FormStyle为fsStayOnTop在任务栏中隐藏应用程序有两种方法:1、采用window的API函数ShowWindow,方法如下:void__fastcallTForm1::FormCreate(TObject*Sender){ShowWindow(Application-Handle,SW_HIDE);}2、方法二:void__fastcallTForm1::FormCreate(TObject*Sender){DWORDa=GetWindowLong(Application-Handle,GWL_EXSTYLE);a=WS_EX_TOOLWINDOW;SetWindowLong(Application-Handle,GWL_EXSTYLE,a);什么是SDI程序和MDI程序MDI(MultipleDocumentInterface)就是所谓的多文档界面,SDI(SingleDocumentInterface)单文档界面,即一个应用程序只能打开一个文档。在C++builder中默认创建的是Application,这对一般小型和程序是够用了。MDI、SDI界面的建立方法:File-New-other然后选Projects,这样就可以看到了。其实是预先绑定了一些常用组件在一个Application,不喜欢自己做也行,无所谓。添加菜单选项的分隔线实现菜单分组当设计的菜单很长时,往往需要进行菜单分组,办法很简单:在你希望分隔的两个选项之间新建一个选项,并把该选项的Caption属性设置为-(这是一个英文状态下的减号),这样就可以了。鼠标停留提示文字(Hint的使用)Hint的英文意思是暗示、提示,Hint属性是很多控件都有的属性,当鼠标移动到该控件的上方时,停留一秒左右,会有一小条文字提示。设置办法:Hint属性设为提示文字,并把ShowHint属性设为true就这么简单!MediaPlayer设置背景音乐循环播放在WindowsAPI函数里有PlaySound(),但是仅适用于播放wav文件。这里介绍通过MediaPlayer控件来设置背景音乐。1、建立MediaPlayer1,设置Visiable=false,载入同源文件同目录的mp3、wav等音乐文件。(注意把文件目录前縀删除,保留01.mp3,这样程序和音乐就可移植了)2、程序运行时:void__fastcallTForm1::FormCreate(TObject*Sender){MediaPlayer1-Play();}3、循环播放功能实现:void__fastcallTForm1::MediaPlayer1Notify(TObject*Sender){MediaPlayer1-Play();}使用WorkShop制作chm文件的方法1、新建工程——下一步——给帮助文件起名字***.chm——一直下一步——finish2、Project——定义title(帮助文件的标题栏)——添加要制作的topic文件3、Contents——先设置属性ContentsProperties——去掉第一个勾4、添加headline、page,并作出相应的结构布置。5、回到Project选项,saveallfilesandcompile。搞定!Bitbtn的使用和图标设置Bitbtn的属性里有个Glyph属性,点击导入就可以了。注意昀好能把图片背景做成透明的,为什么你试试看就知道了,还有,如果想把图片放到文字上,可以用属性Layout,设成blGlyphTop就行了。RGB值实现图像底片化效果只要使RGB色值取反就可以了,也就是说把255分别减去现有的RGB值就可以实现图像底片化效果了,很简单!注意:对图像的反色需要依据屏幕的分辨率遍历屏幕的每个色点取反。窗体不动拖动图像的方法该方法通过设置Image控件的OnMouseDown和OnMouseMove事件函数来实现:1、在Form上新建Image控件2、定义Image控件的OnMouseDown和OnMouseMove事件函数如下void__fastcallTForm1::Image1MouseDown(TObject*Sender,TMouseButtonButton,TShiftStateShift,intX,intY){mx=X;my=Y;}//----
本文标题:C++-Builder-快速入门及技巧分享
链接地址:https://www.777doc.com/doc-5366399 .html