1. [图片] QQ20130804162049.png


​2. [代码]AAuto 代码     
import win.ui;
import web.layout;
/*DSG{{*/
winform = ..win.form( text="好为博客";bottom=278;max=false;right=387;border="none";exmode="toolwindow";parent=...;cls="" )
winform.add(  )
/*}}*/
 
import inet.http;
import web.json;
import win.util.tray;
import web.layout.behavior.windowCommand;
 
tray = win.util.tray(winform, "/res/iconv.ico", "好为博客");
winform.onClose = function(hwnd, message, wParam, lParam){
     tray.delete();   
}
/*
panel = ..win.form(topmost=1;
text="好为博客";
bottom=630;
right=100;
top=28;
border="none";
exmode="toolwindow";
parent=...;
cls="");
*/
winform.wndproc = function(hwnd,message,wParam,lParam){
    select( message ) { 
        case( 0x400+9981) {
            if( lParam = 0x205){
                winform.close();
            }
        }
    }
}
 
layout = web.layout(winform);
layout.html = /**
<html command="window-caption">
<style type="text/css">
.animate {
    assigned!: self.start-animation();
    animation-start!: self::margin-left = 20;
    animation-end!:   self::margin-left = 144;
    animation-step!: self::margin-left < 144 ? (
        delta = limit( (144 - self::margin-left) * 0.2, 5, 15),
        self::margin-left = self::margin-left + delta,
        return 5
    );
}
.show { display: inline; }
.hidden { display: none; }
input { outline: none; }
p { margin: 0; margin-bottom: 10px; }
span { display: inline-block; margin-right: 20px; }
html { 
    behavior: windowCommand; 
    background-image: url(/res/bg.png); 
    background-position: left top;  
    background-color: transparent;
    margin: 0;
}
.header { width: 100%; height: 120px; background; rgb(255, 255, 255); }
.header .caption { float: right; margin-right: 4px; margin-top:4px;}
.header .caption a { 
    display: inline-block; 
    float: left; 
    width: 26px;
    height: 20px;
    background: url(/res/cbtn.png) no-repeat;
}
.header .caption a[command="window-setting"]{
    background-position: 0px 0px;
}
.header .caption a[command="window-setting"]:hover {
    background-position: 0 -30px;
}
.header .caption a[command="window-min"] {
    background-position: -26px 0px;
}
.header .caption a[command="window-min"]:hover {
    background-position: -26px -60px;
}
.header .caption a[command="window-close"] {
    background-position: -52px 0px;
}
.header .caption a[command="window-close"]:hover {
    background-position: -52px -90px;
}
.center { width: 100%; height: 110px; }
.center .left { float: left; margin-left: 20px;}
.center .left .avatar { padding: 10px; background: rgb(255, 255, 255); }
.center .left .input {
    color: #000;
    background-color: #fff;
    border: solid 1px #888888;
    width: 175px;
    padding: 2px 5px;
    height: 21px;
    font-family: Arial;
    font-size:13px; 
}
.center .left span label { color: #fff; font-size:12px; }
.center .left span input[type="checkbox"] {
    border: solid 1px #333;
    width: 12px;
    height: 12px;
    margin-right: 5px;
}
.footer button {
    display: inline-block;
    margin: 0 auto;
    display: block;
    width: 149px;
    height: 40px;
    background: url('/res/button.png') no-repeat center top;
    click!: 
    $1(div[type='avatar']).class = "left animate",
    $1(div[type='sign']).class = "left hidden";
     
}
.footer button:active { background: url('/res/button.png') no-repeat center -45px; }
</style>
 
<div class="header">
    <div class="caption">
        <a command="window-setting"></a>
        <a command="window-min"></a>
        <a command="window-close"></a>
    </div>
</div>
<div class="center">
    <div type="avatar" class="left">
        <div class="avatar"><img src="/res/default.png" /></div>
    </div>http://www.bizhizu.cn/shouhui/​
    <div type="sign" class="left">
        <p><input id="user" class="input" type="text" novalue="帐号" /></p>
        <p><input id="password" class="input" type="password" novalue="密码"/></p>
        <p class="cookie-bar">手绘图片
        <span><input type="checkbox" name="cookie[remeber]" value="1" /><label>记住密码</label></span>
        <span><input type="checkbox" name="cookie[login]" value="1"/><label>自动登录</label></span>
        </p>
    </div>
</div>
<div class="footer">
    <button id="button"></button>
</div>
</html> 
**/
 
winform.transparent(true);
winform.show();
win.loopMessage();

