做过mfc的都知道,mfc的控件几乎是没有图层之分的,特别是在pic ctrl上加载图片时候,如果在pic ctrl内部嵌入一个按钮来进行切换的话,按钮就会被图层遮挡,网上很多人说利用顺序来处理图层,但是如果需要反复调用的话,顺序处理控件是很麻烦的,所以这时候就有个很好的方法,BringWindowToTop()函数,但是此函数只能受于焦点,所以再配合sefocus就可以做到浮动按钮不被遮挡了。上代码{
btn1.BringWindowToTop(); // 将Button置顶
btn2.BringWindowToTop();
CBitmap bitmap;
bitmap.LoadBitmapW(IDB_BITMAP1);
CStatic* pStatic = (CStatic*)GetDlgItem(IDC_PIC);
pStatic->ModifyStyle(0xF, SS_BITMAP | SS_CENTERIMAGE);
pStatic->SetBitmap((HBITMAP)bitmap);
btn1.SetFocus();
btn2.SetFocus();
}
这里加载图用的是资源文件,如果是路径下的文件可以看一下我的前面文章,有介绍。