Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
1 / 1 / 0
Регистрация: 05.01.2012
Сообщений: 11
1

приложения типа windows form

05.01.2012, 16:52. Показов 3027. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
подскажите пожалуйта как создавать приложения windows form
p.s. я могу написать простенькое консольное приложение на с++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2012, 16:52
Ответы с готовыми решениями:

Нестабильная работа приложения Windows Form
Здравствуйте, раньше программировал на С++ только консольные программы, и недавно начал осваивать...

Переделать программу из консольного приложения в Windows Form
Помогите переделать программу из консольного приложения в Windows Form в Visual Studio 2008,...

Ошибка при создании приложения windows form на Windows 7
На windows 8 без проблем работал, решил поставить 7-ку и возникла ошибка . Читал что проблема...

С консольного приложения в Dll, Windows Form!
Задание такое: сделать массив для сохранения веса студентов группы из 20 человек. Заполнить массив...

8
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
05.01.2012, 16:57 2
Петзольд - программирование для Windows 95. Ну и вот его самый первый пример из книги
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
#include <windows.h>
#include "Mmsystem.h"
#pragma comment (lib, "Winmm")
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
//точка входа, hInstance описатель приложения, hPrevInstance - описатель предыдущего окна приложения
//szCmdLine - командная строка приложения, включает имя программы, iCmdShow - управление отображением окна
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    static char szAppName[]="HelloWin"; //имя приложения
    HWND hwnd; // описатель окна
    MSG msg; //объект структуры
    WNDCLASSEX wndclass; //объект структуры (окно)
 
    wndclass.cbSize=sizeof(wndclass); //размер нашего класса
    wndclass.style=CS_HREDRAW | CS_VREDRAW; //стиль отображения
    wndclass.lpfnWndProc=WndProc; //указатель на окно
    wndclass.cbClsExtra=0;//доп байты
    wndclass.cbWndExtra=0;//доп байты
    wndclass.hInstance=hInstance;//указатель на экземпляр содержащий процедуру окна класса
    wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
    wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
    wndclass.hbrBackground=(HBRUSH) GetStockObject(WHITE_BRUSH);//фон
    wndclass.lpszMenuName=NULL;// меню
    wndclass.lpszClassName=szAppName;//имя класса
    wndclass.hIconSm=LoadIcon(NULL, IDI_APPLICATION);//описатель для маленькой иконки асоциированной с классом
 
    RegisterClassEx(&wndclass); //зарегистрировать класс окна
 
    hwnd= CreateWindow( //создать окно
        szAppName, //имя класса окно (связывает класс и создание окна)
        "The Hello Program", //заголовок окна
        WS_OVERLAPPEDWINDOW, //стиль окна (тип DWORD)
        CW_USEDEFAULT, // позиция по x
        CW_USEDEFAULT, // позиция по y
        CW_USEDEFAULT, // размер по x
        CW_USEDEFAULT, // размер по y
        NULL, // окно-родитель
        NULL, // описатель меню (NULL - ничего не делать)
        hInstance, // указатель на описатель для асоциации с окном
        NULL);//указатель на значение нужное для создания структуры...
 
    //показать окно
    ShowWindow(hwnd, iCmdShow);// hwnd - описатель окна, iCmdShow (int) - тип отображения
    UpdateWindow(hwnd); //обновить окно
 
    //приём сообщений функцией
    //msg - указатель на структуру MSG, которая принимает сообщения из очереди
    //NULL - указатель на окно с которого надо принимать сообщения, если NULL то приём со всех окон
    //0 - значение кода наименьшего сообщения что нужно принимать
    //0 - значение наибольшего кода сообщения что нужно принимать
    while (GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg); //перевести виртуальное сообщение в текстовое
        DispatchMessage(&msg);//отправить сообщение wndproc
    }
    return msg.wParam; //wParam - инфо о сообщении, значение зависит от остальных составляющих структуры
}
 
//HWND - описатель окна, iMsg -  сообщение, wParam и lParam - доп. параметры
LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
    HDC hdc;
    PAINTSTRUCT ps;// структура для рисования областей окна
    RECT rect; //структура содержащая размеры и положения прямоугольника (4 координаты)
 
    switch(iMsg)
    {
    case WM_CREATE: //#define WM_CREATE                       0x0001
        //PlaySound("hellowin.waw",NULL,SND_FILENAME | SND_ASYNC);
        return 0;
 
    case WM_PAINT:
        hdc=BeginPaint(hwnd, &ps);//hwnd - описатель окна, ps - указатель на структуру с которой брать данные для рисования
        GetClientRect(hwnd, &rect);// возвращает координаты окна области пользователя
 
        //выводит форматируемый текст в заданную область пользовательского окна
        //hdc - описатель окна, lpchText - строка (если сл. параметр -1 то в конце должен быть /0)
        //rect - координаты прямоугольника где нужно разместить текст
        //uFormat - форматирование текста
        DrawText(hdc,"Hello, Windows!",-1,&rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
        EndPaint(hwnd,&ps);
        return 0;
 
    case WM_DESTROY: //#define WM_DESTROY                      0x0002
        PostQuitMessage(wParam); //индикатор что приложение должно завершиться
        return 0;
    }
 
    return DefWindowProc(hwnd, iMsg, wParam, lParam);
}
0
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
05.01.2012, 18:36 3
Gepar, в каком месте здесь Windows Forms?
0
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
05.01.2012, 18:43 4

Не по теме:

sandye51, ну окно же :D


Если серьёзно то я сразу почему-то решил что это автору winapi с его окнами надо, почитал вики и вижу что я ошибся.
0
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
05.01.2012, 18:56 5
ilya_123, создавать очень просто
1. открываешь VS
2. Файл - Создать - Проект - CLR - Приложение Windows Forms
3. Вводишь имя проекта и нажимаешь Готово

Собственно перед тобой форма. Нажимай F5 и приложение создано
Но оно ничего не делает, поэтому можно кидать на форму всякие control'ы, обрабатывать различные события. Если есть какие-то конкретные вопросы - внимательно слушаю.

Не по теме:

Gepar, бывает)

1
1 / 1 / 0
Регистрация: 05.01.2012
Сообщений: 11
05.01.2012, 21:40  [ТС] 6
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
#pragma once
 
namespace jkj {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    /// <summary>
    /// Сводка для Form1
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->components = gcnew System::ComponentModel::Container();
            this->Size = System::Drawing::Size(300,300);
            this->Text = L"Form1";
            this->Padding = System::Windows::Forms::Padding(0);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
        }
#pragma endregion
    };
}
не понимаю смысл этого

Добавлено через 1 минуту
и ещё ну вытянул я кнопку на форму а что дальше делать то?
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
05.01.2012, 21:44 7
Добавить ещё элементов? Писать код обработчиков событий? Собрать?
В общем и целом курить мануалы.
0
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
05.01.2012, 22:55 8
Цитата Сообщение от ilya_123 Посмотреть сообщение
что дальше делать то?
а что ты вообще делать то собрался?
0
Эксперт .NET
1839 / 1347 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
05.01.2012, 23:54 9
ilya_123,
Если вы не знаете, с чего начать изучение, читайте Общие сведения о Windows Forms.
Просто подряд всё читайте и пробуйте, тогда всё получится!
Как минимум прочтите раздел "Справка по созданию форм и элементов управления".
0
05.01.2012, 23:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2012, 23:54
Помогаю со студенческими работами здесь

Перевод консольного приложения на Windows Form
Перевести этот код в Visual Studio 2010 в Wuindows Form Application Module Module1 Sub...

Перевод консольного приложения в Windows Form
Доброго времени суток , вот код , который вызывает все ссылки javascript моего сайта в console...

Создание графического приложения C# windows form
Всем привет.Ребят помогите пожалуйста:нужен код чтобы на картинку можно было добовлять и перемещать...

Перевод консольного приложения на Windows Form
Сортировка слиянием Public Sub MergeSort(ByRef Arr() As Double, ByVal N As Long) Dim C As...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru