VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -