|
http://tikitak.narod.ru ---- Главная страница сайта
Шаг 49 - Эксперименты над диалоговым окном
Создание проекта
Воспользуемся из предыдущего шага. Нам необходимо в ресурсах создать иконку.
Создание кода
Изменим нашу функцию реации нажатия на кнопку
void CTestDlg::OnSend()
{
MoveWindow( 100, 100 , 300, 300,TRUE );
HICON newIcon= AfxGetApp()->LoadIcon(IDI_ICON1);
SetIcon(newIcon,TRUE);
SetWindowText("Move");
}
Описание
Цель данного шага научиться делать то, что вроде запрещено. Итак у нас диалоговое окно, в котором изменять размер запрещено. Это часто бывает обоснованно. Проще запретить изменение размера окна, чем постоянно центрировать элементы. При установке удаленного доступа, по нажатию на СВЕДЕНИЯ диалоговое окно увеличивается, хотя мышкой размер изменить нельзя.
Все эти эффекты и многие другие основанны на том, что диалоговое окно имеет хорошего папу в виде CWnd. Свойствами папы мы и воспользуемся.
MoveWindow перемещает окно . Первые два параметра - это положение относительно рабочего стола, а вторые два параметра это ширина и высота, TRUE указывает на необходимость перерисовки окна. А так как ширина и высота указывается, мы этим и пользуемся для изменения диалогвого окна.
Следующие строки кода меняют иконку диалогового окна. Для этого нам необходимо получить указатель на иконку, этот указатель получается через класс окна. Это функция LoadIcon, результатом её пыполнения является указатель на иконку. В эту функцию передается идентификатор иконки из ресурсов.
Функция SetIcon используя указатель устанавливает иконку в диалоговом окне.
SetWindowsText изменяет текст заголовка диалогового окна.
Запускайте и компилируйте. Нажимайте на кнопку. Окно переместится , изменится иконка, и заголовок окна.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|