2012-01-14 94 views
1

您好我創建的Win32中的對話框:顯示圖標

ABOUTBOX DIALOG DISCARDABLE 32, 32, 180, 100 
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU 
FONT 8, "MS Sans Serif" 
BEGIN 
    DEFPUSHBUTTON "OK",IDOK,66,80,50,14 
    ICON "ID_MYICON_2",IDC_STATIC,0,0,48,48 
    CTEXT "comment1",IDC_STATIC,40,12,100,8 
    CTEXT "comment2",IDC_STATIC,7,40,166,8 
    CTEXT "comment3",IDC_STATIC,7,52,166,8 
END 

的圖標文件包含不同大小的圖像,即16×32×32,48×48等不過以上只是碼允許它做顯示爲32x32。即使我將其更改爲

ICON "ID_MYICON_2",IDC_STATIC,0,0,16,16 

..它仍然顯示爲32x32。你如何完全控制圖標大小?我的初衷是顯示一個bmp。

任何幫助最受讚賞。

+0

如果只在您的* .ico中包含48x48圖標文件,會發生什麼情況? – Mikhail 2012-01-14 06:39:05

回答

2

這是行爲設計​​。請參閱Static Control Styles

該樣式忽略CreateWindow參數nWidth和nHeight; 控件會自動調整大小以適應圖標。 由於LoadIcon功能使用 ,因此SS_ICON樣式只能加載 尺寸SM_CXICON和SM_CYICON的圖標。除了SS_ICON之外,還可以使用SS_REALSIZEIMAGE樣式繞過 此限制。

此外,沒有任何東西阻止您以編程方式加載48x48圖標並將其傳遞給控件。

+0

謝謝你。工作過一種享受。 – owl7 2012-01-14 12:03:36