把滚动箱的样式做如下调整来模拟 TPanel
程序中用 TPanel 做了容器, 需要给它一个背景图片; 发现这竟是个难题!
发现我经常使用的滚动箱控件 TScrollBox, 是一个很好的替代品.
本例需要先添加两个图片资源, 添加方法可以参考: http://www.cnblogs.com/del/archive/2008/08/23/1274591.html
本例效果图:

代码文件:
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
ScrollBox1: TScrollBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
end; var
Form1: TForm1; implementation {$R *.dfm} var
bg1,bg2: TBitmap; {做背景需要持久对象, 不能为局部变量} procedure TForm1.FormCreate(Sender: TObject);
begin
bg1 := TBitmap.Create;
bg2 := TBitmap.Create; {已经在资源中添加好了两个背景图片, 分别命名为: Bitmap1、Bitmap2}
bg1.LoadFromResourceName(HInstance, 'Bitmap1');
bg2.LoadFromResourceName(HInstance, 'Bitmap2');
{如果添加本地文件可用 LoadFromFile}
end; procedure TForm1.FormDestroy(Sender: TObject);
begin
bg1.Free;
bg2.Free;
end; {把滚动箱的样式做如下调整来模拟 TPanel}
procedure TForm1.Button1Click(Sender: TObject);
begin
with ScrollBox1 do
begin
BevelKind := bkSoft;
BevelOuter := bvRaised;
BorderStyle := BsNone;
AutoScroll := False;
end;
end; procedure TForm1.Button2Click(Sender: TObject);
begin
Self.Brush.Bitmap := bg1;
Self.Refresh;
end; procedure TForm1.Button3Click(Sender: TObject);
begin
ScrollBox1.Brush.Bitmap := bg2;
ScrollBox1.Refresh;
end; procedure TForm1.Button4Click(Sender: TObject);
begin
if Self.Brush.Bitmap = bg1 then
begin
Self.Brush.Bitmap := bg2;
ScrollBox1.Brush.Bitmap := bg1;
end else begin
Self.Brush.Bitmap := bg1;
ScrollBox1.Brush.Bitmap := bg2;
end;
Self.Refresh;
ScrollBox1.Refresh;
end; end.
http://www.cnblogs.com/del/archive/2008/09/01/1281345.html
把滚动箱的样式做如下调整来模拟 TPanel的更多相关文章
- html中滚动栏的样式
DIV滚动栏设置 (CSS)2008/09/26 03:07div 中滚动栏的控制2008年01月06日 星期日 01:181)隐藏滚动栏<body style="overflow-x ...
- vue中滚动页面,改变样式&&导航栏滚动时,样式透明度修改
vue中滚动页面,改变样式&&导航栏滚动时,样式透明度修改.vue <div class="commonHeader" v-bind:class=" ...
- iframe框架里镶嵌页面;<marquee>:滚动效果;<mark>做标记;内联、内嵌、外联;选择器
标签:①②③④⑤⑥⑦★ 框架: 一.frameset:(框架集) 1.如果使用框架集,当前页面不能有body 2.cols="300,*":左右拆分,左边宽300,右边宽剩余 3. ...
- CSS样式做圆角
我处理圆角的版本是由内置的绝对定位的四个div组成,每个div都有唯一的圆角图片作CSS Sprite操作.我们将会这样做: 是什么方式导致这项技术表现得这么了不起呢(What makes this ...
- 学习笔记:ALTERing a Huge MySQL Table - 对一个超大表做alter调整
Table of Contents The ProblemFuture SolutionsOverview of SolutionShortcutAssumptions/Restrictions/Co ...
- 洛谷P3926 SAC E#1 - 一道不可做题 Jelly【模拟/细节】
P3926 SAC E#1 - 一道不可做题 Jelly [链接]:https://www.luogu.org/problem/show?pid=3926 题目背景 SOL君(炉石主播)和SOL菌(完 ...
- 刷题总结——做运动(NOIP模拟)
题目: 给定一个无向图,节点数n<=50000,m<=1000000,每条边有两个值t和c,边的长度为t*c···现在要求再t尽量小的情况下,求两节点st的最短距离 题解: 第一次做的时候 ...
- 「雕爷学编程」Arduino动手做(35)——模拟量声音传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 在各方面还没准备好的时候,大家一定要慎用border-box样式!!!!
这几天,我被一个js问题困扰到癫狂了! 事情是这样的,我之前写了个功能非常复杂的纯jquery代码的前端gridview控件,实现了大量的功能和效果,在一些项目里也用得很好. 最近有个项目,样式做了调 ...
随机推荐
- 基于PCM2912a的USB声卡设计
将近一年时间没有做过硬件了,感觉都不会用Altium Designer软件了.这次做这个USB 声卡有两个目的,其一是复习Altium Designer软件:其二是在业余时间找个事做做,打发一下自己的 ...
- 【u114】旅行计划(12月你好)
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 小明要去一个国家旅游.这个国家有N个城市,编号为1-N,并且有M条道路连接着,小明准备从其中一个城市出 ...
- C# 静态构造函数,静态变量执行顺序(升华版)
上篇 是基本语法基础下的执行顺序,包括继承这个维度下的执行顺序,我们可以依照的规律顺下来,下面我们看下一些摸不到头脑的情况 我们实验 一个 类中的方法 去调用另一个非继承类的情况, 我们主要看下 ...
- telnet 的使用(ping 与 telnet)
基本用法 >> telnet localhost 23 // 23 表示 telnet 服务的端口号,不写端口号也可以,telnet 默认绑定的端口号就是 23 // netstat -a ...
- 经典书单 —— 语言/算法/机器学习/深度学习/AI/CV/PGM
0.0 计算机科学 <Lex 与 Yacc> Think Complexity(使用 Python 语言) GitHub - AllenDowney/ThinkComplexity: Co ...
- Android之消息推送实现
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...
- CUDA atomic原子操作
CUDA的原子操作可以理解为对一个变量进行"读取-修改-写入"这三个操作的一个最小单位的执行过程,这个执行过程不能够再分解为更小的部分,在它执行过程中,不允许其他并行线程对该变量进 ...
- javascript相框echarts插件实现酷立方效果图的人
最近由于项目需求,我们需要做的一类似网络效应的人立方效果,很多文件中的查询之后.百度发现echarts开源组件非常适合,而加载速度是伟大的.echarts图形主要使用html5这些新功能做,使用can ...
- Windows DPI Awareness for WPF
原文 Windows DPI Awareness for WPF 对于 WPF 程序,要控制程序的 DPI 感知程度,可在 App.manifest 中添加如下代码. 本文知识已经陈旧,你可以阅读这两 ...
- 微信公众平台自定义菜单接口API指南
微信公众平台开发模式自定义菜单接口API指南 简介 开发者获取使用凭证(如何获取凭证)后,可以使用该凭证对公众账号的自定义菜单进行创建.查询和删除等操作. 自定义菜单接口可实现以下类型按钮: clic ...