Remover Elementos da Tela C++ Win32

Boa Tarde !

Estou desenvolvendo uma aplicação em C++ Win32, com interface grafica, e eu fiz uma tela de login, onde tem dois campos pra digitar o código e senha e um botão para logar. Quando eu clicar nesse botão de logar, eu queria apagar todos os elementos que estão na tela e criar outros…

estou criando desse jeito :

case WM_PAINT:
		hdc = BeginPaint(hWnd, &ps);

		//Label de Login e senha e seus respectivos campos de texto
		codigoLabel = CreateWindow(
			"STATIC", "Código:",
			WS_VISIBLE | WS_CHILD,
			72, 157, 45, 16.5,
			hWnd, NULL, NULL, NULL);
		SendMessage(codigoLabel, WM_SETFONT, WPARAM(hFont), TRUE);

		codigoTextBox = CreateWindowEx(WS_EX_PALETTEWINDOW,
			TEXT("Edit"),
			NULL,
			WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT,
			72, 180, 200, 26,
			hWnd, NULL, NULL, NULL);
		SendMessage(codigoTextBox, WM_SETFONT, WPARAM(hFont), TRUE);

		senhaLabel = CreateWindow(
			"STATIC", "Senha:",
			WS_VISIBLE | WS_CHILD,
			72, 210, 42, 16.5,
			hWnd, NULL, NULL, NULL);
		SendMessage(senhaLabel, WM_SETFONT, WPARAM(hFont), TRUE);

		senhaTextBox = CreateWindowEx(WS_EX_PALETTEWINDOW,
			TEXT("Edit"),
			NULL,
			WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_PASSWORD,
			72, 233, 200, 26,
			hWnd, NULL, NULL, NULL);
		SendMessage(senhaLabel, WM_SETFONT, WPARAM(hFont), TRUE);


		//Botão para registrar
		btnRegistrar = CreateWindow("BUTTON",
			"Logar",
			WS_VISIBLE | WS_CHILD | WS_BORDER,
			120, 270, 100, 20,
			hWnd, (HMENU)1, NULL, NULL);
		SendMessage(btnRegistrar, WM_SETFONT, WPARAM(hFont), TRUE);

		

		EndPaint(hWnd, &ps);

		break;

Eu consegui colocar a ação no botão, queria que qando eu clicasse nele eu gostaria de remover esses elementos e criar uma lista…
Estou fazendo assim

DestroyWindow(btnRegistrar);
...

Mas quando eu removo desse jeito a telinha do programa começa a bugar inteira, fica piscando…

Estou pesquisando como faço isso, mas até agora não achei a solução…
Se alguém puder dar uma dica ficaria muito grato!

Muito obrigado!
At

UpdateWindow();