Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
25 / 23 / 4
Регистрация: 22.04.2010
Сообщений: 745
1

Диалог, как при инсталляции программ

17.03.2015, 11:02. Показов 668. Ответов 14
Метки нет (Все метки)

добрый день!
Увидел недавно в одной программе диалог, как при инсталляции программ: окошко, параметры, выбор -> Далее...->...->Далее.... И.т.д.

Шапка и низ в этих окошках раньше я наблюдал в инсталляторах или программах. Т.е. Это какой-то стандартный получается тип диалога.
Подскажите, что это за диалог и как его создать?
Заранее спасибо!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2015, 11:02
Ответы с готовыми решениями:

На чем создавать инсталляции VB программ?
расскажите пожалуйста чем делаете ? мне надо драйвера библиотеки ado подцепить, что в этом помочь...

Ошибка при инсталляции Ubuntu
что делать? вот скриншот ошибки:

Проблема при инсталляции Package
Rebjata, problema takaja: v prozesse sozdanija installation packaga v VB 6.0, ja poluchaju...

Как вывести диалог при закрытии вкладки
Доброго времени суток! Поставлена такая задача: Если Пользователь закрывает окно/вкладку...

14
12 / 12 / 9
Регистрация: 24.06.2014
Сообщений: 50
17.03.2015, 12:46 2
Попробуйте программу WixEdit для создания инсталлятора, если речь об этом.
0
25 / 23 / 4
Регистрация: 22.04.2010
Сообщений: 745
17.03.2015, 13:22  [ТС] 3
Цитата Сообщение от onlineman Посмотреть сообщение
Попробуйте программу WixEdit для создания инсталлятора, если речь об этом.
Инсталлятор как таковой не требуется.
Мне необходимо написать подмодуль, типа интерфейс настройки.
0
12 / 12 / 9
Регистрация: 24.06.2014
Сообщений: 50
17.03.2015, 14:04 4
sitesv, Не знаю поможет нет, есть компонент TTaskDialog
0
25 / 23 / 4
Регистрация: 22.04.2010
Сообщений: 745
17.03.2015, 14:22  [ТС] 5
Цитата Сообщение от onlineman Посмотреть сообщение
sitesv, Не знаю поможет нет, есть компонент TTaskDialog
попробую.
Видел подобие следующего:
Диалог, как при инсталляции программ
0
12 / 12 / 9
Регистрация: 24.06.2014
Сообщений: 50
17.03.2015, 15:30 6
Есть еще вариант просто компоненты на форму покидать
0
25 / 23 / 4
Регистрация: 22.04.2010
Сообщений: 745
17.03.2015, 16:12  [ТС] 7
Цитата Сообщение от onlineman Посмотреть сообщение
Есть еще вариант просто компоненты на форму покидать
Это понятно... Но ,ведь есть, похоже, уже готовый механизм, хотел бы им воспользоваться...
0
12 / 12 / 9
Регистрация: 24.06.2014
Сообщений: 50
17.03.2015, 17:45 8
Если готовый диалог не найдете, то можно использовать компонент TTabControl для своего. На каждый таб покидать компоненты, на некст добавить открытие следующего таба, на бэк добавить открытие предыдущего.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31193 / 20390 / 7941
Регистрация: 22.10.2011
Сообщений: 35,364
Записей в блоге: 6
17.03.2015, 17:56 9
TTabControl не нужен, нужно использовать TPageControl, чтобы не морочить себе голову скрытием одних и показом других компонентов при смене таба, а просто положить разные компоненты на разные вкладки PageControl-а и переключать активную вкладку...
1
46 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
18.03.2015, 02:00 10
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
// AppDlg.cpp
 
#include "stdafx.h"
#include "App.h"
#include "AppDlg.h"
#include "Wizard1.h"
#include "Wizard2.h"
#include "Wizard3.h"
#include "Wizard4.h"
#include "Wizard5.h"
#include "Wizard6.h"
#include "Wizard7.h"
 
/////////////////////////////////////////////////////////////////////////////
// CAppDlg dialog
 
CAppDlg::CAppDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CAppDlg::IDD, pParent)
{
    //{{AFX_DATA_INIT(CAppDlg)
        // NOTE: the ClassWizard will add member initialization here
    //}}AFX_DATA_INIT   
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
 
void CAppDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CAppDlg)
        // NOTE: the ClassWizard will add DDX and DDV calls here
    //}}AFX_DATA_MAP
}
 
BEGIN_MESSAGE_MAP(CAppDlg, CDialog)
    //{{AFX_MSG_MAP(CAppDlg)
    ON_WM_QUERYDRAGICON()
    ON_WM_PAINT()
    ON_WM_CLOSE()
    ON_BN_CLICKED(IDC_EXIT, OnExit)
    ON_BN_CLICKED(IDC_WIZARD, OnWizard)
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
 
/////////////////////////////////////////////////////////////////////////////
// CAppDlg message handlers
 
BOOL CAppDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
 
    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);     // Set big icon
    SetIcon(m_hIcon, FALSE);    // Set small icon
    
    // Показывать мастер при запуске?
    BOOL bShow = AfxGetApp()->GetProfileInt( _T("Startup"), _T("Wizard"), TRUE );
    if ( bShow )
        DoWizard();
    
    return TRUE;  // return TRUE  unless you set the focus to a control
}
 
// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.
 
void CAppDlg::OnPaint() 
{
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting
 
        SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
 
        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;
 
        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
}
 
// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CAppDlg::OnQueryDragIcon()
{
    return (HCURSOR) m_hIcon;
}
void CAppDlg::OnOK() 
{
}
void CAppDlg::OnCancel() 
{
}
void CAppDlg::OnExit()
{
    EndDialog(0);   
}
void CAppDlg::OnClose() 
{
    OnExit();
}
void CAppDlg::OnWizard() 
{
    DoWizard();
}
void CAppDlg::DoWizard()
{
    CWizard1 wiz1;
    CWizard2 wiz2;
    CWizard3 wiz3;
    CWizard4 wiz4;
    CWizard5 wiz5;
    CWizard6 wiz6;
    CWizard7 wiz7;
 
    wiz1.m_bShowWizard = AfxGetApp()->GetProfileInt( _T("Startup"), _T("Wizard"), TRUE );
 
    wiz2.m_sPath        = _T("C:\\Program Files\\Shvonder");
    wiz3.m_nNetType     = 0;
    wiz4.m_nPort        = 0;
    wiz5.m_nEncType     = 1;
    wiz6.m_nLetterCount = 0;
    wiz6.m_sPassword    = _T("");
 
    int nState = 1;
    INT_PTR nRet;
    
    while( nState > 0 && nState < 8 )
    {
        switch( nState )
        {
        case 1:/* Первый мастер. */         
            nRet = wiz1.DoModal();
            break;
 
        case 2:/* Второй мастер. */
            nRet = wiz2.DoModal();
            if( nRet == IDCANCEL )
            {
                AfxMessageBox( _T("Пожалуйста, укажите путь.") );
                nRet = 0;
            }
            break;
 
        case 3:/* Третий мастер. */
            nRet = wiz3.DoModal();
            break;
 
        case 4:/* Четвёртый мастер. */
            nRet = wiz4.DoModal();
            break;
 
        case 5:/* Пятый мастер. */
            nRet = wiz5.DoModal();
            break;
 
        case 6:/* Шестой мастер. */
            {
                if( wiz5.m_nEncType == 1 )
                {
                    wiz6.m_nMinLetterCount=14;
                    wiz6.m_nMaxLetterCount=45;
                } else {
                    wiz6.m_nMinLetterCount=4;
                    wiz6.m_nMaxLetterCount=45;
                }
                nRet = wiz6.DoModal();
            }
            break;
 
        case 7:/* Седьмой, последний мастер. */
            nRet = wiz7.DoModal();
            break;
        }
        
        if( nRet == IDOK )
            ++nState;
 
        else if( nRet == IDBACK )
            --nState;
 
        else if( nRet == IDCANCEL )
        {
            nState = 0;
        }
    }
}
AppWizard.zip
0
Миниатюры
Диалог, как при инсталляции программ  
1404 / 567 / 127
Регистрация: 31.10.2011
Сообщений: 1,955
18.03.2015, 02:02 11
Shvonder, это ветка билдера
0
46 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
18.03.2015, 02:04 12
_Dimon_, да, ну-ничего, кому-нибудь годится.
0
15 / 15 / 10
Регистрация: 11.09.2013
Сообщений: 157
Записей в блоге: 1
18.03.2015, 04:17 13
В Борланде есть стандартный инструмент - но его лучше не использовать он стрёмный) Хотя если разобраться уверен будет норм
0
25 / 23 / 4
Регистрация: 22.04.2010
Сообщений: 745
18.03.2015, 11:23  [ТС] 14
Цитата Сообщение от AndHacker Посмотреть сообщение
В Борланде есть стандартный инструмент
что за стандартный инструмент?
0
15 / 15 / 10
Регистрация: 11.09.2013
Сообщений: 157
Записей в блоге: 1
25.03.2015, 17:48 15
Цитата Сообщение от sitesv Посмотреть сообщение
что за стандартный инструмент?
Погугли в интернете про создание установочных пакетов на борланде. А лучше открыть какой-нибудь очень тостый самоучитель - в конце книге должно быть обязательно написано про это.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2015, 17:48

Как отключить диалог при работе с док файлами?
Делую прогу. Из БД выбираю инфу и формирую MS Word-овский (rtf) документ (подсмотрел у MS). В MS...

Eclipse. Не появляется иконка при инсталляции apk
Создаю новый проект в Эклипсе. Всё оставляю по умолчанию. Код вообще не трогаю нигде. Сохраняю...

Нет доступа к папке, созданной при инсталляции
Добрый день. Устанавливал программное обеспечение к осциллографу RIGOL 1052E, во время установки...

При инсталляции - необходимость перезагрузки - и так в цикле...
При попытке инсталлировать 'MSSQL 2000 Developer Eddition' на W2K Prof (хочу установить клиента) и...

Отключается питание ноутбука при инсталляции Linux Mint
ноутбук 2009 года TOSHIBA P500-160 (PSPG8E-08D008FR): Тип компьютера: ACPI...

При инсталляции программы выдаёт ошибку, что это значит?
Выскакивает ошибка при инсталляции готовой программы(калькулятор). Как решить эту проблему? Как...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.