Freigeben über


FINDREPLACEW-Struktur (commdlg.h)

Enthält Informationen, die die Funktionen FindText und ReplaceText verwenden, um die Dialogfelder Suchen und Ersetzen zu initialisieren. Die registrierte FINDMSGSTRING-Nachricht verwendet diese Struktur, um die Such- oder Ersatzeingabe des Benutzers an das Besitzerfenster eines Dialogfelds Suchen oder Ersetzen zu übergeben.

Syntax

typedef struct tagFINDREPLACEW {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HINSTANCE    hInstance;
  DWORD        Flags;
  LPWSTR       lpstrFindWhat;
  LPWSTR       lpstrReplaceWith;
  WORD         wFindWhatLen;
  WORD         wReplaceWithLen;
  LPARAM       lCustData;
  LPFRHOOKPROC lpfnHook;
  LPCWSTR      lpTemplateName;
} FINDREPLACEW, *LPFINDREPLACEW;

Member

lStructSize

Art: DWORD

Die Länge der Struktur in Bytes.

hwndOwner

Typ: HWND

Ein Handle für das Fenster, das das Dialogfeld besitzt. Die Fensterprozedur des angegebenen Fensters empfängt FINDMSGSTRING-Nachrichten aus dem Dialogfeld. Dieser Member kann ein beliebiges gültiges Fensterhandle sein, darf aber nicht NULL sein.

hInstance

Typ: HINSTANCE

Wenn das flag FR_ENABLETEMPLATEHANDLE in den Flags festgelegt ist, ist hInstance ein Handle für ein Speicherobjekt, das eine Dialogfeldvorlage enthält. Wenn das flag FR_ENABLETEMPLATE festgelegt ist, ist hInstance ein Handle für ein Modul, das eine Dialogfeldvorlage mit dem Namen des lpTemplateName-Members enthält. Wenn keines der beiden Flags festgelegt ist, wird dieses Element ignoriert.

Flags

Art: DWORD

Eine Reihe von Bitflags, die Sie zum Initialisieren des Dialogfelds verwenden können. Das Dialogfeld legt diese Flags fest, wenn es die registrierte FINDMSGSTRING-Nachricht sendet, um die Eingabe des Benutzers anzugeben. Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln.

