回答
這是可行的,但有點令人不滿(對我來說)。通過在窗體中具有任何菜單屬性,邊框將默認恢復爲可見。然而,有一些解決方法:
1)我認爲你更喜歡的方法包括製作第二種形式,你永遠不會真正「使用」或看到。將菜單放在第二個窗體上,然後從實際想要使用的窗體調用該菜單。您正在使用Form_MouseDown
調用這個假設,下面的代碼:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button And vbRightButton Then PopupMenu Form2.mnuYourMenu
End sub
你必須記住然而,從內存中卸載該第二種形式。
2)另一種方法,只使用第一種形式,將設置窗體的ControlBox
爲False
,並將Caption
屬性留爲空白。當BorderStyle
設置爲0時,這個「刪除」邊框...我將刪除語句放在引號中,因爲它不幸留下了1像素的黑線。它看起來不錯,但它可能不是一個可行的解決方案。
3)最後一種方法,這是我讀到,但還沒有對自己做了什麼,會使用CreatePopupMenu
API,發現在http://allapi.mentalis.org/apilist/CreatePopupMenu.shtml
希望這有助於!
這是我預期的最完美的答案。謝謝。 – 2011-03-21 16:06:19
@ Coding-Freak:很高興幫助 – erekalper 2011-03-21 16:33:52
歡迎你。在那裏再次尋求幫助,我也會在那裏...... – 2011-03-21 16:37:57
這是可能的。將窗體的BorderStyle設置爲None,Caption爲空字符串,ControlBox,MaxButton MinButton爲False。然後,使用VB6的菜單編輯器,創建一個名爲「mnuPopup」的頂級菜單,並將其Visible屬性設置爲False。將該菜單的其餘部分創建爲該頂級菜單的子菜單,並將其Visible屬性設置爲True。然後,在窗體的代碼中,您可以使用PopupMenu menuPopup
顯示菜單。它看起來像這樣:
這會使邊框變回可見狀態。 – 2011-03-21 16:07:05
對於誰比誰來這裏尋找一個答案,這個問題的好處,這裏是工作的一個非常簡單的API方法:
聲明:
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Const GWL_STYLE = -16, WS_BORDER = &H800000
在的Form_Load:
SetWindowLong Me.hwnd, GWL_STYLE, GetWindowLong(Me.hwnd, GWL_STYLE) And Not WS_BORDER
請注意,這會做一些不同的事情,因爲它會改變客戶區域的有效位置(VB會移動表單以考慮邊框/標題)。您還需要刪除'WS_THICKFRAME'和'WS_DLGFRAME'樣式以最終沒有邊框。 – Deanna 2015-09-16 14:17:12
- 1. 彈出式菜單旁邊的按鈕
- 2. 無邊界形式問題
- 3. 如何在c#中以無邊界形式顯示菜單?
- 4. 無邊界形式的繪圖圖形
- 5. Twitter的彈出式菜單
- 6. JComboBox彈出式菜單沒有出現
- 7. 繪製無邊界形式的抓手
- 8. gtk 3彈出式菜單
- 9. onitemclicklistener彈出式菜單
- 10. NSStatusItem與彈出式菜單
- 11. Android彈出式菜單
- 12. Gtkuimanager彈出式子菜單
- 13. Xamarin.Forms - 彈出式菜單
- 14. 多彈出式菜單
- 15. Java GUI彈出式菜單
- 16. Java Quaqua彈出式菜單
- 17. GLUT彈出式菜單
- 18. 彈出式菜單android
- 19. JavaScript模式彈出式菜單
- 20. Ajax模式彈出式菜單
- 21. 無邊界形式閃爍陰影
- 22. VC++移動無邊界形式
- 23. 無邊界形式,VB.NET到C#?
- 24. VC++ DHTML DIALOG移動無邊界形式
- 25. Delphi fmx移動無邊界形式
- 26. 帶有半透明背景的iOS菜單彈出式菜單
- 27. 彈出式菜單不會出現IOS
- 28. Java的彈出式菜單按鈕
- 29. Android中的計時彈出式菜單
- 30. QT中的彈出式菜單
什麼是邊界是什麼樣子?虛線?你能發佈圖片嗎? – 2011-03-21 11:23:10
我的意思是一個VB窗體的邊框以及標題欄。 – 2011-03-21 11:27:24
Hhhmmm ...你可以有一個標題欄無邊界形式?我不這麼認爲...... – 2011-03-21 11:30:50