Fenêtre avec ou sans bouton

Description

Suite à une question dans le forum, une petite source toute simple et sans prétention pour afficher une fenêtre avec ou sans bouton. Il s'agit de la même fenêtre à chaque fois, pas de deux fenêtre différentes.

Source / Exemple :


#include <windows.h>
#include "resource.h"

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);
BOOL CALLBACK mainWindow(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK fenetre2(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
BOOL ShowMyButton;
HINSTANCE hInst;
HWND hCtrl;

BOOL CALLBACK mainWindow(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
		
	switch(message) {
		case WM_INITDIALOG:
				return TRUE;
	
		case WM_COMMAND:
			switch(wParam) {

				case IDC_CLOSE:
				DestroyWindow(hWnd);
					return TRUE;

				case IDC_EXECUTE:
					
					if(SendMessage(GetDlgItem(hWnd,IDC_RADIO1),BM_GETCHECK,0,0) == BST_CHECKED)
						ShowMyButton= TRUE;
					if(SendMessage(GetDlgItem(hWnd,IDC_RADIO2),BM_GETCHECK,0,0) == BST_CHECKED)
						ShowMyButton= FALSE;

					return (int)DialogBox(hInst,MAKEINTRESOURCE(IDD_FENETRE2),NULL,fenetre2);

				default:
					return FALSE;
			}
	}

	return FALSE;
}

BOOL CALLBACK fenetre2(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){

	switch(message) {
	case WM_INITDIALOG:

		if(ShowMyButton){
			hCtrl = GetDlgItem(hWnd, IDC_BOUTON_A_AFFICHER);
			ShowWindow(hCtrl, SW_SHOW);}
			return TRUE;

	case WM_COMMAND:
		switch(wParam) {

			case IDC_CLOSE:
			DestroyWindow(hWnd);
				return TRUE;
		}
	}
	return FALSE;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	return (int)DialogBox(hInstance,MAKEINTRESOURCE(FORM_MAIN),NULL,mainWindow);
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.