delphi 2006-05笔记

来源:互联网 发布:2016如何做好淘宝网店 编辑:程序博客网 时间:2024/05/20 17:39

200658星期一

VCLSkin的使用

How to skin a application

A. Skin file store in exe file.

1. Put TSkindata component on mainform

2. Set Skindata.skinstore property , store skin file in your application.

3. Set Skindata.active = true

4. compile your application and run

 

B. Skin file is in file folder.

1. Put TSkindata component on mainform

2. Set Skindata.skinfile property , skin file is in exe file folder.

3. Set Skindata.active = true

4. compile your application and run

 

C. Skin file is in TSkinStorefile, store multi skin files in EXE file.

TSkinStore is designed for multi skin files stored in EXE file.

1. Put TSkindata,TSkinstore on mainform, store skin files in TSkinstore.

2.Load skin file In Form.Oncreate event, example code as follow:

procedure TForm1.FormCreate(Sender: TObject);
begin

Skindata1.LoadFromCollection(skinstore1,0);
if not skindata1.active then skindata1.active:=true;

end;

Form caption and MainMenu

A. Form caption and Mainmenu are skin

Skindata.skincontrols.xcMainmenu=true

B. Caption does not skin, Menu is skin .

Skindata.skincontrols.xcMainmenu=false
Skindata.skincontrols.xcMenuitem=true

Skin 3rd controls

Vclskin support 3rd control easily, just add control class name in TSkinData.skin3rd property

TSkindata.skin3rd support controls include Edit, Checkbox, Radiobutton, Combobox, Panel, Radiogroup, Checkgroup, Buton, Bitbtn, Speedbutton, Tab, Progress, Trackbar, Scrollbar, Embedscrollbar.

Embedscrollbar is to skin control which scrollbar is TScrollbar embed in it. like TAdvMemo .

TSkindata.skin3rd example code
TDBCheckboxEh=Checkbox
TDBLookupCombobox=Combobox
TLMDCheckGroup=CheckGroup
TLMDRadioGroup=RadioGroup
TLMDRadiobutton=Radiobutton
TLMDGROUPBOX=Panel
TLMDEDIT=Edit

if there is 3rd checkbox that vclskin don't support , you just add one line in TSkindata.skin3rd
Class_name_checkbox=checkbox

,这些都是从帮助上搞来的

懒省事了

不过,帮助真的很好

我总结几点

一、几个重要属性

Active

DisableTag

SkinFile

SkinStore

SkinFormType

 

SkinControls

Options

 

二、TSkinStore

TSkinStore can store multi-skinfiles in your application at designe time

Tskindata can load skin file from TSkinStore at rumtime:

TSkinData.LoadFromCollection(astore:TSkinStore;aindex:integer),

    不错,可以在运行动态设置皮肤,其实通过改变TSkinDataSkinFile

SkinStore属性也可以达到同样的效果

 

2006510星期三

TGauge控件的使用

今天顺便看了看TGauge(标准尺)这个控件的用法,感觉挺简单,也不错

重要属性:

BackColor   背景色

ForeColor  前景色

MaxValue  最大值

MinValue  最小值

progress  前进,进度   当前的进度

Kind  类型   可设置不同的外观形状

问题

TGauge类在哪个单元中定义的?为什么在窗体上添加了一个TGauge对象后,查找TGauge定义时弹出Unable    to local  file "Gauge.pas"

2006511星期四

去除TMainMemu自动添加的快捷键

以前一直对这个小问题束手无策,今天终于发现解决这个问题的办法

很简单,AutoHotKeys属性设为maManual  (默认为maAutomatic)

单击鼠标右键弹出TPopMenu菜单

以前是在onKeydown事件编码代码实现该功能,其实有更简单的方法

设置autoPopup属性true即可  (默认即为True)

还有一个比较好的属性,就是TrackButton可以设置用户是单击鼠标左键啊还是右键弹出TPopMenu菜单

设置TStringGridFixedRowFixedCol的内容

刚开始不知道怎么设置,因为它不像DBGrid有Columns属性

其实也很简单,它和非固定单元格的内容设置完全一样,StringGrid1.cells[0,0]=’abc’

根据TStringGrid单元格中的内容设置设置列宽

StringGrid1.colwidth[i] := StringGrid1.Canvas.TextWidth(StringGrid1.colwidth[i]); 

