Форум программистов, компьютерный форум CyberForum.ru

Создание кнопки в Win32 Project - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сериализовать стек http://www.cyberforum.ru/cpp-beginners/thread572960.html
The serialization library contains code for serialization of all STL classes написано в документации по boost serialization. Но мне не удается его(стек) сериализовать. Да и заголовка такого нет. #include <boost/serialization/vector.hpp, deque, list, bitset, map> Что нужно подключать для этой цели? Пишет вот такое: error: 'class std::stack<step>' has no member named 'serialize' Причем сам...
C++ Длинная арифметика :senor: Здраствуйте, пишу модуль длинной математики. В принципе, работоспособность у него положительная. Но в силу моей неопытности меня мучают вопросы оптимизации. М.б. кто то сможет (или уже смог) реализовать более красивый код, чем мой.Собственно сначала ввод/вывод. /* Функция long_input не возвращает значения, а работает с сылочными параметрами. Эти параметры: ссылка на строку ввода и на... http://www.cyberforum.ru/cpp-beginners/thread572958.html
С использованием графического интерфейса и библиотеки MFC написать программу вычисления значения выражения при заданных исходных данных C++
Огромная просьба помочь! С использованием графического интерфейса и библиотеки MFC написать программу вычисления значения выражения при заданных исходных данных. Учесть область определения переменных, предусмотреть недопущение ввода недопустимых значений переменных. s=(Icos(x)-cos(y)I^(1+2(siny)^2))*(1+z+z^2/2+z^3/3+z^4/4). Спасибо заранее!
Графический Интерфейс C++
Добрый день, у кого-то есть программы которая выводит на экран анимированный треугольник или квадрат , используя GDI. Программа должна быть под windows.
C++ Написать програму в С++ http://www.cyberforum.ru/cpp-beginners/thread572922.html
Ввести матрицу размером NхМ. Память для массива выделить динамически, вывести на экран исходные данные и полученный результат. Задание: Определить сумму элементов, расположенных на главной диагонали матрицы, и произведение элементов, расположенных на побочной диагонали матрицы.
C++ Написать програму в С++ Ввести одномерный статический массив из k чисел. Вывести на экран ис-ходные данные и полученный результат в виде двух списков в диалоговом окне. Задание: Вывести все неповторяющиеся элементы массива. подробнее

Показать сообщение отдельно
Суслик
4 / 4 / 1
Регистрация: 13.05.2012
Сообщений: 10

Создание кнопки в Win32 Project - C++

13.05.2012, 15:11. Просмотров 5558. Ответов 5
Метки (Все метки)

Здравствуйте.

Проблема заключается в том, что компилируется все отлично, но кнопка в окне так и не появляется. Помогите пожалуйста найти ошибку. Написано, что кнопку можно создавать в двух местах: 1. в функции WinMain 2. В обработчике события WM_CREATE. И ни одной, ни другой, нету. Для создания кнопки использую CreateWindow. И все, больше ничего с ней не делаю. Может надо еще что нибудь?

Вот полный код программы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>
 
static TCHAR szWindowClass[] = _T("win32app");
static TCHAR szTitle[] = _T("Bike Shop");
 
HINSTANCE hInst;
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   int nCmdShow)
{
    static HWND hButton, hListBox, hComboBox;
    PAINTSTRUCT ps;
    HDC hdc;
    
    WNDCLASSEX wcex;
    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style          = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra     = 0;
    wcex.cbWndExtra     = 0;
    wcex.hInstance      = hInstance;
    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName   = NULL;
    wcex.lpszClassName  = szWindowClass;
    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
 
    if (!RegisterClassEx(&wcex))
    {
        MessageBox(NULL,
            _T("Call to RegisterClassEx failed!"),
            _T("Bike Shop"),
            NULL);
        return 1;
    }
 
    hInst = hInstance; 
    HWND hWnd = CreateWindow(
        szWindowClass,
        szTitle,
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT,
        1000, 800,
        NULL,
        NULL,
        hInstance,
        NULL
    );
 
     hButton = CreateWindow ((LPWSTR)"button", (LPWSTR)"Add", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,  50, 55, 200, 30, hWnd, (HMENU)101, hInst, 0);
    
    if (!hWnd)
    {
        MessageBox(NULL,
            _T("Call to CreateWindow failed!"),
            _T("Bike SHop"),
            NULL);
 
        return 1;
    }
 
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);
 
    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
 
    return (int) msg.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND hButton;
    PAINTSTRUCT ps;
    HDC hdc;
 
    switch (message)
    {
    case WM_CREATE:
        {
        hButton = CreateWindow ((LPWSTR)"button", (LPWSTR)"Add", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,  10, 5, 200, 30, hWnd, (HMENU)100, hInst, 0);
        }
        break;
    case WM_COMMAND:
        {switch (LOWORD(wParam))
        {
        case 100:
            {
                MessageBox (hWnd, (LPCWSTR)"Button", (LPCWSTR)"", 0);
            }
        }
        break;
    }
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
        break;
    }
    return 0;
}
Добавлено через 1 час 36 минут
Может нужно создать файл ресурсов и туда что то добавить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru