全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:972
推到 Plurk!
推到 Facebook!

还是关于动态创建控件的事件问题

缺席
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-01-27 23:30:09 IP:124.77.xxx.xxx 訂閱
我的代码如下:想得到的功能是每次开机都通过ONCREATE属性检查是否在添加到启动组,如果是的话,则CHECKBOX1.CHECKED,由于CHECKBOX1的控件是动态创建的,所以每次总是出错。请大侠们帮我看看那,谢谢了


[code delphi]
private
procedure CheckboxPress(Sender:TObject);
procedure CreateCheckBox;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
var reg:TRegistry;
Checkbox1 :TCheckbox;
{$R *.dfm}

procedure TForm1.CheckboxPress(Sender:TObject);
begin
if TCheckBox(sender).Checked then
begin
reg:=TRegistry.Create;
with reg do begin
RootKey:=HKEY_LOCAL_MACHINE;
OpenKey('SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN',False);
WriteString('ReminDer',paramstr(0));
end;
end
else begin
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN',False);
reg.DeleteValue('ReminDer');
reg.Closekey;
reg.Free ;
end;
end;


procedure TForm1.CreateCheckBox;
begin
Checkbox1 :=TCheckbox.Create(StatusBar1);
with Checkbox1 do begin
Parent :=StatusBar1;
Height :=StatusBar1.Height;
Width :=StatusBar1.Panels.Items[2].Width 200;
Left :=StatusBar1.Left 280;
Visible :=True;
Caption :='是否添加到启动组!';
TabStop:=false;
OnClick:=CheckboxPress;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
CreateCheckBox;
reg.OpenKey('SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN',False);
if reg.KeyExists('ReminDer') then
Checkbox1.checked:=true
else
Checkbox1.Checked :=false;
end;

[/code]
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-01-28 10:44:59 IP:219.68.xxx.xxx 未訂閱
在ONCREATE下創建物件最常見到的錯誤是, 該物件隸屬的Tfrom之下, 但Form還沒有被完成之際, 就要進行物件的設定, 所以建議你把物件轉移到Application.OnIdle上寫, 有關寫法可以搜尋本站相關 StartRun 關鍵字
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-02-01 08:45:03 IP:218.80.xxx.xxx 訂閱
我找不到啊,PD大大,可否帮我修改下,贴给我啊。万分感谢。
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-02-01 12:59:38 IP:219.68.xxx.xxx 未訂閱
怎麼會找不到, 我下startrun 的第二筆就是了啊!
http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=85432
系統時間:2024-05-15 19:31:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!