2011年4月28日

深入BCB理解VCL的消息机制

摘要: http://blog.csdn.net/WuThunder/archive/2008/04/11/2281063.aspx引子:本文所谈及的技术内容都来自于Internet的公开信息。由笔者在闲暇之际整理后,贴出来以飴网友,姑且妄称原创。每次在国外网站上找到精彩文章的时候,心中都会暗自叹息,为什么在中文网站难以觅得这类文章呢?其实原因大家都明白。时至今日,学习Windows编程的兄弟们都知道消息机制的重要性。所以理解消息机制也成了不可或缺的功课。大家都知道,Borland的C++ Builder以及Delphi的核心是VCL。作为Win32平台上的开发工具,封装Windows的消息机制当然 阅读全文

posted @ 2011-04-28 12:26 chulia 阅读(738) 评论(0) 推荐(0)

2011年4月27日

delphi中关键字inherited的理解

摘要: http://zhidao.baidu.com/question/107608343 inherited关键字inherited在实现多态行为时扮演着特殊角色, 它出现在方法定义中, 后面跟一个标志符或者不跟。 若 inherited后面跟一个成员名称,它表示一个通常的方法调用,或者是引用一个属性或字段比如,当 inherited Create(...); 出现在方法定义中时,它调用继承的 Create 方法。 当 inherited后面没有标志符时,它指的是和当前方法同名的继承下来的方法。在这种情况下,inherited没有明确指定参数,但把当前使用的参数传给继承下来的方法。比如, inhe 阅读全文

posted @ 2011-04-27 15:53 chulia 阅读(784) 评论(2) 推荐(0)

C++ Builder 实现控件的拖动-停靠操作

摘要: http://www.fm0898.com/show.aspx?id=20855&cid=1085.2 实现控件的拖动-停靠操作TWinControl的派生类可作为停靠点,而TControl的派生类可作为停放到停靠点的子窗口。例如,要在窗体的窗口左边界提供一个停靠点,可将一个面板排列到窗体左边界并使面板成为一个停靠点。当可停靠的控件被拖动到面板中并释放时,它们成为面板的子控件。· 使窗口控件成为一个停靠点。· 使控件成为一个可停靠子控件。· 控制子控件如何被停放。· 控制子控件如何取消停靠。· 控制子控件如何响应拖动-停靠操作。5.2. 阅读全文

posted @ 2011-04-27 12:14 chulia 阅读(2334) 评论(0) 推荐(0)

在C++Builder中如何实现合并图层程序

摘要: http://topic.csdn.net/u/20100712/09/777e2471-27f1-4b03-aa0a-f2ab4271a25c.htmlhttp://www.ccrun.com/view.asp?id=14程序名称:两个位图合2为1 v1.0文件大小:5.30kb更新时间:2005-01-19开发工具:C++Builder6 开发者:佚名官方网站:详细介绍:将两个位图融合为一个位图的源程序下载地址: 下载 两个位图合2为1 v1.0 阅读全文

posted @ 2011-04-27 12:13 chulia 阅读(250) 评论(0) 推荐(0)

2011年4月26日

BMP2AVI将BMP图象内容写入到AVI文件中去

摘要: BMP2AVI将BMP图象内容写入到AVI文件中去http://www.hackchina.com/r/132069/BMP2AVI.txt__html我收集网络中的一段代码,相信这段代码对你有用处:unit avi;interfaceuses Windows, SysUtils, Graphics, Dialogs , {$ifdef VER90} ole2;{$else} ActiveX;{$endif}type TAVIStreamInfoA = record fccType, fccHandler, dwFlags, // Contains AVITF_* flags dwCaps: 阅读全文

posted @ 2011-04-26 22:35 chulia 阅读(806) 评论(1) 推荐(0)

bcb/delphi 透明Panel 控件源代码

摘要: http://www.pudn.com/downloads185/sourcecode/delphi_control/detail867452.htmlTrPanel 透明Panel控件源码透明Panel.........\TransPanel.dcu.........\TransPanel.pasTransPanel.pas 源码http://read.pudn.com/downloads185/sourcecode/delphi_control/867452/%E9%80%8F%E6%98%8EPanel/TransPanel.pas__.htmunit TransPanel; inter 阅读全文

posted @ 2011-04-26 16:03 chulia 阅读(1511) 评论(0) 推荐(0)

2011年4月22日

自绘制菜单 和 关于动态创建PopupMenu的问题

摘要: http://topic.csdn.net/u/20081125/15/9b815583-0d5d-4512-ba20-107946b1fb23.html菜单是应用程序中常见的用户界面之一,Delphi具有功能强大的菜单设计器,可以很快地实现标准的菜单。但有时候,应用程序需要实现特定类型的菜单,我们常用的如金山毒霸的弹出式菜单就是一例,可以在菜单项里显示自己定义的图片,自己设置的文字以及自设置的菜单项大小。这种菜单称为自绘制菜单(Owner-draw MenuItem)当然,功能不止于此,我们还可以实现更好的菜单。下面就一起来做一个显示大图片和大文字的菜单吧! 一、程序思路 Delphi在绘 阅读全文

posted @ 2011-04-22 22:33 chulia 阅读(1381) 评论(0) 推荐(0)

delphi像“开始”菜单一样漂亮的菜单项实例

摘要: http://www.isstudy.com/delphi/2695.htmldelphi像“开始”菜单一样漂亮的菜单项实例 来源:原创作者:小人物录入时间:2009-10-14内容导读: delphi像“开始”菜单一样漂亮的菜单项实例:Windows的开始菜单非常独特,在菜单的旁边有一条竖着的彩条,彩条中还写着文字。这种独特的菜单能够使程序的界面看起来更加漂亮。本例就-像“开始”菜单一样漂亮的菜单实例说明Windows的开始菜单非常独特,在菜单的旁边有一条竖着的彩条,彩条中还写着文字。这种独特的菜单能够使程序的界面看起来更加漂亮。本例就实现了这种菜单,运行本例弹出“我的菜单”。就会看到菜单的 阅读全文

posted @ 2011-04-22 15:31 chulia 阅读(882) 评论(0) 推荐(0)

2011年4月21日

创建标题栏在左边的窗口界面

摘要: 实例目标实现左边标题,能拖动的窗口。如下图所示: 实现技术第一步先指明窗口BorderStyle 为bsNone,这样就不能拉伸窗,没有标题和边框。第二步就是在FormPaint(TObject *Sender) 函数里面画上标题和边框。这个函数响应消息OnPaint, 当出现重画窗口时调用。第三步就是响应WM_NCHITTEST 消息,以便拖动窗口。当返回这个消息的结果为HTCAPTION 时,WINDOWS 就认为鼠标在标题框内,所以能拖动窗口移动。实现步骤第一步创建程序,在Object Inspector 中设置BorderStyle 为bsNone 。第二步添加DrawTitle() 阅读全文

posted @ 2011-04-21 16:03 chulia 阅读(235) 评论(0) 推荐(0)

怎么一改活动窗口标题栏 非活动窗口标题栏就跟着改呢

摘要: http://zhidao.baidu.com/question/73828509参考了一些文章。 我的方法是处理WM_NCPAINT等几个非客户区消息,这些 消息处理之后都要调用缺省函数DefWindowProc(),因此 重载DefWindowProc虚函数. 对话框属性有 Tool Window 去掉System Menu LRESULT CTitleDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) { LRESULT lt=CDialog::DefWindowProc(message, wParam, lPar 阅读全文

posted @ 2011-04-21 16:03 chulia 阅读(414) 评论(0) 推荐(0)

画一个象windows 开始菜单的竖向标题

摘要: http://delphi.xcjc.net/viewthread.php?tid=42705画一个象windows 开始菜单的竖向标题 (cjc)Reminder : UnitTools, Unit1// 画一个象windows 开始菜单的竖向标题procedure DrawBar(ACanvas: TCanvas; const title: string);varlf : TLogFont;tf : TFont;H, i: Integer;dy: real;beginwith ACanvas do begin H := ClipRect.Bottom; dy := H / 128; for 阅读全文

posted @ 2011-04-21 14:32 chulia 阅读(267) 评论(1) 推荐(0)

利用DELPHI实现完全桌面控制的实现

摘要: http://forum.cnsec.org/thread-13147-1-1.html在windows 中系统桌面和开始菜单可以说是它的一大特色,其实我们可以利用delphi轻易地在应用程序中实现这种技术 : 新建一个应用程序, 将form1窗体的borderstyle属性设置为bsnone,formstyle属性设置为 fsstayontop,windowstate属性设置为wsmaximized。 如有必要可在form1窗体中放置一个image控件image1,为它的picture属性装入一幅自己喜爱的图像并将它的align属性设置为alclient,stretch设置为true,使图像 阅读全文

posted @ 2011-04-21 14:31 chulia 阅读(1012) 评论(0) 推荐(0)

如何在托盘图标实现象window开始菜单中菜单左侧的图片效果

摘要: http://wwle.5d.cn/blog/daily:518760/ 今日看到一个帖子问:如何在托盘图标实现象window开始菜单中菜单左侧的图片效果。于是自己动手做了一个。 我的思路是不用菜单,用窗体来实现(我想不仅是delphi其他编程语言应该一样可以)。 例子中我用到了一个第三方控件:Trayicon用来显示动态托盘图标(下载地址:http://2ccc.com/article.asp?articleid=1985)。请看我如下步骤: 1.新建立一个project,同时建立两个窗体Form1和iconform。其中第二个用来显示托盘图标菜单。 2.各放置一个Trayicon、ima 阅读全文

posted @ 2011-04-21 14:07 chulia 阅读(272) 评论(0) 推荐(0)

利用Delphi消息处理建立类似Windows开始菜单

摘要: http://www.abcdown.net/InfoView/Article_80836.html利用Delphi美化你的菜单 Windows下的很多程序都有十分漂亮的菜单,例如Windows“开始”菜单左方从上到下的长条形的Windows Banner 又或者是向Word那样在每一个菜单条左边都有一个小图标,看到这些很Cool的菜单,你是否觉得自己的菜单显得单调乏味呢?不需要第三方控件,利用Delphi就可以实现上面的功能。 如果要实现自定义菜单就需要在绘制菜单时改变菜单的大小以适应在菜单上绘制图形,然后再在上面绘制自己所需要的菜单效果。在Delphi中,每一个菜单项对应一个TmenuI 阅读全文

posted @ 2011-04-21 09:58 chulia 阅读(297) 评论(0) 推荐(0)

2011年4月1日

【转载】(转自 www.sinoprise.com) 骇人听闻的CSP

摘要: http://www.qtcn.org/bbs/read.php?tid=1474出处:http://sinoprise.com/read.php?tid=163&fpage=1 这个CSP不是CSP(Commercial Service Provider)即商业服务提供商,CSP不是Cserver/Client Program,也不是China Super Programer,更不是CS Player,那么什么是CSP呢?在说明什么是CSP之前,先说明什么是“骇人听闻”,一说到“骇人听闻”,你可能就想到了是什么坏事吧,其实不一定,应该说就是前所未闻的事说严重一点就是“骇人听闻”了。在 阅读全文

posted @ 2011-04-01 13:41 chulia 阅读(596) 评论(0) 推荐(0)

有人会BCC32命令行下编译工程和组件的吗

摘要: http://www.chengxy.com/article/35041.html有人会BCC32命令行下编译工程和组件的吗.命令行编译工程的脚本帖一下个出来,这个好象不难的, 但是怎么编译组件工程并注册呢, 也帖一个出来吧.Borland的编译器都支持直接通过命令行编译我们的工程。 为此我们建议,为了方便地使用该编译器做一些预先的配置。首先必须编译器所安装的目录,从现在起我们就称之为base directory。在这个目录下都要有如下子目录BIN,INCLUDE和LIB。Borland C++ 5.5命令行工具被缺省地安装在 C:\BORLAND\BCC55目录中。 在base direc 阅读全文

posted @ 2011-04-01 13:39 chulia 阅读(1175) 评论(0) 推荐(0)

2011年3月15日

关于内存泄漏检测及debug错误行数捕获

摘要: http://blog.csdn.net/ladliu/archive/2009/09/02/4509859.aspx参考资料:1、http://blog.vckbase.com/bruceteen/archive/2004/10/28/1130.aspx;2、http://www.vckbase.com/document/viewdoc/?id=1349;实验平台:vc6.0++(sp6);这篇文章是对2004-09-02日发表的《VC++6.0中简单的内存泄漏检测事例代码》(已经删除)的更新.对C++代码而言,内存泄漏问题虽然有诸多方法避免,但实际代码编写的时候,或出于自信或出于复杂性的考 阅读全文

posted @ 2011-03-15 01:01 chulia 阅读(471) 评论(0) 推荐(0)

__FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程)

摘要: http://www.cnitblog.com/zouzheng/archive/2007/08/31/32691.html先看下简单的初始代码:注意其编译运行后的结果。root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件#ifndef CLOBAL_H #define GLOBAL_H #include <stdio.h> int funca(void); int funcb(void);#endifroot@xuanfei-desktop:~/cpropram/2# cat funca.c //函数a#include &qu 阅读全文

posted @ 2011-03-15 00:59 chulia 阅读(270) 评论(1) 推荐(0)

2011年3月9日

在C++Builder中实现快速动画

摘要: http://www.sudu.cn/info/html/edu/C/20061207/236740.html快速动画是指每隔一段非常小的时间间隔就快速擦去原有画面,并重新画上新的画面的动画技术。快速动画成功的关键就在于擦去和重画的速度必须非常快,否则画面就会有闪烁现象。 在VB中制作快速动画比较简单,只要把窗体的AutoRedraw属性设置为true,再直接调用API函数BitBlt,画完一帧Refresh一次。但C++Builder的窗体没有AutoRedraw属性,只要一使用BitBlt,窗体就会自动刷新,由于一帧画面往往要几次用到BitBlt,画面就闪烁起来了。解决的办法就是自己定义一 阅读全文

posted @ 2011-03-09 23:38 chulia 阅读(652) 评论(1) 推荐(0)

图形图像处理-之-任意角度的高质量的快速的图像旋转 上篇 纯软件的任意角度的快速旋转

摘要: http://blog.csdn.net/javatalk/archive/2007/05/08/1600331.aspxFW; http://blog.csdn.net/housisong/archive/2007/04/27/1586717.aspx图形图像处理-之-任意角度的高质量的快速的图像旋转 上篇 纯软件的任意角度的快速旋转 HouSisong@GMail.com 2007.04.26tag:图像旋转、任意角度、图像缩放、速度优化、定点数优化、近邻取样插值、二次线性插值、 三次卷积插值、MipMap链、三次线性插值、MMX\SSE优化、CPU缓存优化摘要:首先给出一个基本的图像旋转 阅读全文

posted @ 2011-03-09 00:03 chulia 阅读(641) 评论(0) 推荐(0)

2011年3月1日

常用存储过程语法

摘要: http://blog.csdn.net/zxcred/archive/2008/09/19/2953653.aspx前面学过了基本的存储过程,见 存储过程入门 现在学一下常用的存储过程的语法,只要花一点点时间学习下,就能用存储过程实现很复杂的功能,可以少写很多代码。 为了方便说明,数据库使用SQL Server的示例数据库,Northwind和pubs,如果SQL Server中没有的话,可以按下面的方法安装1,下载SQL2000SampleDb.msi,下载地址是:http://www.microsoft.com/downloads/details.aspx?FamilyId=066162 阅读全文

posted @ 2011-03-01 15:44 chulia 阅读(235) 评论(0) 推荐(0)

使用NSIS (NullSoft Scriptable Install System)制作安装程序快速指南

摘要: 转:http://xltx.blog.hexun.com/32224064_d.htmlNullsoft Installation System 是一个小巧高效的安装软件。可通过样例修改或根据自己要求编写 NSI 脚本文件来定制自己的安装系统,可实现许可协议的显示、安装类型的选择、写入注册表、写入INI文件、连接程序外壳、语句跳转、提示信息显示、创建卸载程序、定制安装和卸载程序的图标、创建快捷方式等其他安装程序应有的功能,是一款操作简单、功能强大的高效率安装软件精品。“用户对你的第一印象是你的安装程序”——摘自NSIS网页对于非技术用户,例如儿童,家长,作家等等。如果他们无法很容易地安装某个软 阅读全文

posted @ 2011-03-01 15:04 chulia 阅读(3255) 评论(0) 推荐(0)

使用NSIS (NullSoft Scriptable Install System)制作安装程序快速指南 ---- 转

摘要: http://www.cppblog.com/fwxjj/archive/2008/01/30/42243.htmlhttp://xltx.blog.hexun.com/32224064_d.html“用户对你的第一印象是你的安装程序”——摘自NSIS网页对于非技术用户,例如儿童,家长,作家等等。如果他们无法很容易地安装某个软件,他们就会放弃这个软件!而开发者和大多数程序员,讨厌制作Windows安装程序,甚至讨厌学习如何制作安装程序。从10年前的Windows Installer Shield, Installer Shield Express等等,我从来没有耐心下来搞清楚如何制作安装程序。 阅读全文

posted @ 2011-03-01 15:00 chulia 阅读(551) 评论(0) 推荐(0)

2011年2月25日

FIREBIRD使用经验总结

摘要: http://www.cnblogs.com/wenew/articles/152294.html最近在改写一段ms sql的存储过程到firebird,总结了一些经验,firebird可以说是这个世界上最小的又支持存储过程的数据库的,才2.3M而已,如果做小型的应用,比ms sql桌面版也有70多M(+sp3),mysql也有20-30M,太不方便。1.自定义函数问题.Access to UDF library "rfunc.dll" is denied by server administrator花了很长时间,不明白为何,将rfunc.dll拷到udf目录,bin目录 阅读全文

posted @ 2011-02-25 14:31 chulia 阅读(1836) 评论(0) 推荐(0)

C++ Builder 2007中使用dbExpress开发firebird数据库

摘要: http://www.89zz.com/Design/wrkf/CJJ/201010/108068.html这几天刚从cb6升级到cb2007,有个自己写的程序使用dbExpress开发firebird数据库,连接不上,在网上找了一些资料,自己又摸索了一些cb2007的新功能,介绍给大家。首先声明,本人不是专职程序员,编程只是爱好,以下方法并不是我最先发现的,我只是整理一下,并给那些还在cb6下开发的兄弟介绍点cb2007的新东西。为了迎接cb2009,呵呵。图片点击放大。1、 首先修改dbExpress的ini配置默认是C:Documents and SettingsAll UsersDoc 阅读全文

posted @ 2011-02-25 14:23 chulia 阅读(542) 评论(0) 推荐(0)

Firebird (开源数据库) v2.1.2

摘要: http://www.ccrun.com/view.asp?id=546程序名称:Firebird (开源数据库)v2.1.2文件大小:6.42MB更新时间:2009-04-05 15:10:46开发工具: 开发者:官方网站:http://www.firebirdsql.org/详细介绍:Firebird是一个开源的数据库。2000年7月,Borland(即现在的Inprise)公司公布了其数据库产品Interbase的源代码。Firebird数据库就是从该数据库中派生出来的。相对MySQL和PostgreSQL来说比较小,这也使其可以称得上是理 想的“嵌入式数据库”,可用于与其它应用程序服务 阅读全文

posted @ 2011-02-25 13:20 chulia 阅读(481) 评论(0) 推荐(0)

2011年2月15日

CollabNet Subversion Server安装与配置

摘要: http://www.cnblogs.com/shiningrise/archive/2009/12/23/1630871.html、下载 Subversion 地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91在本实例中,选择下载svn-win32-1.4.6.zip此版本.2、双击安装Subversion(默认安装,在安装过程中点击【下一步】即可。3、subversion安装完成后,在C:\Program Files\CollabNet Subversion Server\httpd\conf文 阅读全文

posted @ 2011-02-15 16:45 chulia 阅读(962) 评论(1) 推荐(0)

Embarcadero RAD Studio XE 15.0.3953.35171 原版下载及破解(这个以验证成功)

摘要: [ 这篇文章以经 验证成功 破解 xe 3953版。]http://blog.csdn.net/yuanyuankk/archive/2010/12/01/6046804.aspx收藏 带Subversion集成的新的版本控制能力,简化了开发者对自己及团队源代码的修订管理,适用于Delphi、C++Builder和DelphiPrismIDE各种环境 英巴卡迪诺DelphiC++BuilderRAD 9月6日,多平台数据库工具和开发软件提供商英巴卡迪诺科技公司宣布在全球范围内推出Embarcadero®RADStudioXE--一款开发工具套装,包括Delphi®、C++B 阅读全文

posted @ 2011-02-15 10:47 chulia 阅读(4628) 评论(0) 推荐(0)

2011年2月14日

重新编译 vcl70.bpl

摘要: http://www.7880.com/info/Article-535ffe80.html这是阿亮第一次写文章,有不正确的地方,欢迎讨论指正。 首先要更正一个错误的结论:只要程序用到Borland的包,就必须要带上VCLxx.bpl。 非也! 想必用Dll来实现功能模块分割的伙计们都有痛苦经历:无法导出类;无法共享主进程的全局变量;调用Dll时可能要传递一大堆参数;令人心烦的PChar;等等等等... Borland通过包Borland Package Library来解决了这些痛苦,在这里我们只讨论运行时包。 阿亮在2003年就因为工作原因研究了一下Delphi 5的包,并成功的将一个大的 阅读全文

posted @ 2011-02-14 14:08 chulia 阅读(687) 评论(0) 推荐(0)

(开源项目)Delphi bpl 插件框架

摘要: http://code.google.com/p/tangram-plugin-framework/Tangram Plugin FrameWork是一个基于bpl的Delphi插件框架。它以Delphi的包(bpl)分模块,可以随意安装/卸载包,使程序拥有良好的扩展性。包与包之间通过接口调用,实现了类拟COM的机制,当一个包提供服务,其他包都可以方便的调用。我们的目标是,实现一个健壮的,易于扩展的应用软件开发框架。 Download里的2.2版本是用D7开发的,下载后可以用D7直接编译,其他版版的Delphi需要少许修改。Source里SVN上传的都是基于Delphi2010的,以后也将一直 阅读全文

posted @ 2011-02-14 11:50 chulia 阅读(2725) 评论(0) 推荐(0)

导航