Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Визуализация программ в C++ 
:(
    Опции темы
Олег М
Дата 22.3.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 10.6.2004
Где: Москва

Репутация: 7
Всего: 7



Цитата(EnrolL @ 22.3.2005, 18:03)
с ваших слов я понял что С++ не имеет таких билдеров так а как же это создать, много прог написано на С++ ног там все окошки всё кеомпактно удобно красиво

Вот как раз потому то и красиво, что там билдеров нет. Поэтому чтоб нарисовать окно там приходится работать головой, а не как в дельфе, левой задней ногой

Это сообщение отредактировал(а) Олег М - 22.3.2005, 18:15
PM MAIL ICQ   Вверх
_hunter
Дата 22.3.2005, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



тут можно и поспорить smile
тот же theBat выглядит вполне нормально


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Fixin
Дата 22.3.2005, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 2
Всего: 18



Там окна функциями делать надо....... В выжал сях smile
Добавлено @ 18:22
Вот пример простого окна на WinAPI:
Код
#define STRICT
#define WIN32_LEAN_AND_MEAN
#pragma warning(disable:4068)
#pragma warning(disable:4100)
#include <windows.h>
#include <windowsx.h>

#define TempWnd_DefProc DefWindowProc
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam);
BOOL Register(HINSTANCE hInstance);
HWND Create(HINSTANCE hInstance, int nCmdShow);

static char szAppName[] = "TempWnd";
static HWND hMainWindow;
static HINSTANCE hMainInstance;

void TempWnd_OnDestroy(HWND hwnd);

#pragma argsused
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   LPSTR lpszCmdParam, int nCmdShow)
{
    MSG Msg;

    hMainInstance = hInstance;

    if (!Register(hInstance))
            return FALSE;

    hMainWindow = Create(hInstance, nCmdShow);
    if (!hMainWindow)
        return FALSE;

    while (GetMessage(&Msg, NULL, 0, 0))
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }

    return Msg.wParam;
}

#pragma argsused
BOOL Register(HINSTANCE hInstance)
{
    WNDCLASSEX WndClass;

    WndClass.cbSize            =    sizeof(WNDCLASSEX);
    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.hIconSm        =    LoadIcon(NULL, IDI_APPLICATION);
    WndClass.hCursor        =    LoadCursor(NULL, IDC_ARROW);
    WndClass.hbrBackground    =    (HBRUSH)(COLOR_WINDOW);
    WndClass.lpszMenuName    =    NULL;
    WndClass.lpszClassName    =    szAppName;

    return (RegisterClassEx(&WndClass) != 0);
}

#pragma argsused
HWND Create(HINSTANCE hInstance, int nCmdShow)
{
    HWND hWindow = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW,
                    szAppName, szAppName,
                    WS_OVERLAPPEDWINDOW,
                    CW_USEDEFAULT, CW_USEDEFAULT,
                    CW_USEDEFAULT, CW_USEDEFAULT,
                    NULL, NULL, hInstance, NULL);

    if (hWindow == NULL)
        return FALSE;

    ShowWindow(hWindow, nCmdShow);
    UpdateWindow(hWindow);

    return hWindow;
}

#pragma argsused
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message,
                         WPARAM wParam, LPARAM lParam)
{
    switch (Message)
    {
        HANDLE_MSG(hwnd, WM_DESTROY, TempWnd_OnDestroy);                                default:
            return TempWnd_DefProc(hwnd, Message, wParam, lParam);
    }    
}

#pragma argsused
void TempWnd_OnDestroy(HWND hwnd)
{
    PostQuitMessage(0);
}


Это сообщение отредактировал(а) Fixin - 22.3.2005, 18:18
PM MAIL ICQ   Вверх
maxim1000
Дата 22.3.2005, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



делаем проект Dialog Based Application
открываем главное окно (это будет диагол в ресурсах)
редактируем его в свое удовольствие (кнопочки бросаем, EditBox'ы всякие)
я сейчас не припомню точно, но, по-моему, даже по двойному клику событие добавляется


--------------------
qqq
PM WWW   Вверх
S.A.P.
Дата 22.3.2005, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Что касается вопроса, то окна, кнопки, поля ввода можно MFC быстро штампануть. Создай проект через ClassWizard. Если надо что посерьезней, то ставь дополнительные GUI библиотеки.
PM MAIL   Вверх
maxim1000
Дата 22.3.2005, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



Цитата
Там окна функциями делать надо....... В выжал сях

Цитата
Вот пример простого окна на WinAPI:

Visual C++ - среда разработки
WinAPI - набор функций

это - две практически независимые вещи

в Visual C++ можно использовать визуальное проектирование (как я уже описал...да и не только я)
а с помощью WinAPI можно успешно программировать в том же Delphi или C++Builder'е...


--------------------
qqq
PM WWW   Вверх
DENNN
Дата 22.3.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Открываешь редактор диалогов, рисуешь все те же кнопочки/окошки/рамки.
Потом визардом создаешь класс для этого диалога и для нужных контролов добавляешь визардом переменные.
Ничего необычного. Это если через WinAPI не хочешь..... smile
PM ICQ   Вверх
Олег М
Дата 22.3.2005, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 10.6.2004
Где: Москва

Репутация: 7
Всего: 7



Цитата(_hunter @ 22.3.2005, 18:16)
тут можно и поспорить
тот же theBat выглядит вполне нормально

smile Я ж не сказал, что в дельфи, или где там, нельзя головой работать, просто это особо там не требуется, да и простора маловато, для мыслей, - за тебя уже всё давно придумали и сделали, знай пользуйся

Цитата(maxim1000 @ 22.3.2005, 18:25)
в Visual C++ можно использовать визуальное проектирование (как я уже описал...да и не только я)

А что такое визуальное проектирование и что с его помощью проектируют?

Это сообщение отредактировал(а) Олег М - 22.3.2005, 18:49
PM MAIL ICQ   Вверх
maxim1000
Дата 22.3.2005, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



Цитата
да и простора маловато, для мыслей, - за тебя уже всё давно придумали и сделали, знай пользуйся

это, по идее разработчиков, должно расширять простор для мысли smile
Цитата
А что такое визуальное проектирование и что с его помощью проектируют?

честно говоря, я не уверен, что это точный темрин
я имел в виду как раз набрасывание кнопочек и других компонентов на форму мышкой smile

а основное отличие Delphi от Visual C++ (как мне кажется) - получилась очень неплохая компонентная модель, очень хорошо продуманная в смысле масштабируемости, это, по-моему, и привело к такому обилию самых разнообразных компонент, что в свою очередь привело к большой популярности Delphi/C++Builder'а...


--------------------
qqq
PM WWW   Вверх
Олег М
Дата 22.3.2005, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 10.6.2004
Где: Москва

Репутация: 7
Всего: 7



Цитата(maxim1000 @ 22.3.2005, 18:56)
я имел в виду как раз набрасывание кнопочек и других компонентов на форму мышкой

В этом как раз есть отличие генераторов приложений от языков программирования.
Цитата(maxim1000 @ 22.3.2005, 18:56)
а основное отличие Delphi от Visual C++ (как мне кажется) - получилась очень неплохая компонентная модель, очень хорошо продуманная в смысле масштабируемости, это, по-моему, и привело к такому обилию самых разнообразных компонент, что в свою очередь привело к большой популярности Delphi/C++Builder'а...

Нет ни это, а то что в дельфи как раз думать почти не надо, и при этом что-то выходит. В Вижул С++ такое не проканает - там чтобы более-менее функциональное окошко сделать надо знаний иметь довольно-таки много, так просто с наскоку не получится.
А компонентная модель (архитектура классов) в дельфи - полный отстой, да и реализация объектно-ориентированного подхода там крайне убогая.
PM MAIL ICQ   Вверх
JackYF
Дата 23.3.2005, 03:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Borland C++ Builder 5,6 используй - там всё наглядно, с окошками.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
chipset
Дата 23.3.2005, 05:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



М
 
Постарайтесь не свести тему в Религиозные войны, пожалуйста.



--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
jorkug
Дата 23.3.2005, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 21.3.2005

Репутация: нет
Всего: 1



Есть MFC, а есть еще C++ Builder. Вот там
Цитата
все окошки всё кеомпактно удобно красиво


Это сообщение отредактировал(а) jorkug - 23.3.2005, 05:59
PM MAIL   Вверх
Guest
Дата 23.3.2005, 20:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Уну я уже понял спасибо! Так а можно например совмещать C++ Buildeer 6.0 с Visual C++ 6.0
  Вверх
JAnty
Дата 23.3.2005, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 6.12.2004
Где: Москва

Репутация: 1
Всего: 2



Мoжно компилить Visual C++ проги на C++Builder.

Цитата
Borland C++ Builder 5,6 используй - там всё наглядно, с окошками.


Другого не дано. smile


--------------------
Русский справочник по WinAPI

Возможно всё, что возможно вообразить! Это и значит быть гением как я!
PM MAIL   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0601 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.