Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru


RusFAQ.ru: Win API

Выпуск № 004
от 15.08.2003, 01:10

Администратор:
Имя: Калашников О. А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 9
Отправлено ответов: 8
Активность: 88.88 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

BOLT
Статус: Профессиональный
Общий рейтинг: 171
URL: Начинающему программитсу: софт, примеры, документация, Assembler, C & C++.
Телефон: Три раза АУ!
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 9. Всем Привет!!!!! Как вообще создаются «многовкладочные программы», т.е., что бы переход между реда... (ответов: 1)

Вопросов: 1, ответов: 1


 Вопрос № 9

Всем Привет!!!!!
Как вообще создаются «многовкладочные программы», т.е., что бы переход между редактируемыми файлами осуществлялся через вкладки, почему-то MDI мне не до вподобы. Пришлите исходник или ссылку. Спасибо!!!!
И ещё: Что такое MSDN?



Вопрос отправлен: 11.08.2003, 01:08
Отправитель: Andrey (AndreyTorba@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает BOLT

Приветствую Вас, Andrey!
1)Привожу кусок урока для создания Диалога с вкладками:
Для создания такого диалога в вашей программе сначала создайте проект на MFC AppWizard (EXE):
На первом шаге мастера выберите SDI-тип интефейса (Single document), во всех последующих шагах все оставьте по умолчанию. В сгенегированной заготовке добавьте еще один элемент меню. Пусть его идентификатор для определенности будет ID_DIALOG_DIALOG, и его заголовок - Dialog. Добавьте обработчик для нашего нового меню в классе Вида (...View), используя ClassWizard (если забыли - Ctrl+W, вкладка MessageMaps, в combobox'е Class name выбираем класс вида, в левом списке ищем идентификатор диалога ID_DIALOG_DIALOG, в левом выбираем COMMAND), затем нажимаем на Add Function).
Теперь займемся непосредственно нашим диалогом. План здаесь такой: сначала мы для вкладок сделаем парочку диалоговых окон, производных от класса CPropertyPage. Для этих окон некоторые свойства нам надо будет поменять. Затем мы создадим новый класс (без конструктора диалогов), производный от CPropertySheet. В конструкторах этого класса мы вызовем его метод AddPage для добавления двух созданных ранее вкладок. После этого мы покажем наш диалог со вкладками при щелчке на меню. И, напоследок, посмотрим, как можно обменивать данные с нашем диалогом и с классом вида.
Начинаем наши шаги. Создайте диалог для первой вкладки. Уберите с него кнопки OK и Cancel - они нам не понадобятся. Добавьте на наго какой-нибудь элемент (пусть это для определенности будет CheckBox). Измените его заголовок на Options1, свойство Style на Child, Border на Thin, уберите галочку System menu.
После этого вызовите ClassWizard, в появившемся диалоге выберите создание нового класса.
В появившемся диалоге New Class задаете имя класса (у нас это COptions1), и в качестве базового класса выберите CPropertyPage.
Нажмите OK. Абсолютно аналогично создайте диалог для второй вкладки.
Теперь займемся основным классом. Вызовите диалог для создания нового класса. В качестве его базового класса выберите CPropertySheet, в качестве имени что-то вроде CDlg.
Нажмите OK. В заголовочном файле класса CDlg подсоедините include'ом файлы классов двух вкладок и создайте две соответствующе переменные:
...
#include "Options1.h"
#include "Options2.h"
class CDlg : public CPropertySheet
{
...
public:
COptions1 m_op1;
COptions2 m_op2;
...

Затем измените два конструктора класса CDlg:
CDlg::CDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
AddPage(&m_op1);
AddPage(&m_op2);
}
CDlg::CDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
AddPage(&m_op1);
AddPage(&m_op2);
}

Изменяем обработчик для созданного ранее меню Dialog (не забудьте подключить в заголовочный файл для класса вида файл Dlg.h):
void CDlgWithTabsView::OnDialogDialog()
{
CDlg dlg("Диалог с вкладками");
dlg.DoModal();
}

Компилируем, запускаем, выбираем меню. Появится наше окно с вкладками.

2)
MSDN (Microsoft Developement Network) находится здесь
MSDN Library - это библиотека помощи(вся документация) программиста приложений Windows(занимает, если не ошибаюсь 2 Гбайт)
Да прибудет с тобой Великая Сила!

This message was created by EMan1.3


Ответ отправлен: 11.08.2003, 15:42
Отправитель: BOLT



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (37)
C / C++ (28)
Perl (3)
Builder / Delphi (22)
Pascal (28)
Basic / VBA (12)
Java / JavaScript (8)
PHP (7)
Криптография (10)
WinAPI (19)
Пользователю
Windows 95/98/Me (46)
Windows NT/2000/XP (55)
"Железо" (42)
Поиск информации (27)
Администратору
Windows NT/2000/XP (27)
Linux / Unix (12)
Юристу
Гражданское право (9)
Семейное право (6)
Трудовое право (7)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное