收藏 分享(赏)

MFC中常用函数.doc

上传人:精品资料 文档编号:10659517 上传时间:2019-12-16 格式:DOC 页数:27 大小:44.58KB
下载 相关 举报
MFC中常用函数.doc_第1页
第1页 / 共27页
MFC中常用函数.doc_第2页
第2页 / 共27页
MFC中常用函数.doc_第3页
第3页 / 共27页
MFC中常用函数.doc_第4页
第4页 / 共27页
MFC中常用函数.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、1.IsEmpty() 函 数 判 断 一 对 象 是 否 初 始 化 , 返 回 布 尔 值 . 表 达 式 IsEmpty(expression) 实 例 : 返 回 结 果 : true2. GetAt函 数 原 型 : TCHAR GetAt( int nIndex ) const; 函 数 返 回 值 : 字 符 中 第 nIndex 个 字 符 ( 从 0 开 始 ) . Header: atlcoll.h 注 意 : nIndex 的 最 大 值 可 由 GetUpperBound()得 到 。若 nIndex 小 于 0 或 大 于 最 大 值 , 将 返 回 错 误 。3.

2、isdigitisdigit 原 型 : extern int isdigit(char c); 用 法 : #include 功 能 : 判 断 字 符 c 是 否 为 数 字 说 明 : 当 c 为 数 字 0-9 时 , 返 回 非 零 值 , 否 则 返 回 零 。附 加 说 明 此 为 宏 定 义 , 非 真 正 函 数 。 相 关 函 数 :isalnum,isalpha,isxdigit,iscntrl,isgraph,isprint,ispunct,isspace4. isalnum原 型 : extern int isalnum(int c); 用 法 : #include

3、功 能 : 判 断 字 符 变 量 c 是 否 为 字 母 或 数 字 说 明 : 当 c 为 数 字 0-9 或 字 母 a-z 及 A-Z 时 , 返 回 非零 值 , 否 则 返 回 零 。 5. isalpha函 数 : isalpha 原 型 : int isalpha( int ch) 用 法 : 头 文 件 加 入 #include (旧 版 本 的 编 译器 使 用 ) 功 能 : 判 断 字 符 ch 是 否 为 英 文 字 母 , 当 ch 为 英 文 字母 a-z 或 A-Z 时 , 在 标 准 c 中 相 当 于 使 用 “isupper(ch)|islower(ch)

4、”做 测 试 , 返 回 非 零 值 , 否 则 返 回 零 。 PS: isupper 原 型 : extern int isupper(int c); 头 文 件 : (旧 版 本 的 编 译 器 使 用 ) 功 能 : 判 断 字 符 c 是 否 为 大 写 英 文 字 母 说 明 : 当 参 数 c 为 大 写 英 文 字 母 (A-Z)时 , 返 回 非 零值 , 否 则 返 回 零 。 附 加 说 明 : 此 为 宏 定 义 , 非 真 正 函 数 。 islower islower( 测 试 字 符 是 否 为 小 写 字 母 ) 相 关 函 数 isalpha, isupper

5、 表 头 文 件 #include(旧 版 本 的 编 译 器 使 用 ) 定 义 函 数 int islower(int c) 函 数 说 明 检 查 参 数 c 是 否 为 小 写 英 文 字 母 。 返 回 值 若 参 数 c 为 小 写 英 文 字 母 , 则 返 回 TRUE, 否 则 返 回NULL(0)。 附 加 说 明 : 此 为 宏 定 义 , 非 真 正 函 数 。 示 例 : /*本 函 数 运 行 环 境 Visual C+ 6.0, 测 试 结 果 : 通过 */ #include #include int main(void) char ch; int total;

6、 total=0;/初 始 化 /*统 计 字 母 块 */ do ch=getchar(); if(isalpha(ch)!=0) total+; while(ch!=.);/结 束 符 号 为 . printf(“The total of letters is %d n“,total); return 0; /*运 行 结 果 */ 输 入 : 123456 我 am 侯 云 江 . 输 出 : The total of letters is 26TCHAR因 为 C+支 持 两 种 字 符 串 , 即 常 规 的 ANSI 编 码 ( 使 用 “包 裹 ) 和 Unicode 编 码 (

7、 使 用 L“包 裹 ) , 这 样 对 应 的 就有 了 两 套 字 符 串 字 符 串 处 理 函 数 , 比 如 : strlen 和wstrlen, 分 别 用 于 处 理 两 种 字 符 串 微 软 将 这 两 套 字 符 集 及 其 操 作 进 行 了 统 一 , 通 过 条 件编 译 ( 通 过 _UNICODE 和 UNICODE 宏 ) 控 制 实 际 使 用 的 字符 集 , 这 样 就 有 了 _T(“)这 样 的 字 符 串 , 对 应 的 就 有 了_tcslen 这 样 的 函 数 为 了 存 储 这 样 的 通 用 字 符 , 就 有 了 TCHAR: 当 没 有

8、 定 义 _UNICODE 宏 时 , TCHAR = char, _tcslen = strlen 当 定 义 了 _UNICODE 宏 时 , TCHAR = wchar_t , _tcslen = wstrlen 当 我 们 定 义 了 UNICODE 宏 , 就 相 当 于 告 诉 了 编 译 器 :我 准 备 采 用 UNICODE 版 本 。 这 个 时 候 , TCHAR 就 会 摇 身 一变 , 变 成 了 wchar_t。 而 未 定 义 UNICODE 宏 时 , TCHAR 摇身 一 变 , 变 成 了 unsigned char 。 这 样 就 可 以 很 好 的 切换

9、 宽 窄 字 符 集 。 tchar 可 用 于 双 字 节 字 符 串 , 使 程 序 可 以 用 于 中 日 韩等 国 语 言 文 字 处 理 、 显 示 。 使 编 程 方 法 简 化 。 7. GetText 函 数返 回 数 据 窗 口 控 件 中 悬 浮 在 当 前 行 列 之 上 的 编 辑 框中 的 文 本 。 在 用 户 修 改 数 据 窗 口 中 某 项 的 值 时 , 实 际 上 首先 在 悬 浮 在 当 前 项 上 的 编 辑 框 中 进 行 修 改 , 当 用 户 移动 输 入 焦 点 或 程 序 中 使 用 AcceptText()函 数 接 收 用 户 输 入时

10、, 用 户 修 改 的 数 据 通 过 有 效 性 规 则 验 证 后 放 入 数 据 窗 口的 主 缓 冲 区 中 。 语 法 :dwcontrol.GetText( ) 参 数 :dwcontrol 数 据 窗 口 控 件 名 返 回 值 :String 函 数 执 行 成 功 时 返 回 悬 浮 在 数 据 窗 口dwcontrol 当 前 行 列 之 上 的 编 辑 框 中 的 文 本 , 该 文 本 值 或许 能 、 或 许 不 能 通 过 各 种 有 效 性 检 查 , 即 或 许 可 以 接 收 为当 前 项 的 值 , 或 许 不 能 接 收 。 如 果 数 据 窗 口 中 没

11、 有 当 前 项 ,则 GetText()函 数 返 回 空 字 符 串 “ , 如 果 dwcontrol 的 值为 NULL , 则 GetText()函 数 返 回 NULL。 编 辑 本 段 用 法 :显 示 在 数 据 窗 口 中 的 各 个 数 据 项 的 值 保 存 在 数 据 窗 口的 主 缓 冲 区 中 。 当 用 户 编 辑 某 项 的 值 时 , 系 统 自 动 把 该 值传 送 到 漂 浮 在 该 项 之 上 的 编 辑 框 中 , 供 用 户 进 行 修 改 。当 用 户 移 动 输 入 焦 点 或 程 序 中 使 用 AcceptText()函 数 接 收用 户 输

12、 入 后 用 户 修 改 的 数 据 通 过 有 效 性 规 则 验 证 时 放 入数 据 窗 口 的 主 缓 冲 区 中 。 在 数 据 窗 口 控 件 的 ItemChanged 或 ItemError 事 件 中不 需 要 调 用 GetText()函 数 来 得 到 编 辑 框 中 用 户 输 入 或 修 改的 内 容 , 此 时 , 可 以 使 用 这 些 事 件 的 data 参 数 得 到 该 内容 ; 要 得 到 数 据 窗 口 缓 冲 区 中 某 项 的 值 , 使 用 与 相 应 列的 数 据 类 型 相 匹 配 的 GetItem 系 列 函 数 。 编 辑 本 段 示

13、例 :下 面 的 语 句 得 到 数 据 窗 口 控 件 中 漂 浮 在 当 前 数 据 项之 上 的 编 辑 框 的 内 容 并 将 其 保 存 在 变 量 LName 中 string LName LName = dw_employee.GetText() 程 序 例 : #include char buffer4096; int main(void) int i; clrscr(); for (i = 0; i “) 返 回 “THIS IS IT“。 11 AfxMessageBox 的 函 数 原 型int AfxMessageBox( LPCTSTR lpszText, UINT

14、nType = MB_OK, UINT nIDHelp = 0 ); int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) 1 ); 在 第 一 种 形 式 中 , lpszText 表 示 在 消 息 框 内 部 显 示 的文 本 , 消 息 框 的 标 题 为 应 用 程 序 的 可 执 行 文 件 名 ( 如Hello) 。 在 第 二 种 形 式 中 , nIDPrompt 为 要 显 示 的 文 本 字符 串 在 字 符 串 表 中 的 ID。 函 数 调 用 时 会 自

15、 动 从 字 符 串 表 中载 入 字 符 串 并 显 示 在 消 息 框 中 。 nType 为 消 息 框 中 显 示 的按 钮 风 格 和 图 标 风 格 的 组 合 , 可 以 采 用 |( 或 ) 操 作 符 组合 各 种 风 格 。 按 钮 风 格 MB_ABORTRETRYIGNORE 消 息 框 中 显 示Abort、 Retry、 Ignore 按 钮 MB_OK 显 示 OK 按 钮 MB_OKCANCEL 显 示 OK、 Cancel 按 钮 MB_RETRYCANCEL 显 示 Retry、 Cancel 按 钮 MB_YESNO 显 示 Yes、 No 按 钮 MB_

16、YESNOCANCEL 示 Yes、 No、 Cancel 按 钮 图 标 风 格 MB_ICONINFORMATION 显 示 一 个 i 图 标 , 表 示 提 示 MB_ICONEXCLAMATION 显 示 一 个 惊 叹 号 , 表 示 警 告 MB_ICONSTOP 显 示 手 形 图 标 , 表 示 警 告 或 严 重 错 误 MB_ICONQUESTION 显 示 问 号 图 标 , 表 示 疑 问 使 用 时 , 可 以 只 调 用 AfxMessageBox(LPCTSTR lpszText);这 样 默 认 风 格 为 AfxMessageBox(LPCTSTR lpsz

17、Text, MB_OK|MB_ICONEXCLAMATION ); 编 辑 本 段 AfxMessageBox()与 MessageBox()的 区 别与 AfxMessageBox 类 似 的 函 数 MessageBox, 它 是CWnd 的 类 成 员 函 数 : int MessageBox( LPCTSTR lpszText,LPCTSTR lpszCaption = NULL,UINT nType = MB_OK ); 两 个 函 数 的 区 别 : AfxMessageBox 比 MessageBox 简单 一 些 , 因 为 它 是 一 个 全 局 函 数 所 以 不 需 要

18、对 应 的 一 个 窗口 类 , 但 是 不 能 控 制 消 息 框 标 题 , 常 用 于 调 试 程 序 时 的 内部 数 据 输 出 或 警 告 ; MessageBox 比 较 正 式 , 常 用 在 要 提 交的 应 用 程 序 版 本 中 , 可 以 控 制 标 题 内 容 而 不 必 采 用 含 义 不明 的 可 执 行 文 件 名 为 标 题 。 举 例 : AfxMessageBox(“Are you sure?“,MB_YESNO|MB_ICONQUESTION); int a = MessageBox(TEXT(“是 否 确 认 删 除 ? “),TEXT(“Warnin

19、g!“),4); if(a=6) AfxMessageBox(“Yes“); else AfxMessageBox(“No“); (其 中 #define IDYES 6 #define IDNO 7) 主 要 区 别 : 1.MessageBox 如 果 在 非 CWnd 类 中 使 用 则 是 API 函 数 ,使 用 起 来 非 常 不 便 , 必 须 指 定 标 题 和 样 式 否 则 使 用 CWnd 类 的 函 数 , 只 需 一 个 内 容 参 数 就 可 以了 , AfxMessageBox 和 CWnd 类 成 员 函 数 类 似 , 使 用 起 来很 方 便 , 因 为 是 Afx 基 于 框 架 的 函 数 2.MessageBox 是 模 态 对 话 框 , 你 不 进 行 确 认 时 程 序 不往 下 运 行 , 它 会 阻 塞 你 当 前 的 线 程 为 , 除 非 你 程 序 是 多 线程 的 程 序 , 否 则 只 有 等 待 模 态 对 话 框 被 确 认 3、 如 果 用 MFC 的 话 , 请 尽 量 使 用 afxmessagebox,因 为 这 个 全 局 的 对 话 框 最 安 全 , 也 最 方 便 。 但 是 在 WIN32 SDK 的 情 况 下 只 能 使 用 MESSAGEBOX。;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报