当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 这是以前写的代码,自绘XP风格的菜单,硬盘坏了后以为没了,最后写的一个软件要自定义风格,“翻箱倒柜”的终于在我可爱的古董机^_^上找到了一个应用的例子。
 

 

    摘要: 这是我在一个论坛的讨论稿,我想这些情况在实践java/j2me/code/ target=_blank>程序设计过程中会常碰到,所以就将这些讨论资料写了下来: 作者:e梦缘 ? 请问用什么方法可以运行一个外部的exe并返回它的handle?winexec 返回不是该exe的handleshellexecute, shellexecuteex 也不是createprocess 返回的是 pr......
 ·使用dephi组件的生存期管理    »显示摘要«
    摘要: ?众所周知,创建型设计模式中的都会创建对象。可是对象在哪儿释放呢?当然,对于抽象工厂和工厂方法以及原型模式中,可以保存一个引用然后在需要的地方把它释放掉。可singleton模式中却没有这样的引用,或是不能确定它是否创建了。此时,dephi的组件的生存期管理机制就非常有用了,你只需要从tcompenent继承,并在构造函数中把自己的owner设为另一个被管理的组件(一般来说是你的form,fra......


自绘XP风格菜单

  这是以前写的代码,自绘xp风格的菜单,硬盘坏了后以为没了,最后写的一个软件要自定义风格,“翻箱倒柜”的终于在我可爱的古董机^_^上找到了一个应用的例子.还是把它放到blog上来,即可共享又可作为备用 :)

  把主菜单的onmeasureitem指向measuremainitem.onadvanceddrawitem指向drawmainitem,子菜单的onmeasureitem指向measuresubitem.onadvanceddrawitem指向drawsubitem,调整颜色或使用默认颜色即可达到效果 【程序编程相关:多层数据库开发一:设计数据库应用程序

【推荐阅读:多层数据库开发三:创建多层应用程序

【扩展信息:Delphi控制Excel

//调整主菜单项尺寸

procedure measuremainitem(sender: tobject; acanvas: tcanvas; var width, height: integer);

begin

  width := width + 6;

  height := height + 2;

end;

//调整子菜单项尺寸

procedure measuresubitem(sender: tobject; acanvas: tcanvas; var width, height: integer);

begin

  width := width + 20;

  height := height + 2;

end;

//绘制主菜单内容

procedure drawmainitem(sender: tobject; acanvas: tcanvas; arect: trect; state: townerdrawstate);

const

  mainmenubackcolor      : tcolor = $deedef;

  mainmenubordercolor    : tcolor = $deedef;

  mainmenuselectedbackcolor  : tcolor = $dfa988;

  mainmenuselectedbordercolor: tcolor = $c08000;

  mainmenuhotlightbackcolor  : tcolor = $deedef;

  mainmenuhotlightbordercolor: tcolor = $800080;

  mainmenugrayedbackcolor  : tcolor = $deedef;

var

  brushcolor, pencolor: tcolor;


...   下一页
 ·程序关联实现    »显示摘要«
    摘要: 程序中readme是个.sos文件,点吉它实现如下: 基本实现如下: unit unit1; interface useswindows, messages, sysutils, variants, classes, graphics, controls, forms,dialogs,registry,shlobj, stdctrls, extctrls; typetform1 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE