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

調用DLL作為MDICHILD窗體時如何只能建立一次窗體

尚未結案
dengguo
一般會員


發表:41
回覆:49
積分:23
註冊:2004-01-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-01 08:06:40 IP:218.16.xxx.xxx 未訂閱
問題如下,請幫忙看看,謝謝!! http://delphi.ktop.com.tw/topic.php?TOPIC_ID=52394 ############################### 初學delphi,請各位多多提點!謝謝! ###############################
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-08 10:50:58 IP:211.76.xxx.xxx 未訂閱
引言: 問題如下,請幫忙看看,謝謝!! http://delphi.ktop.com.tw/topic.php?TOPIC_ID=52394
你的 "窗體" 指的是 Form 嗎 ? 以下是我寫的一個 function 可以指定某一 FormClass 可開啟的 Form 上限, 當然設 1 只能開一個 Form. 不知道是不是你要的 ...
procedure OpenForm(FormClass: TFormClass; var fm; AOwner: TComponent; fmCopy :Integer);
var
  i, j: integer;
  booOpenForm: Boolean;
  Child: TForm;
begin
  booOpenForm := True;
  j := 1 ;
  // 若Form已Create, 則呼叫到最上層, 若未Create則Create New Form
  for i := 0 to Screen.FormCount -1 do
  begin
    if Screen.Forms[i].ClassType = FormClass then
    begin
      Child := Screen.Forms[i];
      if fmCopy <= 1 then
      begin
        if Child.WindowState = wsMinimized then
           ShowWindow(Child.handle, SW_SHOWNORMAL)
        else
           ShowWindow(Child.handle, SW_SHOWNA);
        if (not Child.Visible) then
          Child.Visible := True;
        Child.BringToFront;
        Child.Setfocus;
        TForm(fm) := Child;
        Exit;
      end else
      begin
        ShowWindow(Child.handle, SW_SHOWMINIMIZED);
        Inc(j);
        if j > fmCopy then
        begin
          ShowWindow(Child.handle, SW_SHOWNORMAL);
          booOpenForm := False;
          ShowMessage('超出系統限制, 無法開啟');
        end;
      end;
    end;
  end;      if booOpenForm then
  begin
    Child := TForm(FormClass.NewInstance);
    TForm(fm) := Child;
    Child.Create(AOwner);
    Child.FormStyle := fsMDIChild;
    Child.AutoScroll := False;
    Child.AutoSize := False;
    Child.Visible := True;
    Child.Caption := Child.Caption   ' - '   IntToStr(j);
  end;
end;
------
將問題盡快結案也是一種禮貌!
dengguo
一般會員


發表:41
回覆:49
積分:23
註冊:2004-01-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-12 12:02:03 IP:219.130.xxx.xxx 未訂閱
謝謝danny,我去試一下    ############################### 初學delphi,請各位多多提點!謝謝! ###############################
系統時間:2024-05-16 9:01:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!