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

Уроки по Visual C++ (MFC, платформа .NET)


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


Visual C++.NET. FAQ. Уроки с сайта http://progs.biz

Рассылка № 65

Visual C++.NET. FAQ. Урок 1. Как отключить кнопку с крестиком для закрытия программы?
Visual C++.NET. FAQ. Урок 2. Как отключить закрытие программы по Alt+F4?
Visual C++.NET. FAQ. Урок 3. Как в стандартном диалоге разрешить выбор нескольких файлов одновременно?.

Полные версии уроков (с картинками) можно найти по адресам:
Вопрос 1. Как отключить кнопку с крестиком для закрытия программы?
Вопрос 2. Как отключить закрытие программы по Alt+F4?
Вопрос 3. Как в стандартном диалоге разрешить выбор нескольких файлов одновременно?.

Т. Арчер, Э. Уайтчепел. Visual C++ .NET. Библия пользователя.

Заказать на Озоне

Подробнее

Рассылки сайта progs.biz через subscribe.ru
Уроки по C# и .NET
Уроки по C# - новому языку от Microsoft для платформы .NET. Создание разных типов приложений (консольные, для Windows, веб-приложения), работа с базами данных, создание собственных компонентов. Примеры, исходники, статьи, FAQ.

Вопрос 1. Как отключить кнопку с крестиком для закрытия программы?

Вот код, который это делает:

CMenu* pMenu = GetSystemMenu(FALSE); // Получаем системное меню.
  pMenu->EnableMenuItem(SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);

Указанный код будет работать, например, в диалоговом окне.

Если же надо отключить кнопку с крестиком у главного окна MFC-программы, использующей архитектуру Документ-Вид, то это можно сделать аналогично, только надо добраться до главного окна. Вот так:

CMenu* pMenu = AfxGetMainWnd()->GetSystemMenu(FALSE);
    pMenu->EnableMenuItem(SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);

Кнопка после этого будет отключена.

Наверх

Вопрос 2. Как отключить закрытие программы по Alt+F4?

Для этого переписываем обработчик для WM_CLOSE. Для сего щелкаем правой кнопкой мыши на имени класса главного диалогового окна нашего приложения, выбираем там Add Windows Message Handler, и в появившемся окне делаем двойной щелчок на WM_CLOSE. Перходим в созданную заготовку обработчика сообщения и убираем отттуда вызов метода родителя:

void CTestDlg::OnClose() 
{
 // TODO: Add your message handler code here and/or call default
 
 //CDialog::OnClose(); <-Эту строчку убираем
}

Все! Теперь наше окно не будет закрываться по Atl+F4!

Наверх

Вопрос 3. Как в стандартном диалоге разрешить выбор нескольких файлов одновременно?

Для этого надо добавить значение OFN_ALLOWMULTISELECT для Flags:

    ...
    CFileDialog dlg(TRUE);
    //Позволяем выбрать несколько файлов одновременно
    dlg.m_ofn.Flags|=OFN_ALLOWMULTISELECT;
    //Показываем диалог
    dlg.DoModal();
    ...

Теперь можно выбирать одновременно несколько файлов.

Наверх

PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка .NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru
Copyright Алексеев Игорь, 2002-2004
Copyright сайт progs.biz, 2002-2004
Распространение материалов без разрешения владельцев авторских прав запрещено.


BannerDrive.ru

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


В избранное