运 行 时 刻 重 设 控 件 的 尺 寸 ---- 当 设 计visual basic 应 用 程 序 时, 可 以 简 单 地 按 照 需 要 将 控 件 添 加 到 窗 体 上, 例 如, 文 本 框 控 件 为 程 序 提 供 了 一 个 最 小 功 能 的 字 处 理 程 序 的 特 性。
---- 当 将 一 个 控 件, 例 如 一 个 文 本 框 控 件 添 加 到visual basic 应 用 程 序 中 时, 本 质 上 是 创 建 了 一 个 新 的 窗 口。 每 个 在windows 操 作 系 统 中 被 创 建 的 窗 口 都 具 有 某 种 与 之 相 关 的 风 格 属 性, 例 如, 一 个 文 本 框 控 件 可 能 具 有es_multiline 的 窗 口 风 格。 这 告 诉windows 该 控 件 是 一 个 多 行 编 辑 控 件。 【相关文章:ntext搜索关键字】
---- 控 件 的 尺 寸 必 须 在 设 计 期 间 设 置。 然 而, 通 过 使 用 两 个windows api 函 数:getwindowlong 以 及setwindowlong, 我 们 可 以 实 现 在 运 行 时 刻 改 变 一 个 控 件, 例 如 一 个 文 本 框 控 件 的 大 小。 【扩展阅读:BASIC万花筒】
---- 这 可 以 通 过 调 用getwindowlong 与setwindowlong 函 数 来 完 成。 首 先, 调 用getwindowlong 函 数 以 提 取 该 文 本 框 控 件 当 前 的 窗 口 风 格 属 性。 其 次, 可 以 使 用or 位 操 作 符 为 该 文 本 框 控 件 设 置ws_thickframe 属 性。 一 个 具 有ws_thickframe 属 性 的 窗 口 会 在 它 的 边 界 绘 制 一 个 粗 框。 可 以 使 用 该 边 框 来 改 变 窗 口 的 大 小。 【扩展信息:Ntext字段拆分处理】
---- 通 常, 一 个 文 本 框 控 件 不 能 在 运 行 时 刻 被 重 设 大 小。 然 而, 通 过 改 变 控 件 的 风 格 属 性, 用 户 将 能 够 在 程 序 运 行 期 间 调 整 文 本 框 的 物 理 尺 寸。
---- 然 后 运 行setwindowlong 函 数, 它 告 诉windows 修 改 文 本 框 控 件 的 风 格 属 性。
---- 最 后, 固 定 文 本 框 最 新 的 尺 寸, 以 便 它 的 新 位 置 与 尺 寸 被 注 册 在 其 下 的 窗 体 中, 可 以 调 用setwindowpos 函 数 来 完 成 这 项 工 作。
样 例 程 序 ---- 该 程 序 显 示 了 在visual basic 中, 如 何 在 运 行 时 刻 创 建 一 个 可 变 大 小 的 文 本 框 控 件。
... 下一页