下面是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. 挣值管理(PV、EV、AC、SV、CV、SPI、CPI)

    挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV. PV:计划值,在即定时间点前计划完成活动 ...

  2. hive重要命令

    hadoop dfsadmin -safemode leave hadoop退出安全模式让提示符显示当前库: set hive.cli.print.current.db=true;显示查询结果时显示字 ...

  3. 100 IncDec序列

    IncDec序列 Description 给定一个长度为 n 的数列 a1,a2,-,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一. 求至少需要多少次操作才能使数列中 ...

  4. new Date() 对象及方法:

    在别人的代码中见了两回 new Date().toLocaleString(),查了才知道,toLocaleString()是 根据本地时间格式,把 Date 对象转换为字符串.于是好奇new Dat ...

  5. C++学习笔记(五)--指针、NULL、引用

    1. C++中已经定义了NULL为0:#define NULL 0 指针p可以指向空值NULL即 p = NULL;表示该指针变量不指向任何变量. 注意:指针未初始化与指针为NULL不同, p = N ...

  6. Java 动态代理及AOP实现机制

    AOP实现机制http://www.iteye.com/topic/1116696 AOP: (Aspect Oriented Programming) 面向切面编程AOP包括切面(aspect).通 ...

  7. 【SQL Server复制】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?

    转自:https://www.cnblogs.com/happyday56/p/3849018.html 关键字:sql server复制 [SQL Server高可用性]数据库复制:修改表结构.新增 ...

  8. HDFS镜像文件fsimage和编辑日志文件edits

    镜像文件和编辑日志文件 1)概念 namenode被格式化之后,将在/opt/module/hadoop-2.7.2/data/tmp/dfs/name/current目录中产生如下文件 edits_ ...

  9. 厉害了,Apache架构师们遵循的 30 条设计原则

    作者:Srinath 翻译:贺卓凡,来源:公众号ImportSource Srinath通过不懈的努力最终总结出了30条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构师团队或 ...

  10. 使用IntelliJ IDEA配置Tomcat(详细操作)

    一,下载Tomcat 1.进入官网Http://tomcat.apache.org/,选择download,下载所需要的Tomcat版本.(注意:最好下载Tomcat 7 或者Tomcat 8 因为最 ...