MFC ocx GetDlgItem的问题

我是学友 我是学友 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用MFC写了个ocx插件
在一个界面上拖了几个button 和一个animate control 控件
然后重写了OnShowWindow消息,但是有个问题,在这个函数里调用button的句柄都可以,但是animate control的不行

//控件调整大小位置在这个消息内
//
void DialogMain::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialog::OnShowWindow(bShow, nStatus);

// TODO: 在此处添加消息处理程序代码

//五个按钮组成的区域是一个整体,相对坐标为0 0
//各个按钮缝隙为5

int X = 0 + 825; //初始875
int Y = 0 + 150; //初始150

//位置和大小
CWnd *pWnd = GetDlgItem(IDC_BUTTON_UP);
pWnd->SetWindowPos(NULL,X+55,Y,50,50,NULL);

pWnd = GetDlgItem(IDC_BUTTON_LEFT);
pWnd->SetWindowPos(NULL,X,Y+55,50,50,NULL);

pWnd = GetDlgItem(IDC_BUTTON_RIGHT);
pWnd->SetWindowPos(NULL,X+110,Y+55,50,50,NULL);

pWnd = GetDlgItem(IDC_BUTTON_DOWN);
pWnd->SetWindowPos(NULL,X+55,Y+110,50,50,NULL);

pWnd = GetDlgItem(IDC_BUTTON_AUTO);
pWnd->SetWindowPos(NULL,X+55,Y+55,50,50,NULL);

//加载图片
HBITMAP hBitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_UP));
CButton *cbutton = (CButton *)GetDlgItem(IDC_BUTTON_UP);
cbutton->SetBitmap(hBitmap);

hBitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_LEFT));
cbutton = (CButton *)GetDlgItem(IDC_BUTTON_LEFT);
cbutton->SetBitmap(hBitmap);

hBitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_RIGHT));
cbutton = (CButton *)GetDlgItem(IDC_BUTTON_RIGHT);
cbutton->SetBitmap(hBitmap);

hBitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_DOWN));
cbutton = (CButton *)GetDlgItem(IDC_BUTTON_DOWN);
cbutton->SetBitmap(hBitmap);

hBitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_AUTO));
cbutton = (CButton *)GetDlgItem(IDC_BUTTON_AUTO);
cbutton->SetBitmap(hBitmap);


//加载背景图片
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP_BK);
m_brush.CreatePatternBrush(&bmp);


PIC = GetDlgItem(IDC_ANIMATE_VIDEO);

}



我加了断点调试


莫非是在这个消息里animate control还未被加载?还是animate control需要单独的声明?大神指点一下
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
我是学友
ATL 3,248 成员 48,530 内容