首页
社区
课程
招聘
[求助]在弹出的MessageBox对话框中可以输入数据吗?
发表于: 2006-7-24 23:05 7326

[求助]在弹出的MessageBox对话框中可以输入数据吗?

2006-7-24 23:05
7326
我想在弹出来的MessageBox里输入数据,所以就自己写了一个汇编,不过编译不成功,就来问一下.

.386
.model flat,stdcall
option casemap:none

include windows.inc
include kernel32.inc
include user32.inc

includelib kernel32.lib
includelib user32.lib

scanf PROTO C:DWORD,:VARARG
.data
szPmt  DB '%d',0
szFmt   DB  '请输入您的数据',0
.code
start:
     
      invoke wsprintf,addr szFmt
      invoke scanf,addr szPmt
      invoke MessageBox,NULL,addr szFmt,addr szPmt,MB_OK      
      invoke ExitProcess,NULL                          
      
end start

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 235
活跃值: (41)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
在Charles Petrol书上说,只有自己创建的窗口才能在里面写和画,如果是象MessageBox等谈出来的属于Windows创建的窗口,只带有标题、少量的确认等等按钮。

不知道说的对不对?我也是菜鸟
2006-7-25 08:43
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
3
No way~
2006-7-25 09:56
0
雪    币: 249
活跃值: (10)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
4
1、只要取得了窗口的HWND,就可以得到HDC,之后――随便你画什么图形、控件

2、scanf 是什么东西?link了什么LIB?

3、如果非要这么做^_^ ~~~ 不如获取MessageBox的HWND后自己createwindowex一个"EDIT"。再把MSGBOX里的那个“确定”按钮给窗口子类化,提取edit的内容
2006-7-25 10:34
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
5
wsprintf的参数个数不对,最少有三个参数。
而且你说的意思不太明白,你的意思是说1、先输入数据然后再在MessageBox里显示数据,2、还是先弹出MessageBox,然后再在MessageBox里输入数据?如果是1,你必须编写控制台程序或Win32程序里创建一个窗口和Edit才行。如果是2,如楼上所说,你必须子类化MessageBox,在MessageBox里添加一个Edit才行。

最初由 wiaa 发布
1、只要取得了窗口的HWND,就可以得到HDC,之后――随便你画什么图形、控件

2、scanf 是什么东西?link了什么LIB?

3、如果非要这么做^_^ ~~~ 不如获取MessageBox的HWND后自己createwindowex一个"EDIT"。再把MSGBOX里的那个“确定”按钮给窗口子类化,提取edit的内容


scanf是C运行库里的函数。不过这个函数似乎只能在控制台窗口上使用,不用能Win32上使用。
2006-7-25 10:46
0
雪    币: 249
活跃值: (10)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
6
哦,我看着不是 _scanf 而且调用的格式也不对,就不知道是什么函数了

Win32上是可以用 _scanf的,不过需要 重新定位缓冲区,比如在参数上加上 xxx.exe <cmd.txt >out.txt 这样就可以使用_printf和_scanf了
2006-7-25 13:13
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
7
好象有专门的输入对话框吧 dialog box
2006-7-25 14:45
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
8
在win32里,wsprintf是显示输出数据,那么有提供输入的吗?
2006-7-25 18:01
0
游客
登录 | 注册 方可回帖
返回
//