在MDI主窗體中畫背景的最簡單方法

2021-04-09 04:25:10 字數 467 閱讀 5469

用timage是可以的,不過要是窗體上有停靠的控制項,比如工具欄停靠在頂部或者導航選單停靠在左邊,那麼timage顯示的就會有一段與停靠控制項高度或寬度相同的空白,不知道算不算bug,要是放乙個panel並把timage放在上面,那麼子窗體就被壓在panel下面了,看樣子這個法子行不通.

網上找了很多,都是羅里八嗦一大堆,什麼鉤子啊,訊息啊,到最後除錯下來還不能通過,氣得我當場**半斤,功夫不負有心人,瘋狂搜尋小時後,居然讓我找到乙個,還特簡單(據說是源自季世平),方法如下:

在form的onpaint事件裡:

canvas->stretchdraw(clientrect,image1->picture->graphic);

在onresize事件裡:

::invalidaterect(clienthandle,null,true);

搞定!這裡用到了乙個載入了的timage控制項,不過要是不想這麼做,改起來也很簡單,自己琢磨吧.

MDI主窗體上的panel覆蓋子窗體,怎樣做?

mdi主窗體上的panel覆蓋子窗體,怎樣做?vcl元件開發及應用 mdi主窗體上的panel覆蓋子窗體,怎麼辦?主窗體用fsmdiform型別,子窗體用fsmdichild型別,當在主窗 體放乙個構件如panel時,子窗體開啟後,子窗體總是在panel 構件的下面,看不見,只有暫時隱藏panel構...

更改MDI中Frame的背景

應用wizard生成的mdi程式中frame的背景是黑色的,本文將討論如何更改該背景。需要之處的是frame的客戶區並不是由mainframe維護的,其背景視窗的控制代碼為m hwndmdiclient。故而更改背景的思路是將該控制代碼指向我們自行設計的視窗類。首先新建乙個視窗類,繼承於cwnd,然...

VCLSkin面板在MDI窗體下的問題

vclskin 在mdi窗體下的問題 vcl元件開發及應用 我在程式裡面使用了vclskin 控制項版本2.74 控制項放在資料模組窗體裡面屬性設定為skinformtype屬性設定為sfmainform 然後mdi主窗體的create事件這樣寫 procedure tfrmmain.formcre...