如何隱藏form |
答題得分者是:ccchen
|
kenji
一般會員 發表:32 回覆:44 積分:20 註冊:2002-08-05 發送簡訊給我 |
不知是我做錯還是怎樣,我的form都不能隱藏,真讓我傷腦經,我把我的問題提出來,麻煩各位高手幫我解答一下吧! 我在 TForm1.FormCreate 要做DataModule1.ADOTable1.First....不行
所以我把DataModule1.ADOTable1.First;移到TForm1.FormShow去做 ..可以了。 可是first之後,我要判斷DataModule1.ADOTable1['echelon_no'],是否為空,如果為空我就要show form2 且把form1給隱藏起來,問題來了.....form2 show 的出來,就是form1隱藏不起來。 以下是TForm1.FormShow的程式碼:麻煩各位高手幫忙抓蟲....... procedure TForm1.FormShow(Sender: TObject);
begin
//判斷是否第一次登入此系統
DataModule1.ADOTable1.First;
if DataModule1.ADOTable1['echelon_no']<>'' then //非第一次登入
begin
GroupBox1.Caption:=DataModule1.ADOTable1['echelon_no'];
end
else //第一次登入
begin
showmessage('第一次登入,請先輸入梯次編號');
form2.Show; //也用過Visible了,也是不行
form1.Hide;
end; end;
|
天外來客
初階會員 發表:22 回覆:199 積分:44 註冊:2001-11-27 發送簡訊給我 |
unit Unit1; interface uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type
TForm1 = class(TForm)
procedure FormPaint(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
ExecProc : Boolean;
end; var
Form1: TForm1; implementation uses
Unit2; {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject);
begin
ExecProc := False;
end; procedure TForm1.FormPaint(Sender: TObject);
begin
if (NOT ExecProc) then begin
Form1.Visible := False;
Form2.ShowModal;
Form1.Visible := True; ExecProc := True;
end;
end;
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
[quote]
我在 TForm1.FormCreate 要做DataModule1.ADOTable1.First....不行
由選單project|view Source看一下你的主程式,是否先create form1才create DataModule, 如此, form1 create 時, datamodule還未create當然不可
改成
Application.CreateForm(TDataModule1, DataModule1); Application.CreateForm(TForm1, Form1);就可在form1 create時用datamodule了 procedure TForm1.FormShow(Sender: TObject); begin ... form2.Show; //也用過Visible了,也是不行 //同樣, form2是否已create了 form1.Hide; end; 建議, form2不要autocreate, 在form1之formcreate [code] DataModule1.ADOTable1.First; if DataModule1.ADOTable1['echelon_no']<>'' then //非第一次登入 begin GroupBox1.Caption:=DataModule1.ADOTable1['echelon_no']; end else //第一次登入 begin showmessage('第一次登入,請先輸入梯次編號'); form2:=Tform2.ceate(self); if not form2.showmodal then //若不成功 form1.close; //結束程式 end; end |
kenji
一般會員 發表:32 回覆:44 積分:20 註冊:2002-08-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |