博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[API档案]GetDlgItemText
阅读量:4649 次
发布时间:2019-06-09

本文共 1718 字,大约阅读时间需要 5 分钟。

函数功能


 

GetDlgItemText中Get取得,Dlg是Dialog(对话框)的简写,Item项,Text文字,即调用这个函数以获得与对话框中的控件相关的标题或文本。对比SetDlgItemText函数

 

API函数原型 


 

1 int WINAPI GetDlgItem(hwnd,IDC_EDITNAME,str,sizeof(str));2 //第一个参数是窗口的句柄,第二个参数是要取得的控件内容的ID3 //第三个参数就是字符串指针,第四个参数就是指针指向区域的大小

 

范例


 

建立如图所示窗口,对按钮进行编程,实现按钮可获取文本框中输入的姓名。文本框ID为IDC_EDITNAME。

1 void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) 2 { 3     switch(id) 4     { 5         case IDC_OK: 6             { 7             TCHAR name[256];//Windows编程中一般用TCHAR代替char,用于解决Unicode,中文编码问题。 8             GetDlgItemText(hwnd,IDC_EDITNAME,name,sizeof(name)); 9             MessageBox(hwnd,name,name,MB_OK);10             }11         break;12         default:13         break;14     }15 }

 实现效果如下:

如果想进一步拓展功能,想输出“姓名+你好”的形式怎么办呢,这里就要用到sprinf函数,代码见下。

注意,使用sprintf函数需要添加stdio.h头文件,否则会提示错误信息,error C2065: 'sprintf' : undeclared identifier,错误原因见。

1 void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) 2 { 3     switch(id) 4     { 5         case IDC_OK: 6             { 7             TCHAR name[256];//Windows编程中一般用TCHAR代替char,用于解决Unicode,中文编码问题。 8             GetDlgItemText(hwnd,IDC_EDITNAME,name,sizeof(name)); 9             10             //printf是打印到屏幕上,而sprintf则是打印到字符串中11             //相当于很多c#,Java语言中的字符串相加 name+“你好”12             TCHAR Msg[256];13             sprintf(Msg,"%s你好",name)//将%s你好打印到字符串Msg中,然后再通过MessageBox打印出来。14             MessageBox(hwnd,Msg,Msg,MB_OK);15             }16         break;17         default:18         break;19     }20 }

实现效果如下所示:

 

     最后说一点,在Windows开发中,一般不用sprintf而使用wsprintf,用法和sprintf是一样的。如果不用wsprintf而使用sprintf在Visual Studio中可能会出现编译错误,在VC6中不会出现问题。另外,wsprintf只能输出字符,字符串和整型数据,要输出任意类型应该用swprintf。

 

转载于:https://www.cnblogs.com/BJTU-WHC/articles/6337055.html

你可能感兴趣的文章
Get MAC address using POSIX APIs
查看>>
基于uFUN开发板的心率计(一)DMA方式获取传感器数据
查看>>
【dp】船
查看>>
oracle, group by, having, where
查看>>
⑥python模块初识、pyc和PyCodeObject
查看>>
Kibana:分析及可视化日志文件
查看>>
nodejs pm2使用
查看>>
cocos2d-x 3.10 PageView BUG
查看>>
装饰器的基本使用:用户登录
查看>>
CSS选择器总结
查看>>
mysql中sql语句
查看>>
head/tail实现
查看>>
sql语句的各种模糊查询语句
查看>>
vlc 学习网
查看>>
Python20-Day05
查看>>
Real World Haskell 第七章 I/O
查看>>
C#操作OFFICE一(EXCEL)
查看>>
【js操作url参数】获取指定url参数值、取指定url参数并转为json对象
查看>>
移动端单屏解决方案
查看>>
web渗透测试基本步骤
查看>>