Здравствуйте уважаемые подписчики. У этой рассылки немного изменился дизайн. И
нам интересно устраивает ли он вас. Все пожелания и замечания можете присылать
сюда.
Новые статьи на сайте
1. Замена
представления вида в MDI и SDI приложениях
Иногда в приложении требуется заменить существующее представление на другое. К
примеру, заменить представление CTreeView на CListView. Выполнение этой функции
в MDI и SDI приложениях немного отличается.
2. Класс
гиперссылок CHyperLink
Класс CHyperLink служит для создания гиперссылок. Этот класс является
производным от класса CStatic.
3. Помещение
ProgressBar в TaskBar
Статья рассказывает о реализации такой возможности, как вставка элемента
управления ProgressBar в TaskBar.
4. Класс
CUsefulSplitterWnd (расширение класса CSplitterWnd)
Класс CUsefulSplitterWnd расширяет класс CSplitterWnd и дает ему новые
возможности.
5. Работа
с переменными в других процессах
Приведенный в статье пример показывает, как можно получить название всех кнопок
Таскбара.
6. Как
программно управлять CD-ROM'ом?
В статье рассказывается о том, как програмно можно открывать или закрывать
CD-ROM и многое другое.
7. Копирование
текста в буфер обмена
Приведенный в статье пример демонстрирует помещение текста в буфер обмена. В
данном случае, текстовые данные берутся из обычной переменной CString.
8. Элемент
управления CTreeCtrl
Кроме возможности выводить записи последовательных списков при помощи таких
элементов, как список или просмотр списка, Windows предоставляет возможность
отображения (и управления) списков, организованных по принципу дерева.
9. Шрифты
В статье рассказывается об использовании шрифтов в MFC. На примере показано
создание собственного шрифта.
10. Класс
CRecordView
Объекты этого класса предоставляют для изображения записей базы данных в
элементах управления форму, которая непосредственно соединена с объектом
CRecordset.
В статье речь пойдет о замене представлений в SDI приложении. Причем
представление будет загружаться из динамической библиотеки DLL. Когда мне надо
было реализовать эту возможность, я очень долго искал и находил только для MDI
приложений. Но лучше покопавшись в MSDN, я нашел все-таки решение. Более
подробно о смене представлений написано в статье, Замена представлений в MDI и SDI приложениях.
В начале давайте создадим проект динамической библиотеки. Далее создаем в
редакторе ресурсов диалоговое окно и к нему класс CFormView. В диалог можно для
наглядности, добавить какие-либо элементы управления и привязать к ним
действия. И остается только в файл, где находится функция DllMain добавить
следующий код:
В данном случае CCustomerContact это класс представления CFormView. В конце
надо просто откомпилировать проект динамической библиотеки.
Теперь создайте проект SDI приложения. Для смены представлений нам надо создать
специальную функцию в классе CDocument. Назовем ее SwitchToView. Вот ее код:
BOOL CSdiDllFramesDoc::SwitchToView(CRuntimeClass* pNewViewClass)
{
CFrameWnd* pMainWnd = (CFrameWnd*)AfxGetMainWnd();
CView* pOldActiveView = pMainWnd->GetActiveView();
// If we're already displaying this kind of view, no need to go further.if(pOldActiveView->IsKindOf(pNewViewClass))
return TRUE;
// Set the child window ID of the active view to AFX_IDW_PANE_FIRST.
// This is necessary so that CFrameWnd::RecalcLayout will allocate
// this "first pane" to that portion of the frame window's client
// area not allocated to control bars. Set the child ID of
// the previously active view to some other ID.
::SetWindowLong(pOldActiveView->m_hWnd, GWL_ID, 0);
// create the new view
CCreateContext context;
context.m_pNewViewClass = pNewViewClass;
context.m_pCurrentDoc = this;
CView* pNewView = STATIC_DOWNCAST(CView, pMainWnd->CreateView(&context));
if(pNewView != NULL)
{
// the new view is there, but invisible and not active...
pNewView->ShowWindow(SW_SHOW);
pNewView->OnInitialUpdate();
pMainWnd->SetActiveView(pNewView);
pMainWnd->RecalcLayout();
// destroy the old view...
pOldActiveView->DestroyWindow();
return TRUE;
}
return FALSE;
}
Ее единственный параметр указывает на класс представления, который заменит
старый класс представления. Теперь надо только загрузить библиотеку и выполнить
в ней функцию Init, код которой уже выше приводился.
В настоящее время XML представляет собой устоявшуюся
технологию, применяемую для описания и передачи данных. Она оказывает
существенное влияние практически на все аспекты разработки ПО. При создании
.NET Framework компания Microsoft стремилась использовать преимущества XML
везде, где только возможно. Никакая другая технология не является столь тесно
связанной с .NET, как XML, причем не только на уровне разработчика, но и в виде
основополагающей технологии системы в целом.
Цель настоящей книги - предоставить читателю достаточную информацию для того,
чтобы он смог использовать XML в рамках .NET Framework наиболее эффективным
способом. В книге подробно описывается применение всех библиотечных классов
.NET Framework, относящихся к XML, для манипулирования, проверки допустимости,
преобразования и сериализации XML-данных с использованием как C#, так и Visual
Basic .NET.
Основные темы книги:
- Чтение и запись XML
- Поиск по DOM и XSL-преобразования XML
- Проверка допустимости и сериализация XML
- MSXML в сравнении с System.Xml
- XML-поддержка ADO.NET и ASP.NET
- Web-службы и SOAP
Язык XML используется практически в каждом аспекте
программирования. С самого начала он был спроектирован как язык разметки,
сочетающий в себе мощь и гибкость с простым для изучения синтаксисом.
Разработанный как открытый, расширяемый, понятный язык, XML представляет собой
стандарт консорциума W3C, позволяющий совместно использовать данные в среде
различных приложений, платформ и сети Интернет.
Грамотно написанная, понятная, практичная и авторитетная, книга "XML для
профессионалов" заостряет внимание на разработке реальных приложений,
использующих XML в качестве базовой технологии. Она предоставляет примеры
проектирования и показывает, как можно организовать взаимодействие использующих
XML приложений с приложениями Web и системами баз данных.Независимо от того,
отдаете ли вы предпочтение обмену данными или визуальному моделированию, эта
книга охватывает все соответствующие технологии.
Книга "XML для профессионалов" предназначена для тех, кто хочет использовать
язык XML для построенияприложений и систем. Разработчики Web-сайтов могут
изучить методы, позволяющие им перевести свои сайты на следующий уровень
сложности. Программисты и программные архитекторы узнают, как XML вписывается в
их системы и как с его помощью можно решить проблему интеграции приложений.
В книге приводятся:
Подробное разъяснение синтаксиса XML на практических примерах;
Спецификации W3C, относящиеся к XML;
Обработка документов XML с помощью модели DOM и SAX;
Методы отображения документов XML с помощью языков CSS, XSL и WML;
Манипулирование структурами документов с помощью XSL;
Создание эффективных моделей данных при разработке языков разметки;
Организация взаимодействия использующих XML приложений с Web-приложениями и
базамиданных;
Введение в WAP, прикладной протокол беспроводной связи
Эта книга рассчитана на среднего или опытного
программиста. Она познакомит вас с богатыми комплексными возможностями
Framework, которые используются программистами для написания приложений .NET.
Общая библиотека классов Framework .NET содержит огромное множество кода,
облегчающего написание больших приложений от графики до баз данных, и
позволяющего максимально использовать новые возможности, предоставляемые
платформой .NET.
Портал
для Delphi программиста - Быстро развивающийся портал о
программирование на языке Pascal/Delphi. Статьи, исходники, компоненты,
справочники, мануалы, FaQ, программы.
Замечания и предложения отправляйте на E-Mail указанный ниже. С уважением
Ковязин Дмитрий (admin@p-lib.pp.ru).