使用SendMessage函式滾動文字框控制元件中的內容 (轉)

worldblog發表於2007-12-06
使用SendMessage函式滾動文字框控制元件中的內容 (轉)[@more@]

在 中, 可 以 通 過 程 序 使 文 本 框 控 件 中 的 內 容 進 行 滾 動, 而 不 用 等 待 用 戶 單 擊 滾 動 條 控 件, 可 以 通 過 使 用 的SendMessage 函 數 將 一 個 或 多 個 滾 動 消 息 發 送 到 系 統 來 實 現 上 述 功 能。

在 文 本 框 控 件 中 滾 動 ---- 在 下 面 的 樣 例 程 序 中, 連 接 到Left 命 令 按 鈕 上 的 代 碼 將 文 本 框 中 的 內 容 向 左 移 動 一 個 字 符 的 位 置。 當 用 戶 單 擊 了 文 本 框 控 件 上 的 水 平 滾 動 條 時, 該 消 息 被 發 送 到 窗 口。 然 而, 在 這 個 程 序 中, 是 在 用 戶 單 擊 命 令 按 鈕 時 發 送 該 消 息。

---- 要 控 制 滾 動 行 為 的 方 向, 必 須 告 訴SendMessage 函 數 將 一 個WM_HSCROLL 消 息 發 送 到 文 本 框 控 件 中, 並 在wParam 參 數 中 指 定 方 向 參 數。 下 面 是 可 以 在wParam 參 數 中 指 定 的 有 效 設 置。

---- SB_LEFT 往 左 邊 移 動 較 多 部 分
---- SB_RIGHT 往 右 邊 移 動 較 多 部 分
---- SB_LINELEFT 往 左 邊 移 動 一 個 單 元
---- SB_LINERIGHT 往 右 邊 移 動 一 個 單 元

---- 可 見, 要 將 文 本 框 中 的 文 本 向 左 移 動 一 個 字 符, 可 以 將wParam 參 數 設 置 為SB_LINELEFT; 要 將 文 本 框 中 的 內 容 向 右 移 動 一 個 字 符, 則 將wParam 參 數 設 置 為SB_LINERIGHT, 等 等。

樣 例 程 序 ---- 該 程 序 顯 示 了 如 何 使 用SendMessage 函 數 來 滾 動 文 本 框 控 件 中 的 內 容。

---- 1. 在Visual Basic 中 開 始 一 個 新 的 工 程, 採 用 缺 省 的 方 法 建 立Form1。
---- 2. 將 如 下 常 量 和 聲 明 語 句 添 加 到Form1 的 通 用 聲 明 部 分 中( 注 意 該 聲 明 語 句 需 要 書 寫 在 一 行 內):
---- Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
---- Const SB_LINERIGHT = 1
---- Const SB_LINELEFT = 0
---- Const WM_HSCROLL = &H114

---- 3. 在Form1 上 添 加 一 個 文 本 框 控 件, 採 用 缺 省 的 方 法 建 立Text1。 將 其MultiLine 屬 性 設 置 為True,ScroolBars 屬 性 設 置 為3-Both。

---- 4. 在Form1 上 添 加 一 個 命 令 按 鈕 控 件, 採 用 缺 省 的 方 法 建 立Command1。
---- 將 其Caption 屬 性 設 置 為“ 左”。

---- 5. 將 如 下 代 碼 添 加 到Command1 的 單 擊 事 件 中:


Private Sub Command1_Click()
  Dim X As Long
  X = SendMessage(Text1.hwnd, WM_HSCROLL,
  SB_LINELEFT, ByVal 0&)
End Sub

---- 6. 在Form1 上 添 加 第 二 個 命 令 按 鈕 控 件, 採 用 缺 省 的 方 法 建 立Command2。
---- 將 其Caption 屬 性 設 置 為“ 右”。

---- 7. 將 如 下 代 碼 添 加 到Command2 的 單 擊 事 件 中:


Private Sub Command2_Click()
  Dim X As Long
  X = SendMessage(Text1.hwnd, WM_HSCROLL,
  SB_LINERIGHT, ByVal 0&)
End Sub

---- 按 下F5 鍵 來 執 行 該 程 序。 在 文 本 框 控 件 中 鍵 入 一 些 文 本, 如 圖1。 單 擊 左 命 令 按 鈕, 文 本 將 被 往 左 滾 動 一 個 字 符, 如 圖2。 單 擊 右 命 令 按 鈕, 文 本 將 被 往 右 滾 動 一 個 字 符 的 位 置, 如 圖3。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988881/,如需轉載,請註明出處,否則將追究法律責任。

相關文章