| |
VB & Windows APIRe: CommonDialog subclassen | | | Autor: christoph12 | Datum: 21.07.05 20:41 |
| Ja, eben, es kommen keine Ereignisse beim Umschalten auf Details und anschliessendem Sortieren nach Datum.
Sonst funktioniert's ja.
Mich wundert's, dass so eine Automation keiner will, ich habe schon vergeblich gesucht.
Gruss
Christoph
modifiziert:
' Die Hook-Fuktion empfängt alle Ereignisse des Dialogs
Public Function HookFunc(ByVal hdlg As Long, ByVal uiMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case uiMsg
Case WM_INITDIALOG
Debug.Print "Der Dialog wird Initialisiert"
Case WM_HELP
Debug.Print "Die Hilfe wurde aufgerufen"
MsgBox "Es ist keine Hilfe verfügbar"
Case WM_DESTROY
Debug.Print "Der Dialog wird geschlossen"
Case WM_NOTIFY
Debug.Print "NOTIFY", wParam, lParam
Case Else
Debug.Print "SONST", uiMsg
End Select
' Nicht vergessen! Im schlimmsten Fall reagiert der
' Dialog sonst nicht mehr
HookFunc = uiMsg
End Function | |
CommonDialog subclassen | | | Autor: christoph12 | Datum: 18.07.05 21:34 |
| Hallo
wie kann ich den Common Dialog (OCX oder Api) so hinbiegen, dass er mit Anzeige der Details aufklappt und nach Datum sortiert (abwärts) ist?
Gruss
Christoph | |
Re: CommonDialog subclassen | | | Autor: christoph12 | Datum: 19.07.05 22:56 |
| Wie heisst diese Variable und welches Flag ist es?
Ich habe schon mit SPY geloggt, finde aber nicht raus, wie das funktioniert... | |
Re: CommonDialog subclassen | | | Autor: christoph12 | Datum: 20.07.05 23:03 |
| Das ist mir schon klar. Der Aufruf betrifft 2 controls, die nichts mit dem filelistview-control zu tun haben: erstmal im Ansichtenmenü auf Details schalten und dann in der Überschrift in der Spalte Datum auf Sortieren klicken. Ich habe mal vor Unzeiten einen Codeschnipsel auf einer japanischen Seite gefunden, der sich diesem Problem widmete, aber die Umsetzung war einfach hässlich.
Bin kein MSDN-Profi.
Hintergrund ist eine zu langsame Verarbeitung eines Codes mit FSO in einem grösseren Firmennetzwerk.
Gruss
Christoph | |
Re: CommonDialog subclassen | | | Autor: christoph12 | Datum: 21.07.05 22:21 |
| erste Lösung gefunden:
Case WM_NOTIFY
If bLvSetupDone = False Then
'hwnd is the handle to the dialog
'hwndParent is the handle to the common control
'hwndLv is the handle to the listview itself
hWndParent = GetParent(hwnd)
hwndLv = FindWindowEx(hWndParent, 0, "SHELLDLL_DefView", _
vbNullChar)
If hwndLv > 0 Then
Call SendMessage(hwndLv, WM_COMMAND, ByVal m_lvInitialView, _
ByVal 0&)
Wie soll man als Normalsterblicher auf das kommen?
Jetzt fehlt nur noch das Sortieren....
'since we found the lv hwnd, assume the
'command was received and set the flag
'to prevent recalling this routine
bLvSetupDone = True
End If 'hwndLv zitiert aus:
http://vbnet.mvps.org/index.html?code/hooks/fileopensavedlghookadvtext.htm | |
Re: CommonDialog subclassen | | | Autor: christoph12 | Datum: 24.07.05 18:56 |
| Hallo,
Das SysHeader32 control schickt keine Nachrichten an den Common Dialog, wenn
ich auf eine Sortier-Spalte klicke. Was soll ich wem sagen, dass er's tun soll und wie?
Gruss
Christoph | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|