Składnia
#include <windows.h>
BOOL ShowWindow(
HWND hWnd,
int nCmdShow
);
Argumenty
Zwracana wartość
Zwraca wartość typu
BOOL.
Jeśli okno było wcześniej widoczne zwraca wartość różną od zera.
Jeśli okno było wcześniej ukryte, zwraca wartość zero.
Opis szczegółowy
Funkcja ustawia określony stan widoczności wskazanego okna.
Aby wykonać niektóre efekty specjalne podczas wyświetlania/ukrywania okna, użyj funkcji
AnimateWindow.
Gdy aplikacja po raz pierwszy wywołuje
ShowWindow, należy użyć argumentu nCmdShow funkcji
WinMain jako argument nCmdShow funkcji
ShowWindow. Kolejne wywołanie
ShowWindow musi używać jedną z wartości podaną w liście, zamiast argumentu nCmdShow funkcji
WinMain.
Jak zauważono podczas dyskusji na temat argumentu nCmdShow, wartość nCmdShow jest ignorowana podczas pierwszego wywołania funkcji
ShowWindow jeśli program który uruchomił aplikację określa informację startową w strukturze. W tym przypadku,
ShowWindow używa informacji określonych w strukturze do wyświetlenia okna
STARTUPINFO. W czasie kolejnych wywołań aplikacja musi wywołać
ShowWindow z argumentem nCmdShow ustawionym na SW_SHOWDEFAULT do korzystania z informacji początkowych dostarczonych przez program który uruchomił aplikację. Takie zachowanie jest przeznaczone dla następujących sytuacji :
Wymagania
Przykład
#include <windows.h>
LRESULT CALLBACK WindowProcedure( HWND, UINT, WPARAM, LPARAM );
char szClassName[] = "WindowsApp";
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstnace, LPSTR lpCmdLine, int nCmdShow )
{
HWND hwnd;
MSG messages;
WNDCLASSEX wincl;
wincl.hInstance = hInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof( WNDCLASSEX );
wincl.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wincl.hIconSm = LoadIcon( NULL, IDI_APPLICATION );
wincl.hCursor = LoadCursor( NULL, IDC_ARROW );
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground =( HBRUSH ) COLOR_BACKGROUND;
if( !RegisterClassEx( & wincl ) )
return 0;
hwnd = CreateWindowEx( 0, szClassName, "Windows App", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 544, 375, HWND_DESKTOP, NULL, hInstance, NULL );
ShowWindow( hwnd, SW_SHOWMAXIMIZED );
while( GetMessage( & messages, NULL, 0, 0 ) )
{
TranslateMessage( & messages );
DispatchMessage( & messages );
}
return messages.wParam;
}
LRESULT CALLBACK WindowProcedure( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_DESTROY:
PostQuitMessage( 0 );
break;
default:
return DefWindowProc( hwnd, message, wParam, lParam );
}
return 0;
}
Linki zewnętrzne