全部博文(788)
分类:
2009-02-19 17:03:24
function OpenForm(WForm: TForm): Boolean;
var
i: Integer;
begin
Result := False;
if WForm = nil then
Exit;
for i := 0 to Screen.FormCount - 1 do
if Screen.Forms[i].ClassType = WForm.ClassType then
begin
Result := True;
Break;
end;
if not Result then Exit;
if WForm.WindowState = wsMinimized then
ShowWindow(WForm.Handle, SW_SHOWNA);
if not WForm.Visible then
WForm.Visible := True;
WForm.BringToFront;
WForm.SetFocus;
Result := True;
end;
非常感謝,我把這段代碼寫在 private 下,編譯不通過,為什么???
非常感謝,我把這段代碼寫在 private 下,編譯不通過,為什么???
=================================================================================
要把函数加在TForm1的private,必须改上面代码为
function TForm1.OpenForm(WForm: TForm): Boolean;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
function OpenForm(WForm: TForm): Boolean;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
function TForm1.OpenForm(WForm: TForm): Boolean;
var
i: Integer;
begin
Result := False;
if WForm = nil then
Exit;
for i := 0 to Screen.FormCount - 1 do
if Screen.Forms[i].ClassType = WForm.ClassType then
begin
Result := True;
Break;
end;
if not Result then Exit;
if WForm.WindowState = wsMinimized then
ShowWindow(WForm.Handle, SW_SHOWNA);
if not WForm.Visible then
WForm.Visible := True;
WForm.BringToFront;
WForm.SetFocus;
Result := True;
end;
end.
這種情況在函數在delphi里聲明在 private 、public 或 直接和 procedure 寫一起有什么區別??
private私有的,只能类自己或者同单元的其他类使用
public公有的,都可。。。
这种函数直接和procedure写一起,大家都可用,和public的区别在于不需要通过类实例访问。
建议你买或者网上当一本入门书看看。
多謝,結貼。
分有點少了,各位大哥笑納。