English version

RSS

MFC

Автор: Вадим Сухоруков
Аннотация: Исходные тексты - классыИсходные тексты - демонстрационная программа

Ключевые слова:
Автор: Алексей Кирюшкин
Источник: RSDN Magazine #4-2004
Аннотация: Как использовать в своей программе "горячие клавиши"? Какой обработчик вызывать и что вписывать в карту сообщений?

Ключевые слова: HotKey
Автор: Ivan
Источник: RSDN Magazine #4-2004
Аннотация: Неужто баг очередной? Создаем ATL проект, в опциях убираем аттрибуты, включаем поддержку MFC, включаем Allow merging of proxy/stub code, компилим проект. ВСЕ ок. Закрываем проект. Можно выйти из студии. Открываем опять этот проект, и делаем Rebuild Solution, получаем ошибки: Linking... mfcs71d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)

Ключевые слова: _DllMain, error LNK2005, Allow merging of proxy/stub code
Автор: Андрей
Аннотация: <span class='lineQuote level2'>А&gt;&gt;ЗЫ ... взять ту же MFC &mdash; где <b>от версии к версии они творят, что хотят</b>.</span><br /> <span class='lineQuote level1'><br /> SDB&gt;Гх-м-м... прошу прощения, что влезаю &mdash; можно об этом поподробнее? Я несколько своих проектов, написанных на MFC 4.21 компилил 7-й студией (в экспериментальных целях) и ничего плохого не заметил, все компилилось и...</span>

Ключевые слова:
Автор: Alexander Shargin
Аннотация: <span class='lineQuote level1'>LB&gt;Не понимаю, почему когда создаю Dialog Based Application, в title bar'е отображается иконка, которая 32х32, а хотелось бы видеть 16х16. Мелочь, а неприятно. Тем более, что в SDI все нормально. </span><br /> <br /> Это какой-то глюк в Windows, надо убрать один вызов SetIcon:<br /> <br /> [ccode]<br /> SetIcon(m_hIcon, TRUE); ...

Ключевые слова:
Автор: Игoрь
Аннотация: Здравствуйте, remark, Вы писали:<br /> <span class='lineQuote level1'><br /> R&gt;Я бы и сам не стал вообще MFC использовать </span><br /> <span class='lineQuote level1'>R&gt;Но проблема в том, что уже есть библиотечка, использующая CSocket. И надо юзать именно её. И всё вобщем то было хорошо, пока не провелили на XP </span><br /> <span class='lineQuote level1'><br /> R&gt;Вот ещё интересный момент: проверил на той же машине, но под др...</span>

Ключевые слова:
Автор: Alex Reyst
Аннотация: Здравствуйте, &lt;Аноним&gt;, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Люди!!! Как в VS 7.1 сделать язык по умолчанию английский(при создании MFC &mdash; проэктов), а то китайский запарил, особенно когда забудешь переставить <img border='0' width='30' height='26' src='../Forum/images/crash.gif'/ > </span><br /> <br /> В каталоге ".......\Microsoft Visual Studio .NET 2003\Vc7\VCWizards\mfcappwiz\templates" просто сотр...

Ключевые слова:
Автор: Павел Кузнецов
Аннотация: Вчера обнаружил весьма своеобразную проблему с AFX_MODULE_THREAD_STATE.<br /> <br /> <br /> <b>Предусловия</b> <br /> <br /> Проблема может возникать при выполнении следующих условий: <br /> [list]<br /> <li /> Код приложения не определяет макросы _WIN32_IE или _WIN32_WINNT, или их значения меньше чем 0x0300 и 0x0501 соответственно.<br /> [...

Ключевые слова:
Автор: Alex Fedotov
Аннотация: Здравствуйте Чайков Юрий Александрович, вы писали:<br /> <span class='lineQuote level1'><br /> ЧЮА&gt;В stdafx.h стоит строчка:</span><br /> <span class='lineQuote level1'>ЧЮА&gt;#define _WIN32_WINNT 0x0500</span><br /> <span class='lineQuote level1'>ЧЮА&gt;(это нужно, чтобы делать прозрачность для окошек)</span><br /> <span class='lineQuote level1'><br /> ЧЮА&gt;В некотором месте программы создается объект класса CFileDialog:</span><br /> <span class='lineQuote level1'>ЧЮА&gt;.void CErrorDlg::OnButton1() </span><br /> <span class='lineQuote level1'>ЧЮА&gt;.{</span><br /> <span class='lineQuote level1'>ЧЮА&gt;. CFileD...</span>

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте, SergioR, Вы писали:<br /> <span class='lineQuote level1'><br /> SR&gt;А может все намного проще ?</span><br /> <br /> да, MFC-шный мастер манифест создает, но в ресурсы его, в отличии от WTL-ного не включает <img border='0' width='37' height='15' src='../Forum/images/xz.gif' /> Открой вкладку с ресурсами, контекстное меню для rc &mdash; <b>Resource Includes</b> &mdash; и в <b>Compile-time Directives</b> добавь:<br /> <br /> [ccod...

Ключевые слова:

Контролы

Автор: SchweinDeBurg
Аннотация: Здравствуйте, sc, Вы писали:<br /> <span class='lineQuote level1'><br /> sc&gt;При вызове этого метода, иконка почему-то растягивается на всю кнопку.</span><br /> <span class='lineQuote level1'>sc&gt;Как этого избежать?</span><br /> <span class='lineQuote level1'>sc&gt;HICON получал через LoadIcon()</span><br /> <br /> LoadIcon() всегда грузит иконки 32 х 32, при "необходимости" масштабируя их. Попробуйте воспользоваться вот такой функцией:<br /> <br /> [ccod...

Ключевые слова:

Основные компоненты

Автор: Поль ДиЛашиа (Paul DiLascia)
Перевод: Александр Шаргин
Источник: Microsoft Systems Journal
Аннотация: В статье даётся исчерпывающее описание механизмов маршрутизации сообщений и команд в MFC. Автор прослеживает путь сообщения с момента получения и до попадания в соответствующий обработчик, объясняет механизм работы карт сообщений, обработку команд и уведомлений, а также обновление объектов пользовательского интерфейса при помощи сообщений CN_UPDATE_COMMAND_UI. Прочитав статью, вы сможете решить практически любую проблему, связанную с обработкой сообщений в MFC.

Ключевые слова:
Автор: SchweinDeBurg
Аннотация: Здравствуйте, &lt;Аноним&gt;, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;чем отличается ON_NOTIFY от ON_NOTIFY_REFLECT ?</span><br /> <br /> При использовании ON_NOTIFY() извещения от элемента управления обрабатывает его родительское окно, как это и принято в Win32 API; при использовании ON_NOTIFY_REFLECT() Вы получаете возможность обработать эт...

Ключевые слова:
Автор: Джим Биверидж
Перевод: Олег Быков
Источник: www.ddj.com
Аннотация: В статье очень подробно рассматривается механизм сериализации, реализованный в MFC. Автор дает полную информацию о работе макросов DECLARE/IMPLEMENT_DYNAMIC, DECLARE/IMPLEMENT_SERIAL и DECLARE/IMPLEMENT_DYNCREATE. Также обсуждается поддержка версий схем сериализации.

Ключевые слова:
Автор: Олег Быков
Аннотация: В статье рассматривается применение диагностических средств библиотеки MFC: макросов ASSERT, VERIFY, ASSERT_KINDOF и других, работу с окном отладчика, проверка внутреннего состояния объектов, диагностика ошибок работы с памятью.

Ключевые слова:

Окна

Автор: Илья Зарецкий
Источник: RSDN Magazine #2-2004
Аннотация: Статья рассказывает о реализации механизма переключения языка пользовательского интерфейса в приложениях, разрабатываемых с использованием библиотеки MFC.

Ключевые слова:
Автор: Александр Шилоносов
Источник: RSDN Magazine #1-2004
Аннотация: Cтатья описывает способы использования MFC-класса CHtmlView и технологии DHTML для создания web-интерфейса в MFC приложении.

Ключевые слова: dhtml,web-interface
Автор: Артамонов Дмитрий
Аннотация: Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.

Ключевые слова:
Автор: Игорь Ткачёв
Аннотация: Наверняка, Вас не раз раздражал вид приложений, открывающих дочерние окна следующим образом:

Ключевые слова:
Автор: Сысолятин Павел
Аннотация: Небольшая реализация "липких" диалоговых окон.

Ключевые слова: липкие окна, sticky, docking
Автор: Alex Fedotov
Аннотация: Здравствуйте Xenia, Вы писали:<br /> <span class='lineQuote level1'><br /> X&gt;[ccode]</span><br /> <span class='lineQuote level1'>X&gt;void CBimapsView::OnButton32774() </span><br /> <span class='lineQuote level1'>X&gt;{</span><br /> <span class='lineQuote level1'>X&gt; </span><br /> <span class='lineQuote level1'>X&gt; CRgn rg; </span><br /> <span class='lineQuote level1'>X&gt;//запомнили первоначальный</span><br /> <span class='lineQuote level1'>X&gt; AfxGetMainWnd()-&gt;GetWindowRgn(oldRegion);</span><br /> <span class='lineQuote level1'>X&gt; rg.CreateEllipticRgn(10,10,200,200);</span><br /> <span class='lineQuote level1'>X&gt;//установили эллипсовидный</span><br /> //::SetWindowRgn(AfxGetMainWnd()-&gt;&gt;m_hWnd,r...

Ключевые слова:
Автор: Odi$$ey
Аннотация: <span class='lineQuote level1'>C&gt;Как при загрузки программы скрыть главное окно приложения при условии,что оно диалоговое? Делаю ShowWindow перед DoModal и получаю ошибку <img border='0' width='15' height='15' src='../Forum/images/frown.gif' /></span><br /> <br /> Если действительно нужно скрывать <b>модальное </b>окно, то можно сделать так:<br /> <br /> Добавь в свой класс диалога функцию DoModal(), перепиши в нее содерж...

Ключевые слова:
Автор: SuperSmile
Аннотация: Здравствуйте, lexer_lx, Вы писали:<br /> <span class='lineQuote level1'><br /> _&gt;MFC Dialog Based.</span><br /> <span class='lineQuote level1'>_&gt;При запуске главное окно должно прятаться в трей.</span><br /> <span class='lineQuote level1'>_&gt;Если в OnInitDialog сделать ShowWindow(SW_HIDE), &mdash; окно не скрывается.</span><br /> <span class='lineQuote level1'>_&gt;Если ShowWindow(SW_HIDE) сделать через секунду после OnInitDialog</span><br /> <span class='lineQuote level1'>_&gt;(например, по таймеру) &mdash; то все работает.</span><br /> ...

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте Stars, Вы писали:<br /> <span class='lineQuote level1'><br /> S&gt;Как на в диалоге на основе сабжа убрать кнопки "Помощь" и "Применить" ?</span><br /> <br /> в конструкторе набора:<br /> <br /> [ccode]<br /> m_psh.dwFlags |= PSH_NOAPPLYNOW; //выставляем бит отсутствия кнопки Apply<br /> m_psh.dwFlags &amp;= ~PSH_HASHELP; //убираем бит наличия кнопки Help<br /> ...

Ключевые слова:
Автор: Odi$$ey
Аннотация: <span class='lineQuote level1'>ДН&gt;Есть ли для SDI приложения что нибудь похожее на MDITabs? Чтобы между окнами было удобнее переключаться...</span><br /> <br /> если типа такого:<br /> <br /> <img border='0' src='http://msdn.microsoft.com/msdnmag/issues/02/10/CQA/fig03.gif' /><br /> <br /> <img border='0' src='http://msdn.microsoft.com/msdnmag/issues/02/10/CQA/fig04.gif' /><br /> <br /> то <a class="m" href="http://msdn.m" target="_blank">http://msdn.m</a>...

Ключевые слова:

Архитектура Документ-Представление (Doc/View)

Автор: Serguei666
Аннотация: <span class='lineQuote level1'>А&gt;Программа всегда работает с одним документом. Хочу, чтобы при изменении в документе изменения сразу записывались на диск (естественно, без запрашивания имени файла &mdash; так как оно не меняется).</span><br /> <span class='lineQuote level1'>А&gt;В принципе, можно псле каждого изменения писать</span><br /> <span class='lineQuote level1'><br /> А&gt;[ccode]</span><br /> <span class='lineQuote level1'>А&gt;...</span><br /> <span class='lineQuote level1'>А&gt;OnSaveDocument("C:\\file.dat");</span><br /> ...

Ключевые слова:

Поддержка OLE/COM

Автор: Игорь Ткачёв
Аннотация: Однажды я занимался проектом, главной особенностью которого было наличие большого количества типовых форм ввода и вывода. Что-то типа делопроизводства. Документы должны были заполняться данными из БД или другими данными, которые может предоставить программа. При этом было бы крайне желательно, чтобы шаблон документа мог разобраться с этими данными самостоятельно. Оказалось, что всем этим требованиям вполне удовлетворяет MS Office. В этой статье я попытаюсь это продемонстрировать.

Ключевые слова:
Автор: Евгений Щербатов
Аннотация: Статья посвящена технологии Connection Points в программах на MFC. Автор кратко описывает сущность и назначение этой технологии, а затем демонстрирует создание COM-клиента и COM-сервера на базе MFC с её использованием.

Ключевые слова:
Автор: Евгений Щербатов
Аннотация: Статья посвящена реализации механизма self-unregistration в СОМ-серверах, созданных на базе библиотеки MFC. Эта возможность, просто необходимая для любого нормального СОМ-сервера, не добавляется в MFC-приложения по умолчанию.

Ключевые слова:
Автор: Nick Hodapp
Перевод: Игорь Ткачёв
Источник: CodeGuru::Using ATL to Automate an MFC Application
Аннотация: Download source - 40 KB

Ключевые слова:
Автор: Евгений Щербатов
Аннотация: В статье рассматриваются вопросы, связанные с использованием работы серверов в режиме Single/Multiple Instances, а так же способы, которыми решается эта задача в MFC и ATL.

Ключевые слова: