VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 339|回复: 6

[求助] 这样的错误对话框如何实现?

[复制链接]
44_avatar_middle
online_vip hahacker 发表于 2018-5-9 00:35:43 | 显示全部楼层 |阅读模式
这样的错误对话框如何实现?

很明显,这不是普通MessageBox能实现的,它只是像MessageBox的样子,但是又像一个插入资源的那个对话框。
这样的错误对话框如何实现?

不知道是怎么实现的,希望老大说下,我要怎么实现这种对话框。




上一篇:关于Clistctrl小图标对齐的问题
下一篇:sqlite

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-5-9 00:49:52 | 显示全部楼层
MB_OKCANCEL | MB_HELP 不就可以了吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-5-9 01:24:19 | 显示全部楼层
这样的错误对话框如何实现?

MessageBox(_T("The license key \'1111111111111111\' is not correct!"), _T("Error"), MB_OKCANCEL | MB_HELP | MB_ICONERROR);

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

44_avatar_middle
ico_lz  楼主| hahacker 发表于 2018-5-9 03:55:03 | 显示全部楼层
本帖最后由 hahacker 于 2018-5-9 03:56 编辑
Syc 发表于 2018-5-9 01:24
MessageBox(_T("The license key \'1111111111111111\' is not correct!"), _T("Error"), MB_OKCANCEL  ...


您这种就是MessageBox了,它那个不是MessageBox,应该是个form窗体什么的,

您的:
这样的错误对话框如何实现?

这个位置是个静态控件,就可以直接用SPY++类的软件侦探出来,但是把它那个放上面,侦测的是整个窗体,可以看出,是个窗体实现的,而且您看类
名,是TMessageForm


这个是delphi程序,但是就算是delphi的程序,这个错误对话框也不可以作者来自绘吧,还放个警告的图标,不符合编程的一般思路。

所以我想在VC中,这种要如何实现。而且它那个“111111”是变量,用户输入的如果是“2222”,它就会提示:
The license key "2222" is not correct!"


如:
这样的错误对话框如何实现?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-5-9 09:39:56 | 显示全部楼层
hahacker 发表于 2018-5-9 03:55
您这种就是MessageBox了,它那个不是MessageBox,应该是个form窗体什么的,

您的:

这个程序是 Delphi 的,不过这个对话框确实不是作者自己自绘的,而是 Delphi 默认就是这样:
有关于为何 SPY++不能获得 ShowMessag e创建的消息框内容的疑问。

查找相关线索,通过对 ShowMessage 的跟踪,发现:
1)ShowMessage 显示出的消息框中的 TEXT 不来自于子控件
2)ShowMessage 实质上调用 CreateMessageDialog
3)而 CreateMessageDialog 内部是利用了 DrawText(A/W)输出的文字

结论:如果要截取 TMessageForm 类的窗口内容需要拦截 DrawTextA 或 DrawTextW。lpString就是消息框中显示的内容。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

15_avatar_middle
在线会员 东佳高科 发表于 2018-5-12 21:07:04 | 显示全部楼层
的点点滴滴多多多多多多多多多多多多

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

44_avatar_middle
ico_lz  楼主| hahacker 发表于 2018-5-13 22:01:34 | 显示全部楼层
Syc 发表于 2018-5-9 09:39
这个程序是 Delphi 的,不过这个对话框确实不是作者自己自绘的,而是 Delphi 默认就是这样:
有关于为何 ...

那VC中有什么API函数能实现delphi这种的对话框吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-8-20 14:50

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表