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

Программирование. Форум !!!

Изменение размеров окна

Hello!
Есть SDI-приложение с поддержкой doc/view. Необходимо после запуска
приложения и создания окна менять программно его размер. Может кто-нибудь
подскажет, как это сделать. Размер желательно менять в функции
OnNewDocument. Пробовал использовать функцию Move Window, но она при вызове
из указанного выше места требует HWND окна, который я не смог получить.
--
With best regards, Жигалов Андрей. E-mail: zhigalov***@m*****.ru

Номер выпуска : 3571
Возраст листа : 363 (дней)
Количество подписчиков : 466
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/230840
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Sun, 19 Sep 2004 17:49:41 +0400 (#230840)

 

Ответы:

Здравствуйте !

Может, что то типа этого попробовать :

POSITION pos = GetFirstViewPosition();

CView *pFirstView = GetNextView(pos);

if(pFirstView != NULL)
pFirstView->GetParentFrame()->MoveWindow(0, 0, 100, 100);

если уж прямо из OnNewDocument надо.

А вообще, более грамотно (если именно надо создать окно с нужными
координатами) делать это в PreCreateWindow окна-рамки MDI
(обычно класс по умолчанию зовется CChildFrame), изменяя члены
x, y, cx, cy передаваемой в PreCreateWindow структуры CREATESTRUCT.

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru

Номер выпуска : 3572
Возраст листа : 363 (дней)
Количество подписчиков : 466
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/230902
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Sun, 19 Sep 2004 20:22:28 +0400 (#230902)

 

Hello, Victor!
You wrote to "comp.soft.prog.prog (3542212)" <zhigalov***@m*****.ru> on Sun, 19
Sep 2004 20:22:28 +0400:

Огромное спасибо, все замечательно работает.

Да я знаю как задать размер при создании окна, но в данном случае требуется
изменить размер именно готового окна. Еще раз большое спасибо.
--
With best regards, Жигалов Андрей. E-mail: zhigalov***@m*****.ru

Номер выпуска : 3577
Возраст листа : 364 (дней)
Количество подписчиков : 466
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/231002
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Mon, 20 Sep 2004 03:49:10 +0400 (#231002)

 

Здравствуйте, Жигалов.

Вы писали 19 сентября 2004 г., 16:49:41:

Жигалов Андрей> Hello!
Жигалов Андрей> Есть SDI-приложение с поддержкой
Жигалов Андрей> doc/view. Необходимо после запуска
Жигалов Андрей> приложения и создания окна менять
Жигалов Андрей> программно его размер. Может кто-нибудь
Жигалов Андрей> подскажет, как это сделать. Размер
Жигалов Андрей> желательно менять в функции
Жигалов Андрей> OnNewDocument. Пробовал использовать
Жигалов Андрей> функцию Move Window, но она при вызове
Жигалов Андрей> из указанного выше места требует HWND
Жигалов Андрей> окна, который я не смог получить.

Здесь много чего непонятно. Особенно, как это неполучилось узнать
хендл окна? И какого окна? Главного, что ли, вот этого SDI-приложения?
Быть такого не может! Расскажите, как вы его ищете?
А так реализация - правильная!

Ответить   Шешунов Вадим Mon, 20 Sep 2004 00:27:49 +0300 (#230994)

 

Hello, Шешунов!
You wrote to "comp.soft.prog.prog (3542212)" <zhigalov***@m*****.ru> on Mon, 20
Sep 2004 00:27:49 +0300:

Разобрался я как можно получить хендл окна, хотя по-моему мой вариант
слишком усложнен, но работает.

HWND hh=AfxGetMainWnd()->CWnd::GetSafeHwnd();
MoveWindow(hh,0,0,100,100,TRUE);
А как можно получить Хендл дочернего окна или любого другого? Спасибо.
--
With best regards, Жигалов Андрей. E-mail: zhigalov***@m*****.ru

Номер выпуска : 3578
Возраст листа : 364 (дней)
Количество подписчиков : 466
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/231004
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Mon, 20 Sep 2004 04:12:27 +0400 (#231004)

 

Здравствуйте, Жигалов.

Вы писали 20 сентября 2004 г., 3:12:27:

Жигалов Андрей> Разобрался я как можно получить хендл
Жигалов Андрей> окна, хотя по-моему мой вариант
Жигалов Андрей> слишком усложнен, но работает.

Жигалов Андрей> HWND hh=AfxGetMainWnd()->CWnd::GetSafeHwnd();
Жигалов Андрей> MoveWindow(hh,0,0,100,100,TRUE);
Жигалов Андрей> А как можно получить Хендл дочернего
Жигалов Андрей> окна или любого другого? Спасибо.
Так получается, что у вас не SDI, a MDI-приложение, раз речь идет о
дочерних окнах. Это важно и вот почему: хендлы главного окна и
диалоговых окон приложения можно получить функцией API
HWND hh=FindWindow(ИМЯ_КЛАССА, ЗАГОЛОВОК_ОКНА), причем если ИМЯ_КЛАССА
неизвестно, его можно заменить null'ом. Для получения хендла первого
дочернего окна
HWND hch=GetWindow(hh, GW_CHILD).
А всех остальных для поиска нужного
HWND hch=GetWindow(hh, GW_HWNDNEXT)

Номер выпуска : 3579
Возраст листа : 364 (дней)
Количество подписчиков : 466
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/231272
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Шешунов Вадим Mon, 20 Sep 2004 14:26:17 +0300 (#231272)