Wert Bedeutung
FR_DIALOGTERM
0x00000040
Wenn in einer FINDMSGSTRING-Meldung festgelegt, wird angegeben, dass das Dialogfeld geschlossen wird. Wenn Sie eine Nachricht mit diesem Flag erhalten, ist das von der Funktion FindText oder ReplaceText zurückgegebene Dialogfeldhandle nicht mehr gültig.
FR_DOWN
0x00000001
Wenn festgelegt, ist die Schaltfläche Nach unten der Optionsfelder Richtung in einem Dialogfeld Suchen aktiviert, was angibt, dass Sie von der aktuellen Position bis zum Ende des Dokuments suchen sollten. Wenn sie nicht festgelegt ist, ist die Schaltfläche Nach oben ausgewählt, sodass Sie zum Anfang des Dokuments suchen sollten. Sie können dieses Flag festlegen, um das Dialogfeld zu initialisieren. Wenn in einer FINDMSGSTRING-Nachricht festgelegt, gibt die Auswahl des Benutzers an.
FR_ENABLEHOOK
0x00000100
Aktiviert die Hookfunktion, die im lpfnHook-Element angegeben ist. Dieses Flag wird nur verwendet, um das Dialogfeld zu initialisieren.
FR_ENABLETEMPLATE
0x00000200
Gibt an, dass die Mitglieder hInstance und lpTemplateName eine Dialogfeldvorlage angeben, die anstelle der Standardvorlage verwendet werden soll. Dieses Flag wird nur verwendet, um das Dialogfeld zu initialisieren.
FR_ENABLETEMPLATEHANDLE
0x00002000
Gibt an, dass das hInstance-Element einen Datenblock identifiziert, der eine vorab geladene Dialogfeldvorlage enthält. Das System ignoriert den lpTemplateName-Member , wenn dieses Flag angegeben ist.
FR_FINDNEXT
0x00000008
Wenn in einer FINDMSGSTRING-Meldung festgelegt, gibt an, dass der Benutzer in einem Dialogfeld Suchen oder Ersetzen auf die Schaltfläche Weiter suchen geklickt hat. Das lpstrFindWhat-Element gibt die Zeichenfolge an, nach der gesucht werden soll.
FR_HIDEUPDOWN
0x00004000
Wenn beim Initialisieren eines Suchdialogfelds festgelegt, werden die Optionsfelder für die Suchrichtung ausgeblendet.
FR_HIDEMATCHCASE
0x00008000
Wenn beim Initialisieren eines Dialogfelds Suchen oder Ersetzen festgelegt ist, wird das Kontrollkästchen Groß-/Kleinschreibung abgleichen ausgeblendet.
FR_HIDEWHOLEWORD
0x00010000
Wenn beim Initialisieren eines Dialogfelds Suchen oder Ersetzen festgelegt ist, wird das Kontrollkästchen Ganze Word Nur übereinstimmen ausgeblendet.
FR_MATCHCASE
0x00000004
Wenn festgelegt, ist das Kontrollkästchen Groß-/Kleinschreibung übereinstimmen aktiviert, das angibt, dass bei der Suche die Groß-/Kleinschreibung beachtet werden soll. Wenn nicht festgelegt, wird das Kontrollkästchen deaktiviert, sodass bei der Suche die Groß-/Kleinschreibung nicht beachtet werden sollte. Sie können dieses Flag festlegen, um das Dialogfeld zu initialisieren. Wenn in einer FINDMSGSTRING-Nachricht festgelegt, gibt die Auswahl des Benutzers an.
FR_NOMATCHCASE
0x00000800
Wenn beim Initialisieren eines Dialogfelds Suchen oder Ersetzen festgelegt ist, deaktiviert das Kontrollkästchen Groß-/Kleinschreibung übereinstimmen .
FR_NOUPDOWN
0x00000400
Wenn beim Initialisieren eines Suchdialogfelds festgelegt, werden die Optionsfelder für die Suchrichtung deaktiviert.
FR_NOWHOLEWORD
0x00001000
Wenn beim Initialisieren eines Dialogfelds Suchen oder Ersetzen festgelegt wird, deaktiviert das Kontrollkästchen Ganze Word.
FR_REPLACE
0x00000010
Wenn in einer FINDMSGSTRING-Meldung festgelegt, wird angegeben, dass der Benutzer in einem Dialogfeld Ersetzen auf die Schaltfläche Ersetzen geklickt hat. Das lpstrFindWhat-Element gibt die zu ersetzende Zeichenfolge an, und der lpstrReplaceWith-Member gibt die Ersetzungszeichenfolge an.
FR_REPLACEALL
0x00000020
Wenn in einer FINDMSGSTRING-Meldung festgelegt, gibt an, dass der Benutzer in einem Dialogfeld Ersetzen auf die Schaltfläche Alle ersetzen geklickt hat. Das lpstrFindWhat-Element gibt die zu ersetzende Zeichenfolge an, und der lpstrReplaceWith-Member gibt die Ersetzungszeichenfolge an.
FR_SHOWHELP
0x00000080
Bewirkt, dass das Dialogfeld die Schaltfläche Hilfe anzeigt. Das hwndOwner-Element muss das Fenster angeben, in dem die registrierten HELPMSGSTRING-Nachrichten empfangen werden, die das Dialogfeld sendet, wenn der Benutzer auf die Schaltfläche Hilfe klickt.
FR_WHOLEWORD
0x00000002
Wenn festgelegt, ist das Kontrollkästchen Ganze Word Nur übereinstimmen aktiviert, das angibt, dass Sie nur nach ganzen Wörtern suchen sollten, die der Suchzeichenfolge entsprechen. Wenn nicht festgelegt, ist das Kontrollkästchen deaktiviert, sodass Sie auch nach Wortfragmenten suchen sollten, die der Suchzeichenfolge entsprechen. Sie können dieses Flag festlegen, um das Dialogfeld zu initialisieren. Wenn in einer FINDMSGSTRING-Nachricht festgelegt, gibt die Auswahl des Benutzers an.

lpstrFindWhat

Typ: LPTSTR

Die Suchzeichenfolge, die der Benutzer im Bearbeitungssteuerelement Suchen was eingegeben hat. Sie müssen den Puffer dynamisch zuordnen oder ein globales oder statisches Array verwenden, damit es nicht aus dem Bereich ausgeht, bevor das Dialogfeld geschlossen wird. Der Puffer sollte mindestens 80 Zeichen lang sein. Wenn der Puffer beim Initialisieren des Dialogfelds eine Zeichenfolge enthält, wird die Zeichenfolge im Steuerelement Suchen, was bearbeiten angezeigt. Wenn eine FINDMSGSTRING-Nachricht das flag FR_FINDNEXT angibt, enthält lpstrFindWhat die zu suchende Zeichenfolge. Die Flags FR_DOWN, FR_WHOLEWORD und FR_MATCHCASE geben die Richtung und den Typ der Suche an. Wenn eine FINDMSGSTRING-Nachricht die FR_REPLACE - oder FR_REPLACE-Flags angibt, enthält lpstrFindWhat die zu ersetzende Zeichenfolge.

lpstrReplaceWith

Typ: LPTSTR

Die Ersetzungszeichenfolge, die der Benutzer im Steuerelement Ersetzen durch bearbeiten eingegeben hat. Sie müssen den Puffer dynamisch zuordnen oder ein globales oder statisches Array verwenden, damit es nicht aus dem Bereich ausgeht, bevor das Dialogfeld geschlossen wird. Wenn der Puffer beim Initialisieren des Dialogfelds eine Zeichenfolge enthält, wird die Zeichenfolge im Steuerelement Ersetzen mit angezeigt.

Wenn eine FINDMSGSTRING-Nachricht das FR_REPLACE - oder FR_REPLACEALL-Flags angibt, enthält lpstrReplaceWith die Ersatzzeichenfolge .

Die FindText-Funktion ignoriert diesen Member.

wFindWhatLen

Typ: WORD

Die Länge des Puffers in Bytes, auf den das lpstrFindWhat-Element verweist.

wReplaceWithLen

Typ: WORD

Die Länge des Puffers in Bytes, auf den das element lpstrReplaceWith verweist.

lCustData

Typ: LPARAM

Anwendungsdefinierte Daten, die das System an die Hookprozedur übergibt, die vom lpfnHook-Element identifiziert wird. Wenn das System die WM_INITDIALOG Nachricht an die Hookprozedur sendet, ist der lParam-Parameter der Nachricht ein Zeiger auf die FINDREPLACE-Struktur , die beim Erstellen des Dialogfelds angegeben wurde. Die Hookprozedur kann diesen Zeiger verwenden, um den Wert lCustData abzurufen.

lpfnHook

Typ: LPFRHOOKPROC

Ein Zeiger auf eine FRHookProc-Hookprozedur , die nachrichten verarbeiten kann, die für das Dialogfeld vorgesehen sind. Dieses Element wird ignoriert, es sei denn, das FR_ENABLEHOOK-Flag ist im Flags-Element festgelegt. Wenn die Hookprozedur false als Antwort auf die WM_INITDIALOG-Meldung zurückgibt, muss die Hookprozedur das Dialogfeld anzeigen, andernfalls wird das Dialogfeld nicht angezeigt. Führen Sie dazu zunächst alle anderen Malvorgänge aus, und rufen Sie dann die Funktionen ShowWindow und UpdateWindow auf.

lpTemplateName

Typ: LPCTSTR

Der Name der Dialogfeldvorlagenressource in dem Modul, das vom hInstance-Member identifiziert wird. Diese Vorlage wird durch die Standarddialogfeldvorlage ersetzt. Für nummerierte Dialogfeldressourcen kann dies ein Wert sein, der vom MAKEINTRESOURCE-Makro zurückgegeben wird. Dieses Element wird ignoriert, es sei denn, das FR_ENABLETEMPLATE-Flag ist im Flags-Element festgelegt.

Hinweise

Hinweis

Der commdlg.h-Header definiert FINDREPLACE als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile commdlg.h (einschließlich Windows.h)

Weitere Informationen

Allgemeine Dialogfeldbibliothek

Konzept

FRHookProc

Findtext

MAKEINTRESOURCE

Referenz

ReplaceText

Showwindow

WM_INITDIALOG