下面是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. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_11_JDK9对集合添加的优化_of方法

    用了of后集合的长度不能再改变!!!!! set不允许有重复元素 所以会抛出异常 重复的数据删掉就不报错. 改变长度 同样会报错. Map的key不允许有重复

  2. Django报错[WinError 123] 文件名、目录名或卷标语法不正确。: '<frozen importlib._bootstrap

    当你在项目文件中删除app对应的文件 却没有在项目url中删除之前配置的路径 也没有删除setting中配置的app 那么就会报错[WinError 123] 文件名.目录名或卷标语法不正确.: '& ...

  3. vue中的computed 与 watch

    计算属性 computed 指通过计算得来的属性,用于监听属性的变化 computed里面的函数调用的时候 不需要加() 方法里必须有一个返回值 return computed中的函数不会通过事件去触 ...

  4. js之模板方法模式

    模板方法模式的定义和组成: 模板方法模式是一种只需使用继承就可以实现的非常简单的模式. 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类.通常在抽象父类中封装了子类的算法框架 ...

  5. [19/05/18-星期六] HTML_form标签

    一.form标签(一) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  6. [2019杭电多校第二场][hdu6598]Harmonious Army(最小割)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6598 题意是说一个军队有n人,你可以给他们每个人安排战士或者法师的职业,有m对人有组合技,组合技的信息 ...

  7. html表格单元格添加斜下框线的方法

    一.分隔单元格的方法 1.用“transform: rotate(-55deg);”把一条水平线旋转一定角度就成斜线了 2.利用以下命令调整分割线位置等. :after :before transfo ...

  8. Hystrix (容错,回退,降级,缓存)

    Hystrix熔断机制就像家里的保险丝一样,若同时使用高功率的电器,就会烧坏电路,这时候保险丝自动断开就有效的保护了电路.而我们程序中也同样是这样.例如若此时数据库压力太大速度很慢,此时还有不断的请求 ...

  9. Java OO知识总结

    接着上一集    https://www.cnblogs.com/pdev/p/11288014.html       5. OO中的一些基本概念 继承 父类的非private方法自动被子类继承 cl ...

  10. 数组去重ES6

    原文链接:https://juejin.im/post/5b17a2c251882513e9059231 1,去除简单类型   //ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ...