請問各位大神,如何將label控制元件置于mapobject控制元件之上,“格式”——“順序”——“置前”已試驗過,無效;采用先在mapobject控制元件上放置一個picturebox控制元件,再在picturebox控制元件上放置label控制元件,也不行,因為picturebox控制元件背景無法設定透明,會遮擋住mapobject控制元件的一部分。請各位大神駐足指導,謝謝了~~~
uj5u.com熱心網友回復:
用PictureBox或Frame控制元件作為“容器”,再把Lable控制元件放入它里面。“容器”控制元件設定為“平面、無邊框”樣式的外觀。
Label等幾個“輕量級”控制元件(共同點:無 hWnd屬性),
據說是“通過直接畫物件顯示”在其相應的“容器視窗”上的,
因此它們都不可能“位于其它有hWnd屬性的控制元件之上”。
uj5u.com熱心網友回復:
你要想“不擋住別的控制元件”,可能只有HOOK視窗訊息處理,然后自己用GDI函式把要顯示的文本內容“畫”到視窗上了。
uj5u.com熱心網友回復:
不能直接置頂。不過可以考慮在 mapobject|picturebox|label 的疊放模式下,把 mapobject 對應區域的圖片繪到 picturebox 上,模擬出“透明背景”的效果。
uj5u.com熱心網友回復:
另弄一個單獨的透明Form中放Label,再將改Form對應視窗置頂試試看。uj5u.com熱心網友回復:
該Formuj5u.com熱心網友回復:
那還用Lable干嗎,直接把需要顯示的文本Print到表單上就行了。
uj5u.com熱心網友回復:
是Label ,不小心輸入錯誤。
uj5u.com熱心網友回復:
心理上能得到更多安慰至少。
uj5u.com熱心網友回復:
label沒有辦法“置頂”,不過你可以用無邊框的picturebox置頂,里面嵌入labellabel的本質是在表單上畫圖。而別的控制元件的本質是表單。好比桌布上的文字圖案不可能跑到桌子上放的書本文具上。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/65441.html
標籤:控件
上一篇:VB 程式提示activex component can't create object
下一篇:分享一個集合擴展類(原始碼)