HTML layout高仿QQ GUI的更多相关文章

  1. 史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。

    重要的话 开头说,not for the RecyclerView or ListView, for the Any ViewGroup. 本控件不依赖任何父布局,不是针对 RecyclerView. ...

  2. Android实现高仿QQ附近的人搜索展示

    本文主要实现了高仿QQ附近的人搜索展示,用到了自定义控件的方法 最终效果如下 1.下面展示列表我们可以使用ViewPager来实现(当然如果你不觉得麻烦,你也可以用HorizontalScrollVi ...

  3. Android 高仿QQ滑动弹出菜单标记已读、未读消息

    在上一篇博客<Android 高仿微信(QQ)滑动弹出编辑.删除菜单效果,增加下拉刷新功能>里,已经带着大家学习如何使用SwipeMenuListView这一开源库实现滑动列表弹出菜单,接 ...

  4. 高仿QQ的即时通讯应用带服务端软件安装

    Android 基于xmpp协议,smack包,openfire服务端(在下面)的高仿QQ的即时通讯实现.实现了注册,登录,读取好友列表,搜索好友,添加分组,添加好友,删除好友,修改心情,两个客户端之 ...

  5. 高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框

    上一篇高仿QQ即时聊天软件开发系列之二登录窗口界面写了一个大概的布局和原理 这一篇详细说下拉框的实现原理 先上最终效果图 一开始其实只是想给下拉框加一个placeholder效果,让下拉框在未选择未输 ...

  6. 高仿QQ即时聊天软件开发系列之二登录窗口界面

    继上一篇高仿QQ即时聊天软件开发系列之一开端之后,开始做登录窗口 废话不多说,先看效果,只有界面 可能还有一些细节地方没有做,例如那个LOGO嘛,不要在意这些细节 GIF虽短,可是这做起来真难,好吧因 ...

  7. 高仿QQ即时聊天软件开发系列之一开端

    前段时间在园子里看到一个大神做了一个GG2014IM软件,仿QQ的,那感觉···,赶快下载源码过来试试,还真能直接跑起来,效果也不错.但一看源码,全都给封装到了ESFramework里面了,音视频那部 ...

  8. 高仿qq聊天界面

    高仿qq聊天界面,给有需要的人,界面效果如下: 真心觉得做界面非常痛苦,给有需要的朋友. chat.xml <?xml version="1.0" encoding=&quo ...

  9. WPF ”真正的“高仿QQ

    时常可以在各种论坛 博客 看到 各种所谓的 高仿QQ. 说实话 越看越想笑呢.(PS:纯粹的 抨击 那些 不追求 UI 完美主义者) 例如:       本次模仿 采用 C# WPF XAML , 总 ...

随机推荐

  1. PyTorch学习笔记之CBOW模型实践

    import torch from torch import nn, optim from torch.autograd import Variable import torch.nn.functio ...

  2. Linux Perf Probes for Oracle Tracing

    Luca Canali on 21 Jan 2016 Topic: this post is about Linux perf and uprobes for tracing and profilin ...

  3. Go -- 接口赋值

    在go语言中,接口赋值分为2中情况: 1.将对象实例赋值给接口: 2.将一个接口赋值给另一个接口. 1.将对象实例赋值给接口: 要求对象实现了接口的所有方法. 2.将接口赋值给另一个接口: 假设接口A ...

  4. [zlib]_[0基础]_[使用Zlib完整解压zip内容]

    场景: 1. 解压文件一般用在下载了一个zip文件之后解压,或者分析某个文件须要解压的操作上. 2. 解压文件,特别是解压带目录的zip文件往往系统没有提供这类Win32 API,当然C#自带库能解压 ...

  5. 微信授权网页登陆,oauth

    1.在微信公众号请求用户网页授权之前.开发人员须要先到公众平台官网中的开发人员中心页配置授权回调域名.请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加http://等协议头. 2.授 ...

  6. SqlServer查询语句中用到的锁

    前段时间**公司DBA来我们这培训.讲了一大堆MYSQL的优化. QA环节一程序员问“SQL语句中的 with nolock 除了不锁表外,是否能读其他锁住的数据". 讲课的人嘟嘟了半天没解 ...

  7. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  8. 《后会无期》票房赶超《小时代3》 大数据解读韩寒VS四娘之争

    7月25日.韩寒导演的处女作<后会无期>零点首映,而郭四娘导演的<小时代3:刺金时代>比<后会无期>早上映一周.也就是7月17日正式公映,韩寒与四娘之间向来不缺乏话 ...

  9. 1.excel如何让一列的数都乘以固定值

     让B列等于A列乘以39.37 1.我们先选中B列中要编辑的单元: 2.再在编辑栏中输入公式:=A2*39.37   (PS:*号即表示是×号) 3.公式输入后,按下快捷键:CTRL+回车:记住一定要 ...

  10. oracle死锁的检测查询及处理

    -- 死锁查询语句 SELECT bs.username "Blocking User", bs.username "DB User", ws.username ...