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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2012, 19:17   #1
Neketek
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 26
По умолчанию Не хочет отображаться кнопка !!!

Код:
#include <windows.h>
#include "mmsystem.h"



char name[] = "В";
HWND hwnd   = 0;
MSG msg;
HINSTANCE hinstance = 0;
LRESULT CALLBACK proc(HWND, UINT, WPARAM, LPARAM);



int WINAPI WinMain(HINSTANCE hinst, HINSTANCE phinst, PSTR szCmdLine, int iCmdShow)
{
	hinstance = hinst;
WNDCLASSEX wc;// структура описания окна
////////////////////////////////////////////////////////////
wc.cbClsExtra    = NULL;
wc.cbWndExtra    = NULL;
wc.lpszMenuName  = NULL;
wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);
wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
wc.hInstance     = hinst;
wc.lpszClassName = name;
wc.lpfnWndProc   = proc;
wc.style         = CS_HREDRAW|CS_VREDRAW;
wc.cbSize        = sizeof(WNDCLASSEX);
///////////////регистрация класса окна и вывод сообщения об ошибке
if (!(RegisterClassEx(&wc)))
{
	MessageBox(NULL,"Ошибка регистрации класса","Processing problem", MB_OK);
}
///////////////создание окна и вывод сообщения об ошибке
hwnd   = CreateWindow( name, // имя окна
					"Моя первая визуальная программа", // видимое имя 
                     WS_OVERLAPPEDWINDOW,
					 CW_USEDEFAULT,           // initial x position
                     CW_USEDEFAULT,           // initial y position
                     300,           // initial x size
                     500,           // initial y size
					 NULL,
					 NULL,
					 NULL,
					 NULL);


HWND hwndb = CreateWindow( "BOB",  // имя окна
					"121321",      // видимое имя 
                     WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
					 10,           // initial x position
                     10,           // initial y position
                     20,           // initial x size
                     20,           // initial y size
					 hwnd,
					 (HMENU)1000,
					 hinst,
					 NULL);

if (hwnd == 0)
{
	MessageBox(NULL,"Ошибка создания окна", "Problem",MB_OK);
}

ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,NULL,NULL))
{
          TranslateMessage (&msg) ;
          DispatchMessage (&msg);
}
return msg.wParam;
}

///оконная процедура 
LRESULT CALLBACK proc(HWND hwnd, UINT msg, WPARAM wpar, LPARAM lpar)
{
	 HDC         hdc ;
     PAINTSTRUCT ps  ;
     RECT        rect;
    

	switch (msg)
	{
	    case WM_PAINT:
		WinExec("c:\\windows\\calc.exe",SW_SHOW);	    
		hdc = BeginPaint(hwnd, &ps);
		GetClientRect(hwnd, &rect);
		DrawText(hdc,"Настя ЭТО все для тебя !!!Только для тебя!!! Вообще лишь для тебя одной!!!",-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
		DrawText(hdc,"Если тебе хорошо, нажми З , если плохо, - Х ",-1,&rect,DT_SINGLELINE|DT_CENTER);;
		EndPaint(hwnd,&ps);
		break;

	 
	}

	return DefWindowProc(hwnd,msg,wpar,lpar);
}
окно появляется но не работает ,как кнопка в чем причина?
Neketek вне форума Ответить с цитированием
Старый 07.05.2012, 20:10   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

что за класс окна BOB?
и нафига вы калькулятор вызываете каждый раз при перерисовке окна?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.05.2012, 22:31   #3
Neketek
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 26
По умолчанию

Это не важно, вопрос был в том что неправильно с функцией создания кнопки?
Neketek вне форума Ответить с цитированием
Старый 07.05.2012, 22:32   #4
Neketek
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 26
По умолчанию

калькулятор это обычная проверка функции , которую я забыл выкинуть из листинга.
Neketek вне форума Ответить с цитированием
Старый 07.05.2012, 23:10   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

с тем что нет класса BOB.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сайт перестал отображаться Nikirinka HTML и CSS 2 07.11.2011 13:47
Заставить иконку в трее постоянно отображаться kangreon Общие вопросы Delphi 5 12.09.2011 07:58
Как заставить это отображаться одинаково в IE6 и нормальных браузерах? Obey-Kun HTML и CSS 8 21.12.2010 15:09
в коммоненте LISTBOX должны отображаться MP3 файлы blackstersl Общие вопросы Delphi 6 26.08.2008 16:31