經典的呼叫視窗函式 呼叫融合視窗

2021-06-18 03:16:29 字數 1787 閱讀 6706

融合視窗是為了瀏覽多視窗方便,且不太關心視窗最小化和最大化模式。典型的融合視窗,比如maxthon瀏覽器,瀏覽多個網頁非常方便;微軟眼見融合視窗眾望所歸,在ie7版本也引入了融合窗**術,但微軟的ie既耗記憶體又容易崩潰。題外話不多說了。在delphi實現其實也很簡單,如上圖:

procedure showdockform(formclass: tformclass; dockctrl: twincontrol;

ismaxed: boolean);

procedure showcaption(parentctrl:twincontrol;acaption:string);

begin

if parentctrl is trztabsheet then

trztabsheet(parentctrl).caption := acaption;

end;

vari: integer;

tabctrl:trztabsheet;

form:tform;

begin

screen.cursor := crhourglass;

tryfor i := 0 to screen.customformcount - 1 do

if screen.customforms

is formclass then

begin

if (not (screen.customforms).visible) then

(screen.customforms).visible := true;

(screen.customforms).bringtofront;

(screen.customforms).setfocus;

tabctrl := trztabsheet(screen.customforms.parent);

showcaption(tabctrl,screen.customforms.caption);

trzpagecontrol(dockctrl).activepageindex := tabctrl.pageindex;

exit;

end;

tabctrl := trztabsheet.create(dockctrl);    //dockctrl

tabctrl.pagecontrol := trzpagecontrol(dockctrl);

trzpagecontrol(dockctrl).activepageindex := tabctrl.pageindex;

form := formclass.create(tabctrl);

with form do

trymanualdock(tabctrl);

showcaption(tabctrl,caption);

show;

form.windowstate := wsmaximized;

form.align := alclient;

except

free;

end;

finally

screen.cursor := crdefault;

end;

end;

以上**是在 raize

5.x中的trzpagecontrol

實現多視窗的融合視窗。

融合視窗也有不足之處,如果兩個tform有相同的tactionlist快捷鍵,只有第乙個視窗的快捷鍵有效。

**至微博

父子視窗函式呼叫

兩個視窗的資料傳遞有幾種 1 寫表態變數 2 定義為窗體的屬性 3 利用中類的屬性 4 函式方法 利用視窗初始化重構函式是最為方便不過的了 例子如 public ipform string windowstyle public ipform string windowstyle 重構視窗函式,為了傳...

子視窗呼叫父視窗

相信學計算機的大學生都碰過這樣的程式設計作業吧 程式執行後主視窗隱藏,然後彈出登入框,輸入賬號密碼登陸成功後再關閉登陸框,然後讓之前隱藏的主視窗重新顯示。沒錯,我當時就是這麼笨,怎麼都想不到好的解決辦法 當時的同學都是不管之前隱藏的主視窗,而是直接新建了乙個主視窗 剛好昨晚在做專案時碰到類似的情況,...

5 子視窗呼叫父視窗 視窗 (5)

在圖7.10中我們看到,自從9月份的一根上吊線以及後面的一根黑色吞沒蠟燭線 覆蓋的就是這根上吊線 出現後,市場便一路 9月末,市場形成了乙個視窗,它表明 還將繼續。後來,這個視窗被關閉了,但是買進的動力隨即煙消雲散。這一點從圖示的流星形態上得到了證實。在圖7.11中,我們要討論3個視窗。視窗1形成於...