messagebox的问题

zero_226 2012-05-10 10:53:10
MessageBox(NULL, L"TEST", L"2010", 0);

这句代码的效果是对话框上有一个“是”和“否”,请问这个“是”和“否”能不能客制化,或者说,能不能编程“同意”“
拒绝”?
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dahaiI0 2012-05-10
  • 打赏
  • 举报
回复
MsgBoxEx(this->GetSafeHwnd(),_T("所得斯内"),_T("提示"),MB_YESNO);
这段代码也是从别人那学习引用的,想来作者不会追究版权问题,哈哈···
dahaiI0 2012-05-10
  • 打赏
  • 举报
回复
可以

HHOOK hMsgBoxHook=NULL;
LRESULT CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam)
{
HWND hwnd, hndx;
if(nCode < 0)
return CallNextHookEx(hMsgBoxHook, nCode, wParam, lParam);
switch(nCode)
{
case HCBT_ACTIVATE:
// 现在wParam中就是message box的句柄
hwnd = (HWND)wParam;
// 有了message box的句柄,定制message box
hndx = GetWindow(hwnd, GW_CHILD);
::SetWindowText(hndx, _T("同意") );
HWND hWnd = ::GetNextWindow(hndx,GW_HWNDNEXT);
::SetWindowText(hWnd, _T("拒绝") );

//SetWindowLong(hwnd,DWL_DLGPROC,(LONG)AboutDlgProc);
return 0;
}
return CallNextHookEx(hMsgBoxHook, nCode, wParam, lParam);
}
int MsgBoxEx(HWND hwnd, TCHAR *szText, TCHAR *szCaption, UINT uType)
{
int ret;
hMsgBoxHook= SetWindowsHookEx(
WH_CBT,
CBTProc,
NULL,
GetCurrentThreadId()
);
ret = ::MessageBox(hwnd, szText, szCaption, uType);
UnhookWindowsHookEx(hMsgBoxHook);
hMsgBoxHook = NULL;
return ret;
}

  • 打赏
  • 举报
回复
你自己用dialog实现就行,我估计不能定制,等待高手。。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