标签: delphi-7

从代码中设置Delphi 7项目"版本信息"?

是否可以从代码中设置"版本信息"设置?我想在不使用项目选项对话框的情况下设置版本编号和"注释"属性的值.

delphi delphi-7

11
推荐指数
2
解决办法
5385
查看次数

delphi 7 - 创建自定义警告

我正在使用Delphi 7,我想创建一个自定义警告消息(将在编译时显示),因此我可以警告其他程序员进行一些修改.我在互联网上搜索过,但我没有发现任何相关内容.

其他解决方案也受到欢迎,因为其他程序员在编译/构建源代码时会被警告我想要的东西.

delphi delphi-7 compiler-warnings

11
推荐指数
1
解决办法
2761
查看次数

Delphi 7和Vista/Windows 7常见对话 - 事件不起作用

我正在尝试修改Delphi 7 Dialogs.pas以访问较新的Windows 7打开/保存对话框(请参阅使用Delphi创建Windows Vista Ready应用程序).我可以使用建议的修改显示对话框; 但是,诸如OnFolderChange和OnCanClose之类的事件不再起作用.

这似乎与将Flags:= OFN_ENABLEHOOK更改为Flags:= 0有关.当Flags设置为0时,将绕过TOpenDialog.Wndproc,并且不会捕获相应的CDN_xxxxxxx消息.

任何人都可以建议对D7 Dialogs.pas进行进一步的代码修改,既可以显示更新的常用对话框,又可以维护原始控件的事件功能?

谢谢...

delphi openfiledialog delphi-7 topendialog

10
推荐指数
1
解决办法
7405
查看次数

在delphi中自动滚动备忘录

delphi是否包含允许从db加载的自动滚动文本的组件,比如在新闻站点中?

这是一个delphi 7应用程序,需要垂直滚动.

delphi delphi-7

10
推荐指数
3
解决办法
3万
查看次数

寻找自定义图像网格

我正在尝试找到一个专门用于显示图像的网格.它也需要具有良好的性能,并且最好具有某种缩略图缓存.图像需要从文件加载,如果图像也可以动态分配,那将是很好的.它不应该在标准网格的列/行记录列表上工作,而是单个项目列表,每个项目代表一个图像.应该有一个属性可以同时为所有列和行定义列宽和行高,而不是一次定义一个.最终目标是列出具有用户选项的所有图像,以控制显示图像的大小.它将用作产品展示,因此需要某种自定义绘图功能,如OnDrawItem事件.这可能会在此列表中显示多达50,000个图像,因此TListView无法正常工作,因为它非常重要.

它需要使用Delphi 2010,XE2,最好是7.

以下是如何在下面显示8张图像的3个示例.我并不是说每个图像的大小不同,但大小完全相同.没有2列可以具有不同的宽度,并且与行相同.

在此输入图像描述

delphi grid image delphi-7 delphi-xe2

10
推荐指数
1
解决办法
8946
查看次数

Delphi交叉编译器用于linux

我想知道是否有任何Borland交叉编译器可以使我的Windows代码在没有wine的linux上工作.我正在使用winxp与delphi 7.我总是想知道是否有可能编写我在Windows中编码的相同工具,再次在Linux以及如何通过在linux中使用pascal代码来编写相同的工具.谢谢

linux windows delphi delphi-7

10
推荐指数
2
解决办法
1万
查看次数

如何从其他PNG复制一个PNG?

我的应用程序需要大量的PNG,而且在尝试使用它们时,我经常搞砸我的代码.为了让我的生活更轻松,我在Realword Paint中制作了一个大的PNG图像,并将所有那些小的PNG图像粘贴到它上面.现在我有一个文件.现在我只需要将一个PNG复制到另一个具有透明度的PNG(顺便提一下,不要问为什么),因为我需要对每个图像进行简单的处理.在处理图像方面,我是程序员.我使用的是Delphi 7.

PGNImage.Resize

procedure TPngObject.Resize(const CX, CY: Integer);
  function Min(const A, B: Integer): Integer;
  begin
    if A < B then Result := A else Result := B;
  end;
var
  Header: TChunkIHDR;
  Line, NewBytesPerRow: Integer;
  NewHandle: HBitmap;
  NewDC: HDC;
  NewImageData: Pointer;
  NewImageAlpha: Pointer;
  NewImageExtra: Pointer;
begin
  if (CX > 0) and (CY > 0) then
  begin
    {Gets some actual information}
    Header := Self.Header;

    {Creates the new image}
    NewDC := CreateCompatibleDC(Header.ImageDC);
    Header.BitmapInfo.bmiHeader.biWidth := cx;
    Header.BitmapInfo.bmiHeader.biHeight := cy;
    NewHandle := CreateDIBSection(NewDC, pBitmapInfo(@Header.BitmapInfo)^, …
Run Code Online (Sandbox Code Playgroud)

delphi png image delphi-7

10
推荐指数
2
解决办法
2112
查看次数

拖放时移动图像

我在TPanel上有一个TImage,还有一个其他(空)TPanel.我想使用拖放将图像从第一个面板拖动到第二个面板.

我实际上想要看到图像从一个面板移动到另一个面板(半透明).

我想我应该使用,TDragObject.GetDragImages但我无法弄清楚如何构建整个魔法.

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Image1.ControlStyle := Image1.ControlStyle + [csDisplayDragImage]; // ???
  TImage(Sender).BeginDrag(False);
end;

procedure TForm1.Image1StartDrag(Sender: TObject; var DragObject: TDragObject);
begin
  // ???
end;

procedure TForm1.Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if (Source is TImage) then
    Accept := TImage(Source).Parent <> Sender;
end;

procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  if (Source is TImage) then
  begin
    TImage(Source).Parent := TPanel(Sender);
    TImage(Source).Align := alClient;
  end; …
Run Code Online (Sandbox Code Playgroud)

delphi drag-and-drop delphi-7

10
推荐指数
1
解决办法
7970
查看次数

为什么FindWindow()不是100%可靠?

我正在使用此Delphi 7代码来检测Internet Explorer是否正在运行:

function IERunning: Boolean;
begin
  Result := FindWindow('IEFrame', NIL) > 0;
end;
Run Code Online (Sandbox Code Playgroud)

这适用于使用IE 8,9和10的99%的系统.

但是有一些系统(不幸的是我没有,但我有两个beta测试人员都有这样的系统,都是Win7 x64 SP1),其中FindWindow()为IEFrame返回0,即使IE在内存中也是如此.

所以我编写了另一种方法来查找窗口:

function IERunningEx: Boolean;
var WinHandle : HWND;
    Name: array[0..255] of Char;
begin
  Result := False; // assume no IE window is present

  WinHandle := GetTopWindow(GetDesktopWindow);

  while WinHandle <> 0 do // go thru the window list
  begin
      GetClassName(WinHandle, @Name[0], 255);
      if (CompareText(string(Name), 'IEFrame') = 0) then
      begin // IEFrame found
          Result := True;
          Exit;             
      end;
      WinHandle := GetNextWindow(WinHandle, GW_HWNDNEXT);
  end; …
Run Code Online (Sandbox Code Playgroud)

delphi winapi delphi-7

10
推荐指数
1
解决办法
1万
查看次数

控件的所有者和父级之间有什么区别?

我对Delphi VCL控件的两个属性有点好奇.

每个组件有2种性质OwnerParent在运行时.谁能帮助我理解两者之间的区别?它们如何被windows用于显示控件或表单?

delphi delphi-7

10
推荐指数
1
解决办法
3833
查看次数