投稿日 | : 2003/04/09(Wed) 13:06 |
投稿者 | : peta |
Eメール | : |
URL | : |
タイトル | : Re^4: コモンダイアログの表示(WinXPでは) |
> Win98ではうまく詳細表示されるのですがWinXPではメッセージが違うのか
> 動作しません。
元来、まともな方法ではないので、そういうこともあるでしょう。
XP環境が用意できないので、調べることが出来ません。
詳細表示は、
Call SendMessage(hDlg, WM_COMMAND, &HA004, ByVal hwndTB)
なので、推定として、
(1) ウィンドウハンドル hDlg, hwndDef, hwndLV, hwndTB の内、
1つ以上がゼロである。
(2) ツールバー詳細ボタンIDが &HA004 ではない。
と思われます。
調べれば直ぐ判ると思います。
もし実験されるであれば、元コードの一部を以下に変更した方が安全です。
Private Sub SetLVColumnWidth(ByVal hwndLV As Long, _
Optional ByVal iItemHD As Long = 0, _
Optional ByVal dwWidth As Long = LVSCW_AUTOSIZE)
If (hwndLV = 0) Then Exit Sub
Call SendMessage(hwndLV, LVM_SETCOLUMNWIDTH, iItemHD, ByVal dwWidth)
End Sub
Private Sub SetLVColumnClick(ByVal hwndLV As Long, _
ByVal iItemHD As Long)
Dim hwndHD As Long
Dim rcItem As RECT
Dim lParam As Long
If (hwndLV = 0) Then Exit Sub
hwndHD = SendMessage(hwndLV, LVM_GETHEADER, 0, ByVal 0&)
If (hwndHD = 0) Then Exit Sub
If (SendMessage(hwndHD, HDM_GETITEMRECT, iItemHD, rcItem) <> 0) Then
lParam = ((rcItem.Left + rcItem.Right) / 2) Or _
((rcItem.Top + rcItem.Bottom) / 2) * &H10000
Call SendMessage(hwndHD, WM_LBUTTONDOWN, MK_LBUTTON, ByVal lParam)
Call SendMessage(hwndHD, WM_LBUTTONUP, MK_LBUTTON, ByVal lParam)
End If
End Sub