我用intraweb做个网页,为了好看我用到了模版,并在网页模版上指定了各个控件的位置,但如何考虑当用户显示分辨率1024*768,800*600等不同的情况,控件位置发生变化?

解决方案 »

  1.   

    我只用过IWTemplateProcessorHTML1控制iw的模板对于每个用户分辨率不同,1024*768,800*600等。
    首先要告诉程序,用户的分辨率是多少的,相应的调用不同分辨率的页面。
    比如是1024*768的切换到800*600
    OnRender或是切换页面时候
    IWTemplateProcessorHTML1.Templates.Default := 'IWMain800x600.html';
    800*600的切换到1024*768
    IWTemplateProcessorHTML1.Templates.Default := 'IWMain1024x768.html';由于这两个页面'IWMain800x600.html' 和 'IWMain1024x768.html'只能放在同个文件夹
    管理起来有点麻烦。---一点看法
      

  2.   

    这个倒也简单,但现在的显示器越做越大,1600*1200的问辨率都有,难道要从800*600到1600*1200每种做一个网页吧?而且使用模版在网页中以{%控件名%}的方式定位,比如我想让iwmemo在一个表格或IWRegion中以最大方式显示,它的align设置为alClient不管用,这样,当因为分辨率变化时,无法确定控件的位置。
      

  3.   

    当然可以控制,只是麻烦。
    如果你会css,javascript,dhtml,另外需要你的想像力,那个定位在模板上写些代码设定就可以了。
      

  4.   

    to  6rl(海):
       您好,针对这个问题,您能举个例子吗?----------------------------------------而且使用模版在网页中以{%控件名%}的方式定位,比如我想让iwmemo在一个表格或IWRegion中以最大方式显示,它的align设置为alClient不管用,这样,当因为分辨率变化时,无法确定控件的位置。
      

  5.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>这是一个控件定位的例子</TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT=""></HEAD><BODY>这是一个控件定位的例子:
    <SCRIPT LANGUAGE="JavaScript">document.write(window.screen.width + 'x' + window.screen.height);</SCRIPT>
    {%IWRegion1%}
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    if(window.screen.width==1024){ var IWRWidth = IWREGION1.style.width;//控件宽度 + 'px'
    IWRWidth = IWRWidth.substring(0, IWRWidth.length-2);//控件宽度
    IWRWidth = 1004 - IWRWidth;
    IWREGION1.style.position = 'absolute';
    IWREGION1.style.left = IWRWidth;
    IWREGION1.style.top = '0';
    }
    if(window.screen.width==800){
    var IWRWidth = IWREGION1.style.width;//控件宽度 + 'px'
    IWRWidth = IWRWidth.substring(0, IWRWidth.length-2);//控件宽度
    IWRWidth = 780 - IWRWidth;
    IWREGION1.style.position = 'absolute';//定位方式:绝对定位
    IWREGION1.style.left = IWRWidth; //控件左边位置数值
    IWREGION1.style.top = '0'; //控件顶部位置数值
    }
    //-->
    </SCRIPT></BODY>
    </HTML>
      

  6.   

    to  6rl(海) :   十分感谢,代码研究中
      

  7.   

    to  6rl(海) :
    你的MSN或QQ是多少?
    我有个intraweb问题请教你,就是怎么发布intraweb;
    在网上也找不到答案,请帮忙,多谢了。
      

  8.   

    怎么会没有--Intraweb开发学习笔记(五)(apache开发篇)
    在iis上发布的最容易--去查isapi发布
      

  9.   

    我在IIS中发布Delphi中自带的这个例子。
    D:\Program Files\Borland\Delphi7\Demos\IntraWeb\Phonetics Customer Profiler
    在IIS中已经加入了。
    http://localhost/pcp.dll/EXEC/0/743E9F007D20B4C8CBE5E240  
    在浏览器中是这么执行的。
    Phonitiks Customer Profiler Error
    Session not found .Session may have expired.我是用DLL那种发布的,可是还是不行,能帮一下吗。多谢了。
      

  10.   

    第一个问题:先试这个地址http://localhost/pcp.dll  
           后面这段是包含有sessionId的特殊字符串/0/743E9F007D20B4C8CBE5E240 (但是这段是已前的某个会话,肯定是会话过期了)第二个问题:把下面一段文字加到ServerController的属性"HTMLHeaders"当中(编码问题,我看那个(Phonitiks Customer Profiler)例子中乱码的那一页默认编码是“西欧(iso)”)
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta http-equiv="content-language" content="gb2312" />
    你现在用的是intraweb5.23我用的是intraweb7.41  那个例子是发布成exe的(我没改)可能有些不同,先试试看
      

  11.   

    用这个地址http://localhost/pcp.dll这个,会出现下面这个错误:
    Phonitiks Customer Profiler Error  
      Unrecognized Command: : : 
    还有就是我用.dll发布和.exe是一样的.
    现在我要用IntraWeb做一个带数据查询的WEB页面,该怎么发布。用.exe该怎么发布啊?
    多谢了。
      

  12.   

    请你把那个例子打包发给我看看
    6rl(at)163.com   -----------
    (at)->@
      

  13.   

    exe的自带服务器,直接运行就可以了
      

  14.   

    更正d7自带的intraweb版本是5.0.43