怎样用代码实现除去窗体标题栏左上角的图标 |
尚未結案
|
newyanglei
一般會員 發表:11 回覆:3 積分:2 註冊:2005-06-14 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
簡單作法,同意 Supman 兄。
就如同 BorderStyle 改為 bsSizeToolWin或者更改 BorderIcons。
不過不管怎麼變,勢必會影響 視窗放大縮小等按鈕(會不見)。 若只單單要遮蔽左上角圖示,再不影響Style 情況下。
可利用一透空圖示去取代原圖示。
如下:
procedure TForm1.Button1Click(Sender: TObject); var IconInfo : TIconInfo; MaskBMP :TBitmap; TransIcon :TIcon; begin MaskBMP := TBitmap.Create; Try With MaskBMP do begin Width := GetSystemMetrics(SM_CXSMICON); Height := GetSystemMetrics(SM_CYSMICON); Canvas.Brush.Color := clBlack and $FFFFFF; Canvas.FillRect(Rect(0, 0,Width,Height)); end; TransIcon := TIcon.Create; Try With IconInfo do begin fIcon := true; xHotspot := 0; yHotspot := 0; hbmMask := MaskBMP.MaskHandle; hbmColor := MaskBMP.Handle; end; TransIcon.Handle := CreateIconIndirect(IconInfo); SendMessage(Handle, WM_SETICON, 1, TransIcon.Handle); Finally TransIcon.Free; end; Finally MaskBMP.Free; end; end;僅提供參考 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |