在Delphi視窗中建立IE風格的選單

2021-12-29 22:33:57 字數 1156 閱讀 8937

是否覺得delphi提供的選單用起來實在沒有美感呢?你可以自己用delphi自帶的vcl控制項實現乙個ie風格的選單!特徵包括:懸浮按鈕、拖動定位、圖形……所有的這些都不需要任何第三方控制項,也不需要大量的程式設計!

實現乙個ie風格的選單需要執行以下步驟的工作:

1、按正常方式定義乙個普通的選單;

2、從視窗中隱藏已定義的選單;

3、在視窗中新增coolbar和*******,作為選單欄;

4、將選單對映到*******的按鈕上;

5、為實現特殊效果進行程式設計(可選)。

第一步,按正常方式定義乙個普通的選單。

在視窗中增加乙個tmainmenu控制項,然後按通常的方式定義選單專案、圖示、快捷鍵等。

第二步,從視窗中隱藏已定義的選單。

定義好的選單會自動顯示在視窗上。這是因為向視窗增加tmainmenu控制項時,tform物件的menu屬性自動設定為增加的tmainmenu物件。為了使用我們自己定義的選單,必須把這個選單隱藏起來。清除tform.menu,定義好的選單就不會自動顯示了。

第三步,在視窗中新增coolbar和*******,作為選單欄。

向視窗中新增乙個tcoolbar控制項,然後把乙個t*******控制項放在它裡面。設定tcoolbar和t*******的autosize屬性為true,設定t*******的flat屬性為true,並且設定t*******的showcaptions屬性為true。這樣,視窗上方就出現了乙個空白的選單欄。下一步我們將向這個選單欄裡增加選單專案。

第四步,將選單對映到*******的按鈕上。

用右鍵單擊t*******,從彈出的選單中選new button,向選單欄中增加第乙個按鈕。設定這個按鈕的autosize屬性和grouped屬性為true,然後把caption屬性改為選單項的文字。例如,caption屬性可能會被設定為&file。最後,設定這個按鈕的menuitem屬性為tmainmenu中定義的對應的選單項。例如,menuitem屬性可能會被設定為mnufile。經過這些設定,按鈕就和選單項鏈結到了一起,單擊按鈕時將會彈出對應的選單了。

第五步,為實現特殊效果進行程式設計(可選)。

經過前面四步的工作,新選單已經可以正常工作了。但是,如果想要實現其他的一些特效,如coolbar的拖動定位等,需要再進行一些程式設計的工作。這些內容已經不是本文的主題所在,就不加以討論了,有興趣的讀者可以參考delphi的幫助。

在IE模態視窗中自由檢視HTML原始碼

ie提供的模態視窗,在我們製作資料錄入視窗和wizard等功能上,有著非常不錯的應用。不過由於一些安全性上的限制,使得在模態視窗中除錯指令碼變得非常的鬱悶。因為模態視窗不支援物件的選取和右鍵選單,使得我們想察看html 非常的不方便。那麼有什麼辦法可以解決嗎?雖然我們在製作模態視窗中的頁面時,可以使...

在MDI視窗中防止子視窗閃爍

解決的方法 1 過載precreatewindow,此方法能夠解決上述前兩種情況的閃爍問題 bool cchildframe precreatewindow createstruct cs 2 第3個問題的方法是處理mainframe的mdi client區域,mainframe cmdiframe...

怎麼在框架視窗中退出

下面的 列出了window物件某些屬性的相關資訊。屬性方法 描述opener open opener 屬性僅在使用window.open 方法開啟的頁面中可用。parent,top 無parent 和 top 屬性對frame或iframe內開啟的視窗可用。這兩個屬性分別返回立即父視窗和最上層的祖先...