Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Win32 SDK-Grundlagen (7) Fallstudie zum Erstellen eines untergeordneten Fensters eines Fensters

Win32 SDK-Grundlagen (7) Fallstudie zum Erstellen eines untergeordneten Fensters eines Fensters

黄舟
黄舟Original
2017-06-06 09:47:034580Durchsuche

Was ist ein untergeordnetes Fenster? Wenn wir auf eine bestimmte -Schaltfläche eines Windows-Fensters klicken, z. B. auf die Schaltfläche „Schließen“ des Fensters, wird häufig ein Fenster geöffnet, in dem relevante Informationen angezeigt werden. Ein Popup-Fenster wie dieses ist ein Unterfenster des Hauptfensters. Wenn wir ein untergeordnetes Fenster erstellen, verwenden wir auch CreateWindow oder CreateWindowEx API.
Werfen wir einen Blick auf den Prototyp der Funktion von CreateWindow:

HWND WINAPI CreateWindow(
_In_opt_ LPCTSTR lpClassName,
_In_opt_ LPCTSTR lpWindowName,
_In_ DWORD dwStyle,
_In_ int x,
_In_ int y,
_In_ int nWidth,
_In_ int nHeight,
_In_opt_ HWND hWndParent,
_In_opt_ HMENU hMenu,
_In_opt_ HINSTANCE hInstance,
_In_opt_ LPVOID lpParam
);

Hier stellen wir nur den dritten Parameter dwStyle vor, der den Stil des Fensters festlegt. Als wir das erste Windows-Fenster in dieser Spalte erstellt haben, haben wir den Wert auf WS_OVERLAPPEDWINDOW gesetzt. Diese Einstellung bedeutet, dass sich Fenster überlappen dürfen. Wir möchten ein untergeordnetes Fenster erstellen, was auch durch Festlegen des WS_CHILD-Stils des Fensters erreicht wird. Wenn Sie ein untergeordnetes Fenster anzeigen müssen, müssen Sie auch den Stil WS_VISIBLE hinzufügen. Wenn Sie das Unterfenster als Popup anzeigen möchten (ähnlich einem Bestätigungsdialogfeld beim Schließen), müssen Sie den WS_POPUP-Stil hinzufügen.
Wir befinden uns über dem Code des Erstellungsfensters in dieser Spalte und fügen der Hauptfunktion den folgenden Code hinzu:

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nCmdShow)
{
// TODO: Place code here.

g_hInstance = hInstance;
BOOL nRet = Register("Main", WndProc);
if (!nRet)
{
MessageBox(NULL, "注册失败", "Infor", MB_OK);
return 0;
}
HWND hWnd = CreateMain("Main", "window");

CreateWindow("Main", "子窗口",
WS_OVERLAPPEDWINDOW|WS_CHILD|WS_VISIBLE|WS_POPUP, CW_USEDEFAULT, CW_USEDEFAULT, 400, 200,
hWnd, NULL, g_hInstance, NULL);


Display(hWnd);
Message();
return 0;
}

Beachten Sie den 16. Code, das heißt, wir verwenden das Createwindow-Programm. Die Wirkung ist wie folgt:


Das obige ist der detaillierte Inhalt vonWin32 SDK-Grundlagen (7) Fallstudie zum Erstellen eines untergeordneten Fensters eines Fensters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn