易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi中的DBGRid鼠标滚动事件

Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
  if Msg.message = WM_MouseWheel then
  begin
    if Msg.wParam > 0 then
     begin
       if DBGrid.Focused then
       begin
         SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_UP,0);
       end;
     end
    else
     begin
       if DBGrid.Focused then
         SendMessage(DBGrid1.Handle,WM_KEYDOWN,VK_DOWN,0);
     end;
    Handled:= True;
  end;
end;
需要在Form创建的时候写入
Application.OnMessage:=OnMouseWheel; // 截获鼠标滚动事件


相关文档:

Delphi 之运算符重载

Delphi 7之后的版本,增加了运算符的重载。虽然不尽人意(需要写特定英文),但有总比没有强。
例:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  T3DPoint = record
    X, Y, Z: Doub ......

delphi中国际化的几种方案及比较(转)

delphi中国际化的几种方案及比较(转)
随着全球化程度加深,软件越来越像蒲公英,到处飘散、扎根。这其中要解决的是不同语言的显示问题。我们当然希望一套程序,可以不修改代码就可以支持不同的语言,不要去维护很多的版本。
        首先要谈到的一个问题是乱码问题,因为delphi
wi ......

delphi版MP3切割

好久没写BLOG了,送上一份原创的DELPHI版MP3切割,splitMp3为切割函数,支持按时间切割和按大小切割。望大家支持。
参考VC的资料编写的MP3切割DELPHI版单元.
unit UnitMp3DataUtil;
{
MP3 Cut Unit.
@author Jim Wu
2009-08
}
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, ......

delphi技巧记录


#13回车换行
将form2内容加入到form1列表框:在form2里:form1.listbox1.items.add(edit1.text)
listbox1.items.loadfromfile('chinese.txt')将chinese.txt文件内容载入列表框中。但前提是要整个窗体创建时候加载导入,双击整个窗体procedure TForm1.FormCreate(Sender: TObject)
listbox1.items.savetofile('chinese. ......

Delphi中的数组

不论数组元素是什么类型,静态数组的局部变量总会在栈上分配。如果堆栈大小不够将会导致异常。下例暗藏着一个危险的bug
procedure stackover;
var
s:array [0..4100] of string[255];
begin
end; 
delphi默认栈最大为$100000字节,上例中的栈上分配的大侠为256*4100>$10000。测试必然会出现异常Stack overf ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号