文档章节

使用 IntraWeb (10) - CSS

涂孟超
 涂孟超
发布于 2014/09/26 15:31
字数 385
阅读 14
收藏 0

IW 会把大多数的视觉属性转换为 CSS; 我们主动使用 CSS 要分两步:

第一步:
{通过窗体的 StyleSheet 属性指定要链接的 CSS 文件}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  StyleSheet.Filename := 'MyCss1.css'; //CSS 文件须放在 wwwroot 下
//  StyleSheet.URL := 'http://...';    //外链
end;

{假如站点级的 CSS ... TIWServerController.OnCreate}
procedure TIWServerController.IWServerControllerBaseCreate(Sender: TObject);
begin
  StyleSheet.Filename := 'MyCss1.css'; //CSS 文件须放在 wwwroot 下
//  StyleSheet.URL := 'http://...';    //外链
end;


第二步:
{为要使用样式的控件指定 Css 属性}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  StyleSheet.Filename := 'MyCss1.css';
  IWMemo1.Css := 'Class1'; //假如 MyCss1.css 中有个 Class1 的类, 如: .Class {font-size: 32px; }

  IWMemo1.StyleRenderOptions.RenderFont := False; //一般情况下, 还需要同时调整下 StyleRenderOptions 属性
end;

{------------------------------------------------------------------
关于 StyleRenderOptions 属性: 

如果我们给控件使用了 CSS, 就有可能和控件本身的属性发生冲突, 用哪一个呢? 这需要控件的 StyleRenderOptions 属性来决定!

它也是个类(IWTypes.TIWStyleRenderOptions < TPersistent < TObject), 该类只有几个布尔属性:
property RenderSize: Boolean       //
property RenderPosition: Boolean   //
property RenderFont: Boolean       //
property RenderZIndex: Boolean     //
property RenderVisibility: Boolean //
property RenderStatus: Boolean     //Enabled
property RenderPadding: Boolean    //
property RenderBorder: Boolean     //
property RenderAbsolute: Boolean   //
property UseDisplay: Boolean       //

当对应值为 False 时才可以使用相应的 CSS.
-------------------------------------------------------------------}


CSS 的诸多操作类似与 JavaScript, 譬如:
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWServerController.HTMLHeaders('<link type="text/css" rel="stylesheet" href="MyCss1.css"/>');
  Self.PreHeader.Add('<link type="text/css" rel="stylesheet" href="MyCss2.css"/>');
  Self.ExtraHeader.Add('<link type="text/css" rel="stylesheet" href="MyCss3.css"/>');

  IWServerController.ContentFiles.Add('MyCss4.css');
  Self.ContentFiles.Add('MyCss5.css');
end;


有没有可能直接在代码中写入 CSS 呢?
{使用 ExtraTagParams 属性}
IWLabel1.ExtraTagParams.Add('style = color: #f00; font-size:22px;');

{使用 OnHTMLTag 事件, 需要 uses IWHTMLTag}
procedure TIWForm1.IWLabel1HTMLTag(ASender: TObject; ATag: TIWHTMLTag);
begin
  ATag.AddStringParam('style', 'color: #f00; font-size:22px;');
end;

本文转载自:http://www.cnblogs.com/del/p/3778833.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
界面控件包TMS IntraWeb Component Pack Pro Script Edition发布v5.8.8.1

TMS IntraWeb Component Pack Pro Script Edition允许从Delphi IDE直接在IntraWeb表格上编辑设计期间的网页。IntraWeb的TMS控件允许以RAD方法用Delphi进行网页应用程序的开发。这使得网页开发...

Harriet666
2017/10/20
76
0
解决Caused by: java.sql.SQLRecoverableException: IO Error: Connection reset相关问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/majian_1987/article/details/18598589 java.sql.SQLException: Io 异常: Connection reset 当数据库连接池中...

大饼卷馒头蘸米饭
2014/01/21
0
0
使用delphi 开发 web(一) webbroke 简介

从delphi 3 开始,就可以支持使用webbroke 技术开发基于web 服务器。当时主要是支持CGI和ISAPI. CGI 其实就是一个类似控制台的可执行程序,将其放入web 服务器的可执行目录,每次web 服务器调...

xalion
2012/01/04
0
0
Intraweb 开发 的 网站 发布 部署

将Stand Alone App变为ISAPI Dll只需两步,一是将工程文件中的program改成library,二是将uses里的IWInitStandAlone改成IWInitISAPI,没有该文件就自己加上。 然后将dll文件考入你的默认web站...

vga
2014/03/01
1K
0
Sass的基础姿势

SASS是什么 传统的CSS是一种单纯的描述性样式文件,然而SASS可以对CSS进行预编译处理。在SASS源码中可以使用变量、函数、继承等动态语言的特性,并且可以编译成CSS文件。 安装与使用 安装 由...

Mllitch
2016/10/13
740
1

没有更多内容

加载失败,请刷新页面

加载更多

nginx+tomcat配置https

1、nginx配置https和【proxy_set_header X-Forwarded-Proto $scheme;】 2、java代码: String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServe......

perofu
13分钟前
3
0
必看的Linux系统新手进阶老手心得

不知道从什么时候起,linux这个话题变得越来越普及,成为大家经常讨论的话题。无论在网络上还是实际生活中,竟然很多人都在纠结学习linux的问题。网络上给的答案千千万万,而却还有很多人踌躇...

Linux就该这么学
17分钟前
3
0
Spring Boot 配置元数据指南

1. 概览 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean 上是非常有用的。但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot Configuration Proces...

liululee
20分钟前
2
0
foreach查找子类

$list = $menu_model -> menu_list();$parent_list = [];foreach ($list as $v){ if ($v['pid'] == 0) { $parent = $v; foreach ($list as $v1) ......

小小小壮
31分钟前
2
0
基于 HTML5 Canvas 实现的 TP-LINK 电信拓扑设备面板

前言 今天我们以真实的 TP-LINK 设备面板为模型,完成设备面板的搭建,和指示灯的闪烁和图元流动。 先来目睹下最终的实现效果:http://www.hightopo.com/demo/blog_tplink_20170511/index.h...

htdaydayup
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部