冬雪雪冬 发表于 2017-8-20 10:42:44

围观窗体与组件05 - 零基础入门学习Delphi029

列表框控件包括ListBox和ComboBox。ListBox的主要属性:items也是TStrings类型,即字符串数组,可以有add,clear, delete, insert等属性。Multiselect可否多选。ItemIndex被选中项目的索引号selected某个项目是否被选中sorted显示项目是否排序小甲鱼例子中点击不同item打开不同网址的方法是采用查看ListBox1.Selected是否为True再执行代码,我觉得用case加上ItemIndex更方便些。<p class="MsoNormal"><span lang="EN-US">procedure TForm1.ListBox1Click(Sender:
TObject);<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">begin<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">
case ListBox1.ItemIndex of<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">   
0: Label1.Caption := 'RED';<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">   
1: Label1.Caption := 'GREEN';<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">   
2: Label1.Caption := 'BLUE';<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">   
3: Label1.Caption := 'GARY';<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">
end;<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">end;</span></p>
当然作为特例,如ListBox项目的内容与需要在label显示的内容一样,上面程序还可改为<p class="MsoNormal"><span lang="EN-US">procedure TForm1.ListBox1Click(Sender:
TObject);<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">begin<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">
Label1.Caption := ListBox1.Items;<o:p></o:p></span></p>

<p class="MsoNormal"><span lang="EN-US">end;</span></p>
另打开网址的方法:<span lang="EN-US">ShellExecute(handle, ‘open’, ‘</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:
Calibri;mso-hansi-theme-font:minor-latin">网址</span><span lang="EN-US">’, nil,
nil, SW_SHOWNORMAL)</span>
参数2,在原来小甲鱼的例子中也可以是nil,最后参数是打开窗口最大化最小化正常等。ComboBox的主要属性:它相当于edit和ListBox的组合,既可以直接输入,也可以在已有的中间选择。ItemIndex与ListBox类似,选中的索引号,如果是自己输入,则为-1DropDowmCount下拉列表的数量,超过则出现滚动条。Style类型,分为         csDropDown—可输入可选择         csSimple—只输入,相当于Edit         csDropDownList—只选择         csOwnerDrawFixed—也是只选择,不知与上面的区别         csOwnerDrawVariable—感觉与上面一样 滑块型控件ScrollBar和TrackBarScrollBar的属性:Kind水平和垂直Max/Min最大最小值LargeChange单击滚动条的变化值SmallChange单击箭头的变化值Position当前位置 TrackBar 的属性:Frequency设置两个刻度间隔值,默认为1Orientation水平或垂直,搞不明白为什么ScrollBar用kind?LineSize方向键每次移动步长PageSize PgUp和PgDn移动步长,这两个与ScrollBar的SmallChange和LargeChange一样,干嘛用不同的名字?SliderVisible 滑块是否可见,滑块不可见时不能用鼠标改变,但可以用键盘改变 小甲鱼最后的例题是消失的苍井空,其实很简单,把Image的Stretch改为True,同步改变Height和width就可以缩放图片,或者把proportional改为True固定宽高比,只改变宽高的一项就行了;改变透明度的知识课上没有讲,我看了小甲鱼的程序并查看了资料,首先将form的AlphaBlend设为True,通过Scroll改变AlphaBlendValue的值,范围为0~255。

13328593595 发表于 2023-8-26 21:30:06

为啥这些代码我没看懂
页: [1]
查看完整版本: 围观窗体与组件05 - 零基础入门学习Delphi029