VCLSkin面板在MDI窗體下的問題

2021-09-05 20:17:41 字數 1322 閱讀 7164

vclskin**在mdi窗體下的問題 vcl元件開發及應用

我在程式裡面使用了vclskin**控制項版本2.74  

控制項放在資料模組窗體裡面屬性設定為skinformtype屬性設定為sfmainform  

然後mdi主窗體的create事件這樣寫  

procedure   tfrmmain.formcreate(sender:   tobject);  

begin  

doublebuffered:=true;  

left:=0;   top:=0;  

windowstate:=wsmaximized;  

imgcontext.picture.loadfromfile(getcontextimgpath);   //裝載背景    

fclientinstance   :=   makeobjectinstance(clientwndproc);  

fprevclientproc   :=   pointer(getwindowlong(clienthandle,gwl_wndproc));  

setwindowlong(clienthandle,gwl_wndproc,   longint(fclientinstance));  

end;  

但是程式執行的時候主窗體不會最大化  

為什麼啊?  

有用過這個控制項的同道們看看

好象是bug

那有解決的辦法沒的啊?  

第一次用這玩意

解決起來難度不小,mdi模式是微軟放棄的技術,就是因為裡面有硬傷。  

這類控制項應用在mdi同樣也存在硬傷,最終也沒有全部解決。

難道要放棄mdi模式?>

我不用**控制項就是正常的啊  

一加上這個**控制項就不行了

如果客戶端是執行在xp以上的系統,可以不用這個**控制項了。

關鍵不都是在xp系統下的撒  

而且按鈕樣式呢?

vclskin提供了幾個解決辦法,諸如執行時動態調整form的caption  

最大化問題我也遇到過,是顯示fastreport報表的時候,fr的窗體已經最大化了,但是顯示起來還是正常狀態,還要手動點一次,好像是把對話方塊拉到跟螢幕一樣大小,下次再啟動就正常了,你可以試試,懷疑vclskin將狀態寫到登錄檔了

不行啊!  

我只要一加上**檔案就不行了  

只放控制項不加**檔案沒的問題

你可以試下傳送兩次最小化窗體最大化訊息

換乙個**控制項板本。

不會最大化是什麼樣的效果,是不是頂端會留有幾公釐的縫,看起來像整個窗體往下移動了幾公釐?

MDI窗體與面板skinEngine

目標 為了使 winform 介面更美觀,加深使用者體驗,可根據使用者喜好選擇 設計思路 在 winform 中採取訪問配置檔案的形式記憶使用者選擇的 檔名及路徑。設計方法 使用基於 net 開發的換膚控制項 skinengine 將irisskin2.dll 支援.net2.0 加至vs2005 ...

MDI窗體設計

1.mdi窗體設計 乙個父體中包含幾個子窗體,子窗體共同顯示。2.屬性 ismdicontener 是否將當前窗體設定為父窗體,預設為false 3.設計步驟 1 首先將當前窗體a設定為父窗體 2 通過乙個選單控制項,建立子窗體物件 3 將子窗體的父窗體設定為窗體a 4.方法layou i 給子視窗...

MDI窗體容器

mdi窗體容器 一般來說,窗體是頂級容器,不允許放在其他任何容器內,但是如果將某個窗體的ismdicontainer屬性設定為true,那此窗體就會成為窗體容器,可以在其中放入其他窗體 在內部的窗體不管怎麼調整,是無法跳出其父級窗體容器的 注 如果想讓內部窗體一直最大化並且不要其顯示最大化最小化按鈕...