下面是form代码:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, CometSkin, StdCtrls, ComCtrls, ExtCtrls, Menus;
const IDM_MODULE_HOME = ;
IDM_MODULE_PROTEC = ;
IDM_MODULE_SEARCH = ;
IDM_MODULE_TOOLS = ;
IDM_MODULE_CLOCK = ;
IDM_MODULE_HISTORY = ; type
TForm1 = class(TSkinForm)
Label1: TLabel;
PopupMenu1: TPopupMenu;
N11: TMenuItem;
Button1: TButton; procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure WMControlClick(var msg: TMessage); message
WM_SkinControl_Click;
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm}
{$R '.\Res\SkinRes.RES'} procedure TForm1.Button1Click(Sender: TObject);
begin end; procedure TForm1.FormCreate(Sender: TObject);
begin
SetBkImage('BkImage1_jpg', 'Skin', , , , );
AddModuleButton(IDM_MODULE_HOME, '首 页', 'Module_Home_png', 'Skin');
AddModuleButton(IDM_MODULE_PROTEC, '保 护', 'Module_protec_png', 'Skin');
AddModuleButton(IDM_MODULE_SEARCH, '查 杀', 'Module_search_png', 'Skin');
AddModuleButton(IDM_MODULE_TOOLS, '工 具', 'Module_tools_png', 'Skin');
AddModuleButton(IDM_MODULE_CLOCK, '任 务', 'Module_clock_png', 'Skin');
AddModuleButton(IDM_MODULE_HISTORY, '记 录', 'Module_history_png', 'Skin');
AddModuleButton(IDM_MODULE_HISTORY, '记 录', 'Module_history_png', 'Skin');
SetModuleCheck(IDM_MODULE_HOME);
end; procedure TForm1.WMControlClick(var msg: TMessage);
var
CtlID: Integer; //控件ID
nIndex: Integer; //控件索引
pt: TPoint;
begin
CtlID := msg.WParam;
nIndex := msg.LParam;
case CtlID of
SCM_MAINMENU:
begin
//MessageBox(Handle, '你点击[主菜单]了', '提示', MB_ICONINFORMATION);
GetCursorPos(pt);
PopupMenu1.Popup(pt.X,pt.Y);
end;
IDM_MODULE_HOME:
begin
SetModuleCheck(CtlID);
MessageBox(Handle, '你点击[首 页]了', '提示',
MB_ICONINFORMATION);
end; IDM_MODULE_PROTEC:
begin
SetModuleCheck(CtlID);
MessageBox(Handle, '你点击[保 护]了', '提示',
MB_ICONINFORMATION);
end;
IDM_MODULE_SEARCH:
begin
SetModuleCheck(CtlID);
MessageBox(Handle, '你点击[查 杀]了', '提示',
MB_ICONINFORMATION);
end;
IDM_MODULE_TOOLS:
begin
SetModuleCheck(CtlID);
MessageBox(Handle, '你点击[工 具]了', '提示',
MB_ICONINFORMATION);
end;
IDM_MODULE_CLOCK:
begin
SetModuleCheck(CtlID);
MessageBox(Handle, '你点击[任 务]了', '提示',
MB_ICONINFORMATION);
end;
IDM_MODULE_HISTORY:
begin
SetModuleCheck(CtlID);
MessageBox(Handle, '你点击[记 录]了', '提示',
MB_ICONINFORMATION);
end;
end;
end;
end.

开源DirectUI界面库

微软 
https://github.com/jameskeane/directui
中国
http://code.google.com/p/duilib/
俄国
https://github.com/rsdn/avalon

delphi for DirectUI界面库的更多相关文章

  1. 开源的DirectUI界面库

    1. duilib简介 duilib是一个开源的DirectUI界面库,简洁但是功能强大.而且还是BSD的license,所以即便是在商业上,大家也可以安心使用.现在大家可以从这个网站获取到他们所有的 ...

  2. DuiLib DirectUI 界面库

    国内首个开源 的directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 .Window CE.Mobile等平台. Duilib 是一款强 ...

  3. UILite-MFC/WTL/DirectUI界面库

    之前写了UILite库介绍: http://blog.csdn.net/zhangzq86/article/details/9093945 如今UILite库能够使用git訪问了: https://g ...

  4. 全开源C++ DirectUI 界面库SOUI 3.0更新

    从2019.5.22开始,SOUI版本号更新到2.9.0.2,后面开始准备3.0的开发,历时近3个月,现在3.0的主要工作基本完成. 为了便于大家区别2.x,3.0启用了新的代码仓库:https:// ...

  5. 开源一套DirectUI界面库

    http://www.cppblog.com/weiym/archive/2012/07/03/181307.html

  6. DDUI For Delphi Seattle Directui界面组件

    http://www.delphigear.cn/0/11258/go.aspx http://bbs.csdn.net/topics/390285613

  7. 仿迅雷播放器教程 -- C++ windows界面库对比(11)

    从上一篇文章中可以看出,C++的界面方向还很弱,没有任何一个界面库可以一统天下,所以才造成了界面库百家争鸣的情况. 从时间上看: 1.出来最早的是QT,1991年就有了. 2.VC++ 虽然1992年 ...

  8. 几款国产开源的Windows界面库

    上次介绍的几款图形界面库http://blog.okbase.net/vchelp/archive/23.html都是国外的开源项目,今天介绍的几款都是国人的开源项目,大部分是采用DirectUI设计 ...

  9. 开源.NET界面库

    一.十大开源的.NET用户界面框架 选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户.好的UI更能吸引用户,有时 ...

随机推荐

  1. C#之委托(二)

    其实在上一篇委托(一)中,创建委托还是太繁琐了点.代码量过多,可能会妨碍我们对代码和逻辑的理解.有些时候可能处理逻辑的代码都笔声明委托的代码要少,这就不可避免的增加了重复代码的量.所以在c#2中极大的 ...

  2. 【ABAP系列】SAP ABAP 仓库库存-物料拆分的算法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 仓库库存-物料 ...

  3. python3.5+django2.0快速入门(一)

    因为这篇教程需要用到anaconda的一些操作,如果还不懂anaconda的操作的同学可以看下这篇文章python 入门学习之anaconda篇. 创建python3+的开发环境 直接在终端输入:co ...

  4. TCP通信 - 服务器开启多线程与read()导致服务器阻塞问题

    TCP通信的文件上传案例 本地流:客户端和服务器和本地硬盘进行读写,需要使用自己创建的字节流 网络流:客户端和服务器之间读写,必须使用Socket中提供的字节流对象 客户端工作:读取本地文件,上传到服 ...

  5. 创建Maven项目时,出现系列的错误提示的修改方法

    1.创建Maven项目成功之后,需要修改一些配置, (1).java版本改为“本系统中java的版本号” 问题一:(2).Dynamic Web Module的version要改为2.5以上,然而本人 ...

  6. APMServ升级PHP至5.3

    APMServ5.2.6 的php版本是php5.2.6,所以需要升级一下PHP版本:1.到 php下载地址下载PHP5.3的VC6版本的zip文件,我下载的是:php-5.3.23-Win32-VC ...

  7. adb logcat查看手机端日志

    前言 做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了以下操作是基于windows平台的操作:adb logcat | ...

  8. Spring事务管理之几种方式实现事务(转)

    一:事务认识 大家所了解的事务Transaction,它是一些列严密操作动作,要么都操作完成,要么都回滚撤销.Spring事务管理基于底层数据库本身的事务处理机制.数据库事务的基础,是掌握Spring ...

  9. 剑指offer--字符串

    C/C++中每个字符串都以字符'\0'作为结尾,这样我们就可以很方便的找到字符串最后的尾部.由于这个特点,每个字符串中都有一个额外字符的开销,稍不留神就会造成字符串的越界. 为了节省内存,C/C++把 ...

  10. Nginx优化总结

    目录 Nginx性能优化概述 一. 压力测试工具实战 二.了解影响性能指标 三.系统性能优化 四.静态资源优化 Nginx性能优化概述 基于Nginx性能优化,那么在性能优化这一章,我们将分为如下几个 ...