Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2008, 22:09   #1
Droid
Форумчанин
 
Аватар для Droid
 
Регистрация: 24.04.2008
Сообщений: 440
По умолчанию Окно с кнопками ппц полный

Мне надо создать окно на котором будет кнопка по нажатию на эту кнопку открывается вторая форма, после чего на 2-й форме есть кнопка по нажатию на нее открывается 1 форма 2 закрывается.
Как это реализовать если я Win32 Project не знаю вообще ( а задали такое задание. Только консольный си могу понять а этот вообще не шарю и где литературу взять тоже не в курсе(
1 старый программист, лучше новых 2-х
Droid вне форума Ответить с цитированием
Старый 30.10.2008, 07:29   #2
AngelOfDeath
Delphi/C++/Asm
Форумчанин Подтвердите свой е-майл
 
Аватар для AngelOfDeath
 
Регистрация: 28.03.2008
Сообщений: 358
По умолчанию

Вот готовый код (минут 10делал ):
window.h:
Код:
HWND mainwindow;
HWND window2;
HWND button1;
HWND button2;
1.cpp:
Код:
#include <windows.h>
#include "Window.h";

char Class[]="Windows приложение";

LRESULT CALLBACK WinProc(HWND, UINT, WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevIntanve, LPSTR lpCmdLine,int nShowCmd)
{
	WNDCLASSEX winClass;
	MSG message;
	winClass.cbSize=sizeof(WNDCLASSEX);
	winClass.cbClsExtra=0;
	winClass.cbWndExtra=0;
	winClass.lpfnWndProc=WinProc;
	winClass.hbrBackground=(HBRUSH)(COLOR_BTNFACE+1);
	winClass.hCursor=LoadCursor(0,IDI_APPLICATION);
	winClass.hIcon=LoadIcon(0,IDC_ARROW);
	winClass.hIconSm=NULL;
	winClass.hInstance=hInstance;
	winClass.lpszClassName=Class;
	winClass.lpszMenuName=NULL;
	winClass.style=CS_VREDRAW|CS_HREDRAW;
	if (!RegisterClassEx(&winClass))
	{
		PostQuitMessage(0);
	}
	mainwindow=CreateWindowEx(0,Class,"Основное окно",
		WS_OVERLAPPEDWINDOW,0,0,500,500,0,0,hInstance,NULL);
	window2=CreateWindowEx(0,Class,"Дополнительно окно",
		WS_OVERLAPPEDWINDOW,300,300,500,500,0,0,hInstance,NULL);

	button1=CreateWindowEx(0,"button","Показать окно 2",
		WS_CHILD|WS_VISIBLE,10,10,200,20,mainwindow,
		NULL,hInstance,NULL);
	button2=CreateWindowEx(0,"button","Показать окно 1",
		WS_CHILD|WS_VISIBLE,10,10,200,20,window2,
	NULL,hInstance,NULL);

	ShowWindow(mainwindow,nShowCmd);
	UpdateWindow(mainwindow);
	while (GetMessage(&message,NULL,0,0))
	{
		TranslateMessage(&message);
		DispatchMessage(&message);
	}
	return (int) message.wParam;

}

LRESULT CALLBACK WinProc(HWND hwnd, UINT msg, WPARAM wParam,LPARAM lParam)
{
	switch (msg)
	{
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	case WM_COMMAND:
		if (lParam==LPARAM(button1))
		{
			ShowWindow(window2,SW_SHOW);
			UpdateWindow(window2);
			ShowWindow(mainwindow,SW_HIDE);
		}

		if (lParam==LPARAM(button2))
		{
			ShowWindow(mainwindow,SW_SHOWDEFAULT);
			UpdateWindow(mainwindow);
			ShowWindow(window2,SW_HIDE);
		}


	default:
		return DefWindowProc(hwnd,msg,wParam,lParam);
	}
}
Надеюсь помог


PS. Ужасно затупил на обработке сообщений

Последний раз редактировалось AngelOfDeath; 30.10.2008 в 07:41.
AngelOfDeath вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с кнопками blackstersl Общие вопросы Delphi 3 12.10.2008 14:31
Messagedlg с тремя кнопками Detka Общие вопросы Delphi 8 10.07.2008 23:16
работа с кнопками на delphi alexs2141 Общие вопросы Delphi 1 03.06.2008 21:41
Управление кнопками со стрелками eks-s Общие вопросы Delphi 6 19.01.2008 02:23
«Окно+символ». Создать класс, представляющий окно в текстовом режиме. RustreX Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2007 19:28