加了CButtonST之后程序无法运行了
我有一个多文档程序CTestApp,一个登陆界面对话框AdminLogin。
test.cpp
CAdminLogin loginDlg;
if (loginDlg.DoModal()==IDOK)
{
// Register the application's document templates. Document templates
// serve as the connection between documents, frame windows and views.
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTestDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CTestView));
AddDocTemplate(pDocTemplate);//使用了CButtonST之后,这句会出错,其中pDocTemplate不为NULL
在项目中导入BCMenu.cpp,BCMenu.h,BtnST.cpp,BtnST.h,并将AdminLogin的按钮都定义成CButtonST:
CButtonST m_OK;
CButtonST m_cancel;
这样在上面的最后一句出错了。将按钮的定义改成CBitmapButton m_OK;CBitmapButton m_cancel;并将导入的四个文件删除掉就好了。这是什么情况?
另外我使用CButtonST主要是想做个透明效果,MFC对话框设计器的按钮的properties->extended styles里有个Transparent属性。按理说是控制透明度的,可是一般选中不选中都没效果。当按钮背后有picture控件作为背景图片的时候,选中就不透明,不选就透明,似乎反了。
说了这么多不知道说清楚了没有。