2006517星期三

ActionList组件中Action中分组的一个重要属性

category

2006530星期二

时间函数

首部 function TimeToStr(const DateTime: TDateTime): string; $[SysUtils.pas
功能 返回时间DateTime转换成字符串
说明 转换格式由系统变量LongTimeFormat控制
参考 function SysUtils.DateTimeToString;var SysUtils.LongTimeFormat

━━━━━━━━━━━━━━━━━━━━━
首部 function StrToTime(const S: string): TDateTime; $[SysUtils.pas
功能 返回字符串S转换成时间
说明 字符非时间表达时将引起异常
参考 function SysUtils.TryStrToTime
例子 DateTimePicker1.Time := StrToTime(Edit1.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function StrToTimeDef(const S: string; const Default: TDateTime): TDateTime; $[SysUtils.pas
功能 返回字符串S转换成时间
说明 字符非时间表达时则返回默认值Default
参考 function SysUtils.TryStrToTime
例子 DateTimePicker1.Time := StrToTimeDef(Edit1.Text, Time);
━━━━━━━━━━━━━━━━━━━━━
首部 function TryStrToTime(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas
功能 返回字符串S转换成时间Value是否成功
说明 字符非时间表达时返回False并且Value将输出为0
参考 <NULL>
例子
///////Begin TryStrToTime
procedure TForm1.Button1Click(Sender: TObject);
var
vDateTime: TDateTime;
begin
CheckBox1.Checked := TryStrToTime(Edit1.Text, vDateTime);
DateTimePicker1.Time := vDateTime;
end;
///////End TryStrToTime
━━━━━━━━━━━━━━━━━━━━━

本来我不知道有这些函数,还自己去编Timestring函数.

不过声明一点,delphi5中没有TryStrToTime函数和StrToTimeDef函数,而在delphi6中四个函数都有

格式化函数

格式化实型数据函数

首部 function FormatFloat(const Format: string; Value: Extended): string; $[SysUtils.pas
功能 返回浮点数类型以指定格式字符串Format转换成字符串
说明 FormatFloat(',.00', 1234567890) = '1,234,567,890.00'
参考 function SysUtils.FloatToTextFmt
例子 Edit1.Text := FormatFloat(Edit2.Text, StrToFloatDef(Edit3.Text, 0));
━━━━━━━━━━━━━━━━━━━━━
首部 function FormatCurr(const Format: string; Value: Currency): string; $[SysUtils.pas
功能 返回货币类型以指定格式字符串Format转换成字符串
说明 FormatCurr(',.00', 1234567890) = '1,234,567,890.00'
参考 function SysUtils.FloatToTextFmt
例子 Edit1.Text := FormatCurr(Edit2.Text, StrToCurrDef(Edit3.Text, 0));
━━━━━━━━━━━━━━━━━━━━━

想起来都有点好笑,一次为了格式化显示金额,自己还费了九牛二虎之力,去编格式化实型函数,

格式化时间函数

━━━━━━━━━━━━━━━━━━━━━
首部 function FormatDateTime(const Format: string; DateTime: TDateTime): string; $[SysUtils.pas
功能 返回用指定的格式Format来格式化日期时间DateTime
说明 FormatDateTime('YYYY""MM""DD""', StrToDate('2002-03-09')) = '20020309'
参考 function SysUtils.DateTimeToString
例子 Edit2.Text := FormatDateTime(Edit1.Text, Now);
━━━━━━━━━━━━━━━━━━━━━

Dek文件

桌面设置文件(.DSK文件)
存储了Tools|Options菜单命令所设置的桌面选项;

如果在环境变量选项中选中了project desktop,则保存时会生成dsk文件

如果存在DSK文件,则每次打工程文件时,会从DSK文件中读取桌面信息,

*.dof是项目选项文件

它保存了通过Project|Options 菜单打开的对话框中设置的各个选项。该文件是一个文本文件可以使用一个文本编辑器打开并编辑它但建议一般不要这样做

   若想另一个项目和某一个项目有相同的outputdcu output,还有path只需将些文件拷这过来.

.cfg是项目配置文件。

项目配置文件保存着项目的配置信息它也使用与项目相同的名字该文件也是一个文本文件可使用一个文本编辑器打开它但是一般不要对其修改。


原创粉丝点击