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

Графический интерфейс для приложения c++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить класс «Строка» – String длины n. Написать несколько конструкторов, в том числе конструктор копирова http://www.cyberforum.ru/cpp-beginners/thread1303436.html
Определить класс «Строка» – String длины n. Написать несколько конструкторов, в том числе конструктор копирования. Реализовать методы для выполнения конкатенации строк, извлечения символа из заданной позиции, сравнения строк. Перегрузить операции сложения, индексирования, отношения, добавления , присваивания для данного класса. Создать массив объектов и передать его в функцию, которая выполняет...
C++ Сумма определенных членов последовательности Даны натуральное n, целые числа a1, ... , an. Необходимо получить сумму тех членов последовательности a1, ... , an, которые кратны 5 Без использования массива:) Заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread1303435.html
Определить класс «Квадратная матрица» – Matrix. Класс должен содержать несколько конструкторов, в том числе ко C++
Определить класс «Квадратная матрица» – Matrix. Класс должен содержать несколько конструкторов, в том числе конструктор копирования. Реализовать методы для сложения, вычитания, умножения матриц; вычисления нормы матрицы. Перегрузить операции сложения, вычитания, умножения и присваивания для данного класса. Создать массив объектов класса Matrix и передать его в функцию, которая изменяет -ю...
C++ Найти произведение элементов главной диагонали и обменять на минимальный элемент третьей троки
б) Дана матрица А(4,4), задать из файла. Найти произведение элементов среди элементов расположенных на главной диагонали матрицы А. Найти минимальный элемент в 3-ей строке матрицы. Поменять местами найденный минимальный элемент и значение P. Пы. Сы: ребят, очень прошу, не используйте сложные операторы)
C++ Создать массив объектов http://www.cyberforum.ru/cpp-beginners/thread1303427.html
Patient: Фамилия, Имя, Отчество, Адрес, Номер медицинской карты, Диагноз. Создать массив объектов. Вывести: а) список пациентов, имеющих данный диагноз; б) список пациентов, номер медицинской карты которых нахо-дится в заданном интервале.
C++ Простейшие классы и объекты Book: Автор, Название, Издательство, Год, Количество страниц. Создать массив объектов. Вывести: а) список книг заданного автора; б) список книг, выпущенных заданным издательством; в) список книг, выпущенных после заданного года. подробнее

Показать сообщение отдельно
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
17.11.2014, 22:44     Графический интерфейс для приложения c++
А я так сделаю (фиксированный массив вместо указателя на символ)
C++
#include <windows.h>
 
 
MSG             msg;
HWND            hwnd, edit1, edit2, button;
char            buff[1024];
bool            quit = false;
 
 
LRESULT CALLBACK MsgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message) {
        case WM_QUIT:       PostQuitMessage(0); break;
        case WM_CLOSE:      PostQuitMessage(0); break;
        case WM_DESTROY:    PostQuitMessage(0); break;
        case WM_COMMAND:
            if (LOWORD(wParam)==777) {
                GetWindowText(edit1, buff, 1024);
                /* ЗДЕСЬ ВАША ФУНКЦИЯ ПРЕОБРАЗОВАНИЯ */
                SetWindowText(edit2, buff);
            }
    }
    return DefWindowProc (hWnd, message, wParam, lParam);
}
 
 
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow)
{
    WNDCLASSEX wincl;
    wincl.hInstance     = hInst;
    wincl.lpszClassName = "app";
    wincl.lpfnWndProc   = MsgProc;
    wincl.style         = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
    wincl.cbSize        = sizeof(WNDCLASSEX);
    wincl.hIcon         = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm       = NULL;
    wincl.hCursor       = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName  = NULL;
    wincl.cbClsExtra    = 0;
    wincl.cbWndExtra    = 0;
    wincl.hbrBackground = (HBRUSH)(1);
    RegisterClassEx(&wincl);
 
    hwnd = CreateWindowEx(WS_EX_APPWINDOW, "app", "...", WS_OVERLAPPEDWINDOW, 50, 50, 400, 400, HWND_DESKTOP, NULL, hInst, NULL);
    ShowWindow(hwnd, nCmdShow);
 
    edit1   = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("Edit"), TEXT(" "), WS_CHILD|WS_VISIBLE|WS_BORDER, 100, 20, 140, 25, hwnd, NULL, NULL, NULL);
    edit2   = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("Edit"), TEXT(" "), WS_CHILD|WS_VISIBLE|WS_BORDER, 100, 50, 140, 25, hwnd, NULL, NULL, NULL);
    button  = CreateWindow(TEXT("button"), TEXT("Кнопка"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 10, 10, 80, 30, hwnd, (HMENU)777, hInst, NULL);
 
    while ( !quit ) {
        if ( PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) ) {
            if ( msg.message == WM_QUIT )
                quit = true;
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        else {
            Sleep(1);
        }
    }
    return 0;
}
 
Текущее время: 07:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru