Win32 SDK Basics (7) Étude de cas sur la création d'une fenêtre enfant d'une fenêtre

黄舟
Libérer: 2017-06-06 09:47:03
original
4573 Les gens l'ont consulté

Qu'est-ce qu'une fenêtre enfant ? Lorsque nous cliquons sur un certain bouton d'une fenêtre Windows, par exemple en cliquant sur le bouton de fermeture de la fenêtre, une fenêtre apparaîtra souvent pour demander des informations pertinentes. Une fenêtre contextuelle comme celle-ci est une sous-fenêtre. de la fenêtre principale. Lorsque nous créons une fenêtre enfant, nous utilisons également CreateWindow ou CreateWindowEx API.
Jetons un coup d'œil au prototype de la fonction de 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
);
Copier après la connexion

Ici, nous introduisons uniquement le troisième paramètre dwStyle, qui définit le style de la fenêtre. Lorsque nous avons créé la première fenêtre Windows dans cette colonne, nous avons défini la valeur sur WS_OVERLAPPEDWINDOW. Ce paramètre signifie que les fenêtres peuvent se chevaucher. Nous souhaitons créer une fenêtre enfant, ce qui est également réalisé en définissant le style WS_CHILD de la fenêtre. Si vous devez afficher une fenêtre enfant, vous devez également ajouter le style WS_VISIBLE. Si vous souhaitez afficher la sous-fenêtre de manière pop-up (similaire à une boîte de dialogue de confirmation de fermeture), vous devez ajouter le style WS_POPUP.
Nous sommes au dessus du code de la fenêtre de création dans cette colonne, en ajoutant le code suivant à la fonction principale :

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;
}
Copier après la connexion

Notez le 16ème code, c'est-à-dire que nous utilisons le programme Createwindow, l'effet est le suivant :


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!