在OnMouseDown中写比较合适,因为参数中有X,Y,可以定位。
判断双击的代码如下:
if [ssLeft, ssDouble] is Shift then //双击
  // do your thing
给分点管理。

解决方案 »

  1.   

    供用户选择的数据? 是什么数据呢,是一个CELL中的数据吧!
    如果是这样的话,可以做成下拉列表或查找字段嘛!
    看看这个:一、DBGrid 中 的 下 拉 列 表
    在DBGrid 网 格 中 实 现 下 拉 列 表, 设 置 好DBGrid 中 该 字 段 的PickList 字 符 串 列 表、 初 始 的 序 号 值DropDownRows 即 可。 以 职 工 信 息 库 中 的 籍 贯 字 段( 字 符 串 类 型) 为 例, 具 体 设 计 步 骤 如 下:
    1、 在 窗 体 上 放 置Table1、DataSource1、DBGrid1、DBNavigator1 等 控 件 对 象, 按 下 表 设 置 各 个 对 象 的 属 性:---------------------------------------对象 属性 设定值---------------------------------------Table1 DataBase sy1TableName zgk.dbf //职工信息库DataSource1 DataSet Table1DbGrid1 DataSource DataSource1DBNavigator1 DataSource Datasource1-------------------------------------------
    2、 双 击Table1在 弹 出 的Form1.Table1 窗 口 中, 用 右 键 弹 出 快 捷 菜 单, 单 击Add Fields 菜 单 项; 选 择 所 有 的 字 段 后, 按OK 按 钮。
    3、 修 改 第2 步 新 增 字 段 的DisplayLabel 属 性。 以Table1ZGBH 字 段 为 例, 在Object Inspector 窗 口 中 选 择Table1ZGBH修 改 属 性DisplayLabel= 职 工 编 号, 其 余 字 段 类 似。
    4、 双 击DBGrid1在 弹 出 的Editing DBGrid1.Columns 窗 口 中, 单 击Add all Fields 按 钮, 增 加Table1 的 所 有 字 段。
    5、 在Editing DBGrid1.Columns 窗 口, 选 择jg 这 一 行, 切 换 到Object Inspector 窗 口, 修 改 它 的PickList.Strings 为“ 湖 北 枝 江 市北 京 市河 南 平 顶 山 市浙 江 德 清 市”
    6、 在Form1.Oncreate 事 件 中 写 入 语 句:
    Table1.Open;
    7、F9 运 行, 用 鼠 标 点 击 某 个 记 录 的 籍 贯 字 段, 右 边 即 出 现 一 个 按 钮, 点 击 这 个 按 钮, 可 出 现 一 个 下 拉 列 表, 包 含 第5 步 中 输 入 的 四 行 字 符 串, 可 用 鼠 标 进 行 选 择。 当 然 也 可 以 自 行 输 入 一 个 并 不 属 下 拉 列 表 中 的 字 符 串。
    二、DBGrid 中 的 查 找 字 段
    所 谓 查 找 字 段(LookUp Field), 即DBGrid 中 的 某 个 关 键 字 段 的 数 值 来 源 于 另 外 一 个 数 据 库 的 相 应 字 段。 运 用 查 找 字 段 技 术, 不 仅 可 以 有 效 的 避 免 输 入 错 误, 而 且DBGrid 的 显 示 方 式 更 为 灵 活, 可 以 不 显 示 关 键 字 段, 而 显 示 源 数 据 库 中 相 对 应 的 另 外 一 个 字 段 的 数 据。
    例 如, 我 们 在DBGrid 中 显 示 和 编 辑 职 工 信 息, 包 括 职 工 编 号、 职 工 姓 名、 籍 贯、 所 在 单 位 编 号, 而 单 位 编 号 来 源 于 另 一 个 数 据 库 表 格 — — 单 位 库, 称“ 单 位 编 号” 为 关 键 字 段。 如 果 我 们 直 接 显 示 和 编 辑 单 位 编 号 的 话, 将 会 面 对1、2、3 等 非 常 不 直 观 的 数 字, 编 辑 时 极 易 出 错。 但 是 如 果 显 示 和 编 辑 的 是 单 位 库 中 对 应 的 单 位 名 称 话, 将 非 常 直 观。 这 就 是DBGrid 的 所 支 持 的 查 找 字 段 带 来 的 好 处。
    实 现DBGrid 的 查 找 字 段 同 样 不 需 要 任 何 语 句, 具 体 设 计 步 骤 如 下:1、 在 窗 体 上 放 置Table1、Table2、DataSource1、DBGrid1、DBNavigator1 等 控 件 对 象, 按 下 表 设 置 各 个 对 象 的 属 性:---------------------------------------对象 属性 设定值---------------------------------------Table1 DataBase sy1TableName zgk.dbf //职工信息库Table2 DataBase sy1TablenAME dwk.dbf //单位信息库DataSource1 DataSet Table1DbGrid1 DataSource DataSource1DBNavigator1 DataSource Datasource1------------------------------------------
    2、 双 击Table1在 弹 出 的Form1.Table1 窗 口 中, 用 右 键 弹 出 快 捷 菜 单, 单 击Add Fields 菜 单 项; 选 择 所 有 的 字 段 后, 按OK 按 钮。
    3、 修 改 第2 步 新 增 字 段 的DisplayLabel 属 性。 以Table1ZGBH 字 段 为 例, 在Object Inspector 窗 口 中 选 择Table1ZGBH修 改 属 性DisplayLabel= 职 工 编 号, 其 余 字 段 类 似。
    4、 设 置Table1DWBH.Visible=False。
    5、 在Form1.Table1 窗 口, 用 右 键 弹 出 快 捷 菜 单, 单 击New Field 菜 单 项, 新 增 一 个 查 找 字 段DWMC, 在 弹 出 的 窗 口 设 置 相 应 的 属 性按OK 按 钮 确 认; 在Object Inspector 窗 口, 设 置Table1DWMC.DisplayLabel= 单 位 名 称。
    6、 在Form1.Oncreate 事 件 中 写 入 语 句:Table1.Open;
    7、 按F9 运 行, 当 光 标 移 至 某 个 记 录 的 单 位 名 称 字 段 时, 用 鼠 标 点 击 该 字 段, 即 出 现 一 个 下 拉 列 表, 点 击 右 边 的 下 箭 头, 可 在 下 拉 列 表 中 进 行 选 择。 在 这 里 可 以 看 出, 下 拉 列 表 的 内 容 来 自 于 单 位 信 息 库, 并 且 不 能 输 入 其 他 内 容。
    三、DBGrid 中 的 下 拉 列 表 和 查 找 字 段 的 区 别虽 然DBGrid 中 的 下 拉 列 表 和 查 找 字 段, 都 是 以 下 拉 列 表 的 形 式 出 现 的, 但 两 者 有 很 大 的 差 别。
    1、 用PickList 属 性 设 置 的 下 拉 列 表, 它 的 数 据 是 手 工 输 入 的, 虽 然 也 可 以 在 程 序 中 修 改, 但 动 态 特 性 显 然 不 如 直 接 由 另 外 数 据 库 表 格 提 取 数 据 的 查 找 字 段。
    2、 用PickList 属 性 设 置 的 下 拉 列 表, 允 许 输 入 不 属 于 下 拉 列 表 中 的 数 据, 但 查 找 字 段 中 只 能 输 入 源 数 据 库 中 关 键 字 段 中 的 数 据, 这 样 更 能 保 证 数 据 的 完 整 性。
    3、 用PickList 属 性 设 置 的 下 拉 列 表 设 计 较 为 简 单。