ПредишенСледващото

Plz posdkazhite Мона в MFC програмно изпълнение елементи от менюто
системното меню прозорец (възстановяване, преместване, преоразмеряване,
минимизирате, максимизирате, в близост). Класът на прозореца - наследени
от CFrameWnd.

От този списък, аз знам само как да се сведе до минимум
CFrameWnd :: CloseWindow () и затворете CFrameWnd :: DestroyWindow (). А останалите?

--
Rryk
Процесор: 10.108.5.126, ICQ: 112 642 165.
Jabber: ***@jabber.kiev.ua.

Публикувано от новинарски акаунт
SendMessage >> WM_SIZE, WM_GETMINMAXINFO т.н.

Но как да го накара да отидете в ръчен режим на промяна на размера? Т.е.
например, когато натисна Resize в ОИТ. меню, можете да получите на мишката под формата на
пресичат в центъра и да промените размера на Клаудия. И когато в движение, на
съответно може да се движи курсора на екрана на CLAVE.

Как мога да направя това?

PS: По някаква причина, не можех да се обадя на SendMessage (WM_SIZE,
SIZE_MAXIMIZED, 0) - не се променя размера. Мога ли по някакъв начин грешната си
Аз наричам? Това е кода:


анулира CMyWnd :: OnRestore ()
PostMessage (WM_SIZE, SIZE_RESTORED, 0);
>

анулира CMyWnd :: OnMoveWindow ()
// тук?
>

анулира CMyWnd :: OnResizeWindow ()
// тук?
>

анулира CMyWnd :: OnMinimize ()
SendMessage (WM_SIZE, SIZE_MINIMIZED, 0);
>

анулира CMyWnd :: OnMaximize ()
PostMessage (WM_SIZE, SIZE_MAXIMIZED, 0);
>
..
BEGIN_MESSAGE_MAP (CMyWnd, CFrameWnd)
ON_WM_CLOSE ()
ON_WM_CREATE ()
ON_COMMAND (ID_CLOSE, OnClose)
ON_COMMAND (ID_TEXT, OnTextOut)
ON_COMMAND (ID_RESTORE, OnRestore)
ON_COMMAND (ID_MOVE, OnMoveWindow)
ON_COMMAND (ID_RESIZE, OnResizeWindow)
ON_COMMAND (ID_MINIMIZE, OnMinimize)
ON_COMMAND (ID_MAXIMIZE, OnMaximize)
END_MESSAGE_MAP ()
..

--
Rryk
Процесор: 10.108.5.126, ICQ: 112 642 165.
Jabber: ***@jabber.kiev.ua.


BOOL SetWindowPos (конст * CWnd pWndInsertAfter, Int х, Int у, Int CX,
Int CY, UINT nFlags);

Различна от нула, ако функцията е успешен, иначе 0.

параметри
pWndInsertAfter
Идентифицира CWnd обекта, който ще бъде предшестван от обекта
CWnd в Z-ред. Този параметър може да бъде указател към CWnd или
Указател към едно от следните неща:


или wndTopMost не wndNoTopMost не е определено в параметър pWndInsertAfter.
Този прозорец - не на активния прозорец.
Заявката не може да активира неактивен прозорец, за да го преместите
Начало на Z-ред. Заявления могат да променят Z-ред
активира прозорец без ограничения.
Nontopmost прозорец може да има най-горния прозорец, но не и обратното. всеки прозорец
принадлежащи към най-горния прозорец (като диалогов прозорец) самостоятелно
най-горния прозорец е направен, за да се гарантира, че всички, които са в
собственост Window остане над техния собственик.
С Windows 3.1 и по-късно, на прозореца може да бъде преместен на върха на Z-ред
и заключени там от създаването си WS_EX_TOPMOST стилове. Това най-горната
прозорците се посочва, че най-горната позиционирани, дори когато се деактивира.
Ако изберете например WinHelp Винаги отгоре команда прави прозореца на помощта
най-горната, а след това продължи да се вижда, когато се върнете към вашия
прилагане.
За създаване на най-горния прозорец, обадете SetWindowPos с pWndInsertAfter
параметър равен wndTopMost или да зададете стил WS_EX_TOPMOST
при създаване на прозорец. Ако Z-ред съдържа всички прозорци
WS_EX_TOPMOST стил, движейки се от прозорец wndTopMost, стойност
разположен в горната част на всички nontopmost прозорци, но по-долу всички най-горните прозорци. когато
прилагането активира неактивен прозорец без малко прозорец WS_EX_TOPMOST
преместен предимно nontopmost прозорци, но по-долу всички най-горните прозорци.
Ако SetWindowPos се нарича, когато опция pWndInsertAfter -
wndBottom и CWnd - най-горния прозорец, прозорецът губи своята най-горната статус (,
пречистена) и системата поставя прозореца в дъното на Z-ред.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!