我们项目的主界面和子对话框都使用的自己风格的皮肤和按钮,但所有的弹出消息对话框都用的WINDOWS的MessageBox和AfxMessageBox对话框,在显示上不一致,请问怎么封装MessageBox API,使能统一成自己的风格?
解决方案 »
- gethostbyname无法获得hosts文件下的正确IP
- 我想在activex自己的about里面显示它的版本好,请问在activex控件里,如何得到自己的版本号呢?
- 请问一个函数怎么能返回一个结构值
- 奇怪的内存问题,请教
- 在自己的程序中如何打开其它应用程序?
- 很难的问题,帮忙解决?
- malloc不能分配内存主要由什么原因引起?
- 各位大虾:请介绍一些学VC的网站和论坛。不胜感激!
- 这个查询语句有什么不对吗??
- 请问:如何从数据库一个表里里读出数据啊?
- 能不能在Visual C++中集成PowerBuilder的数据库编程功能?
- 使用ATL写了一个BHO,请问能在JavaScript里使用BHO中的函数嘛?
然后重设其按钮,标题栏的风格
dlg.SetDlgItemText(IDC_STATIC_TEXT, lpszPrompt); dlg.ShowWindow(SW_SHOW);
dlg.UpdateWindow();
::AfxMessageBox("我是被重载的AfxMessageBox!", MB_USERDEFINE);
int COwnAfxMessageBoxApp::DoMessageBox(LPCTSTR lpszPrompt, UINT nType, UINT nIDPrompt)
{
if (MB_USERDEFINE == nType)
{
CDialog dlg; dlg.Create(IDD_ABOUTBOX, NULL); dlg.SetWindowText(lpszPrompt);
dlg.SetDlgItemText(IDC_STATIC_TEXT, lpszPrompt); dlg.ShowWindow(SW_SHOW);
dlg.UpdateWindow(); Sleep(2000); dlg.DestroyWindow(); return TRUE;
} return CWinApp::DoMessageBox(lpszPrompt, nType, nIDPrompt);
}