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 руб./мес


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




 Урок 13. Задаем начальный размер компонента / Библиотека ATL / Visual C++

Visual C++. ATL
Урок 13. Задаем начальный размер компонента

Сейчас наш компонент имеет стандартный размер при помещении на форму (например, в VB). Но это нас не устраивает: обычно разные компоненты имеют разные начальные размеры в зависимости от своей функциональности.

Для изменения начального размера компонента просто измените значение его поля m_sizeExtent типа SIZE в конструкторе объекта. Это поле мы получаем в наследство от класса CComControl, который является предком нашего компонента.

Вот пример кода:

    CMyComp()
    {
        // Задаем размеры в пикселах.
        SIZE size;
        size.cx = 80;
        size.cy = 150;
        // Переводим размер в писелах
        // в размер в сотых частях миллиметра.
        SIZE sizeHiMetric;
        AtlPixelToHiMetric(&size, &sizeHiMetric);
        // Установливаем новый размер.
        m_sizeExtent = sizeHiMetric;
    }

Обратите внимание, что поле m_sizeExtent содержит размеры компонента не в пикселах, а в сотых долях миллиметра. И для перевода пикселов в сетые доли миллиметра мы используем функцию AtlPixelToHiMetric.

Теперь, например, в Visual Basic 6 после того, как мы двойным щелчком перенесем компонет из Toolbox'а на форму, он будет иметь размеры 80 на 150 пикселей:

Компонент с заданным размером