要控制所有from的button的顯現或隱藏要如何寫呢 |
缺席
|
BOSS
中階會員 ![]() ![]() ![]() 發表:70 回覆:79 積分:64 註冊:2006-11-01 發送簡訊給我 |
|
ddy
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
BOSS
中階會員 ![]() ![]() ![]() 發表:70 回覆:79 積分:64 註冊:2006-11-01 發送簡訊給我 |
|
chih
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
procedure TForm1.DataSource1StateChange(Sender: TObject); begin sbInsert.Enabled := (MasterDS.State in [dsBrowse]); sbEdit.Enabled := (MasterDS.State in [dsBrowse]); sbSave.Enabled := (MasterDS.State in [dsInsert, dsEdit]); sbDel.Enabled := (MasterDS.State in [dsBrowse]); end;TRY TYR SEE.. 引言: 我可能說的不夠清楚我多個form上都有新增,刪除,修改,存檔等button 當我按下新增鈕時刪除,修改紐會隱藏等情形,我並不想在每個form上都寫一次 所以我想在主form上寫個procedure來達到這種效果發表人 - chih 於 2003/04/22 16:45:59 |
ddy
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
wnhoo
高階會員 ![]() ![]() ![]() ![]() 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
procedure isvisible(button1,button2,button3,button4:tbutton;isshow1,isshowother:boolean); begin
//按下的按钮
button1.Visible := isshow1;
//其他的按钮
button2.Visible := isshowother;
button3.Visible := isshowother;
button4.Visible := isshowother;
end; 风花雪月 e梦情缘
------
风花雪月 e梦情缘 |
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 我可能說的不夠清楚我多個form上都有新增,刪除,修改,存檔等button 當我按下新增鈕時刪除,修改紐會隱藏等情形,我並不想在每個form上都寫一次 所以我想在主form上寫個procedure來達到這種效果 您在主form的var區宣告: procedure ButtonDisplay(DataSet: TDataSet; btAppend, btDelete, btEdit, btPost, btCancel: TButton); 註:檢查主form的uses區是否有uses db, stdctrls;因為有使用TDataSet要uses db、使用Button物件要uses stdctrls procedure ButtonDisplay(DataSet: TDataSet; xbtAppend, xbtDelete, xbtEdit, xbtPost, xbtCancel: TButton); begin if DataSet.State in [dsInsert,dsEdit] then begin xbtAppend.Enabled := False; xbtDelete.Enabled := False; xbtEdit.Enabled := False; xbtPost.Enabled := True; xbtCancel.Enabled := True; end else begin xbtAppend.Enabled := True; xbtDelete.Enabled := True; xbtEdit.Enabled := True; xbtPost.Enabled := False; xbtCancel.Enabled := False; end; end; procedure TForm1.DataSource1StateChange(Sender: TObject); begin ButtonDisplay(TDataSource(Sender).DataSet, btAppend, btDelete, btEdit, btPost, btCancel); end;註1:您只要在每個Form的TDataSource的onStateChange事件呼叫ButtonDisplay,傳入TDataSet及新增、刪除、修改、存檔、放棄存檔按鈕之Name,就不用在每個form上都寫一次。 ~小弟淺見,參考看看~ 發表人 - channel 於 2003/04/22 20:21:31
------
~小弟淺見,參考看看~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |