VBプログラマ質問スレ(6.0以前) Part34
■ このスレッドは過去ログ倉庫に格納されています
0892はちみつ三郎
NGNGほかのものを見ると、よくタブの間隔を設定できますよね。
あれをやってみようと思ってるんですけど、どうもうまくいきません。
調べてみると、SendMessageでEM_SETTABSTOPSを送ってやるといいそうなのですが。
コピーして関数を作ってみたんですが、これではタブの間隔が設定値どおりにいかないし、しかもばらばらなんです。
いまいちわかっていないのですが…どこがいけないのか教えてください。。
'水平ダイアログボックス単位を取得
lngHorizonDialogBoxUnit = (GetDialogBaseUnits And &HFFFF&) / 4
'タブ位置を格納するバッファを確保
ReDim lngTabsArray(argTabStops)
'タブストップ位置を10ダイアログボックス単位間隔に指定
For lngLoopCount = LBound(lngTabsArray) To UBound(lngTabsArray)
lngTabsArray(lngLoopCount) = (lngLoopCount + 1) * (10 * lngHorizonDialogBoxUnit)
Next lngLoopCount
With argTextBox
'既存のタブストップを解除
lngWin32apiResultCode = SendMessage(.hWnd, EM_SETTABSTOPS, 0, vbNullString)
'新しいタブストップ位置を設定
lngWin32apiResultCode = SendMessage(.hWnd, EM_SETTABSTOPS, argTabStops, lngTabsArray(0))
'テキストボックスを強制的に更新
.Refresh
End With
■ このスレッドは過去ログ倉庫に格納されています