帮忙翻译如下代码 : Delphi --> BCB。
interface
...
const
CM_RESTORE = WM_USER + $1000; {自定义的“恢复”消息}
WEIWEI_APP_NAME = 'WEIWEI_System';
...
type
TfrmMain = class(TForm)
...
public
procedure CreateParams(var Params: TCreateParams); override;
procedure RestoreRequest(var message: TMessage); message CM_RESTORE;
...
implementation
procedure TFrmMain.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WinClassName := WEIWEI_APP_NAME;
end;
{处理“恢复”消息}
procedure TFrmMain.RestoreRequest(var message: TMessage);
begin
if IsIconic(Application.Handle) = True then //窗体是否最小化
Application.Restore //恢复窗体
else
Application.BringToFront; //提到前面显示
end;
上面这段代码请把它放在你的项目的主单元文件中,然后打开.dpr文件添加如下内容:
...
const
CM_RESTORE = WM_USER + $1000; {自定义的“恢复”消息}
WEIWEI_APP_NAME = 'WEIWEI_System';
var
RvHandle: hWnd;
begin
RvHandle := FindWindow(WEIWEI_APP_NAME, nil); //查找窗体类名来查找窗体
if RvHandle > 0 then //查找的话
begin
PostMessage(RvHandle, CM_RESTORE, 0, 0); //给找的窗体发送消息,让它显示在最前面
Exit; //退出程序
end;
Application.Initialize;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
end.