如 何 計 算 TextBox 之 中 的 行 數 ?

多 行 的 TextBox 是 以 vbCr+vbLf 兩 個 字 元 來 斷 行 的 , 因 此 檢 查 這 兩 個 字 元 的 出 現 次 數 就 可 以 知 道 TextBox 的 行 數 , 但 如 果 TextBox 之 中 的 資 料 很 多 , 檢 查 行 數 的 執 行 效 能 就 低 了 一 點 。

為 了 提 升 執 行 效 能 , 可 直 接 呼 叫 Windows API, 首 先 在 Form 的 (一 般 ) 宣 告 以 下 的 常 數 及 API:

    Const EM_GETLINECOUNT = &HBA

    Private Declare Function SendMessageBynum Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

而 呼 叫 的 方 法 如 下 :

    ret = SendMessageBynum(Text1.hwnd, EM_GETLINECOUNT, 0, 0&)

則 傳 回 值 ret 即 等 於 TextBox 的 行 數 。