C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Дополнения к шагам 107 и 108 / Комментарии к статьям / Разное

Дополнения к шагам 107 и 108.

У получившейся программы есть два забавных побочных эффекта:
  1. Если нажать кнопку SysTray, и сразу после этого завершить нажатием "OK" или "Escape", иконка не всегда исчезает из SysTray ! Почему иногда иконка исчезает, а иногда нет - непонятно. Но, если перегрузить функцию DestroyWindow() (при помощи хотя бы того же ClassWizard) и вписать в код всего одну строчку:
    BOOL CTestSystrayDlg::DestroyWindow()
    {
     OnButton2();
    
     return CDialog::DestroyWindow();
    }
    
    ,то программа, закрываясь, сама будет тушить свою иконку (например, имитируя нажатие кнопки "Remove" перед закрытием).
  2. Если после запуска программы, не нажав "SysTray", сразу нажать "Hide", то диалоговое окно исчезнет, а иконка не появится. И щелкать мышью больше некуда, чтобы вернуть диалоговое окно. Простейший, наверное, способ эту неприятность исправить следующий:
    void CTestSystrayDlg::OnButton3()
    {
     OnButton1();
     ShowWindow(SW_HIDE);
    }
    
    Т.е. прежде чем прятать окошко, имитируем нажатие кнопки "SysTray", чтобы иконка точно появилась.

    И еще пожелание. Дабы поменьше читатели типа меня чувствовали себя сначала дураками, предлагаю вместо кода типа

    ...
    if (lp==515) AfxMessageBox("Click");
    ...
    
    (это в функции CTestSystrayDlg::OnIcon) использовать код типа
    ...
    if (lp==WM_LBUTTONDBLCLK) AfxMessageBox("Click");
    ...
    
    Работает идентично, а выглядит все ж не так непонятно. Если бы еще и узнать, где в хелпах о таких подробностях почитать можно... Надо ж на основе уроков mfcbystep и свой собственный код научиться сочинять.

Прислал Andriy Yashan.
Автор : Каев Артем.