MFC中Icon图标大小定制

问题:

1>    MFC中Picture控件,修改为icon模式加载icon图标时,初始化时显示的图标大小和setIcon之后大小不一致。

2>    Icon大小如何调整。

 

解决方法:

用LoadImage定制Ion大小

 

    //yanyan:加载通道状态图标
	/* 1. bmp方式
        pStatic_Light=(CStatic *)GetDlgItem(IDC_RedGreen)  ;//控件ID       
	bmpload_RED.LoadBitmap(IDB_BITMAP_RED);   
	bmpload_GREEN.LoadBitmap(IDB_BITMAP_GREEN);  
	pStatic_Light->ModifyStyle(0,SS_BITMAP);   
	pStatic_Light->SetBitmap(bmpload_RED);
	*/

	//2. icon方式
	/* 2.1. 直接LoadIcon默认大小为32x32    HICON m_hred 
	m_hred=AfxGetApp()->LoadIcon(IDI_RED);
        m_hgreen=AfxGetApp()->LoadIcon(IDI_GREEN);
	*/

	// 2.2.  用LoadImage方法可以定制icon大小,22x22 适合当前界面
	m_hred=(HICON)LoadImage(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_RED),IMAGE_ICON,22,22,LR_DEFAULTCOLOR);
	m_hgreen=(HICON)LoadImage(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_GREEN),IMAGE_ICON,22,22,LR_DEFAULTCOLOR);

	m_RedGreen.SetIcon(m_hred);

 

原因:

SetIcon自动选择32x32大小。

 

 

参考资料

http://blog.csdn.net/aniluke/article/details/594264

http://blog.csdn.net/RaReXray/article/details/4246573

http://bbs.csdn.net/topics/340216603

http://blog.csdn.net/gao_zilai/article/details/7732290

你可能感兴趣的:(MFC中Icon图标大小定制)