MFC icon怎么没有变
m_ctrlcons1是IDC_STATIC_LED1的CStatic变量
HICON m_hIConOff;
HICON m_hIConOn;
在OnInitDialog()定义:
m_hIConOn =AfxGetApp()->LoadIcon(IDI_ICON_ON);//自己画了个Icon位图红色的
m_hIConOff =AfxGetApp()->LoadIcon(IDI_ICON_OFF);//灰色的
void CTextDlg::OnButton1()
{
// TODO: Add your control notification handler code here
static int flag=1;//静态变量
UpdateData(TRUE);
if(flag==1)
{
flag=0;
m_ctrlcons1.SetIcon(m_hIConOn);
}
else
{
flag=1;
m_ctrlcons1.SetIcon(m_hIConOff);
}
UpdateData(FALSE);
默认是m_hIConOff(灰色的),点击按钮时就变成空白的了,接下来不管点多少下多是空白的,没有变换icon
求指教,哪里出错了,找了好久还是不知道。 Icon MFC VC++
[解决办法]
HICON m_hIcon;
HICON m_hVs;
CStatic m_icon; //关联变量
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_hVs = AfxGetApp()->LoadIcon(IDI_ICON1);
m_icon.ModifyStyle(0, SS_ICON);
m_icon.SetIcon(m_hIcon);
static bool flag = true;
if(flag)
m_icon.SetIcon(m_hVs);
else
m_icon.SetIcon(m_hIcon);
flag = !flag;