1) V helpe (MSDN) má CmdType len dve návratové hodnoty 0 a 1. V príklade vracia rôzne. Viď podmienka
if (fxLastCmdType = WM_SYSCOMMAND_MOVE_WINDOW) then
No to nevim, na co ses koukal

Pri praci se zpravami v Delphi je treba podivat se do unit
messages.pas. Zprava ve Windows API je kod zpravy (message) a jeji dva nepovinne parametry WParam a LParam (historicky Word a Long) a pri jejim zpracovani se nekdy vraci nejaka navratova hodnota. A v MSDN zpravy hledas
vyhradne pres hodnotu kodu zpravy tj. nejake WM_xxxx, LB_xxx milion dalsich.
V Delphi to vsechno nastrkali do recordu
TMessage a pak pro ruzne hodnoty kodu (typu zpravy) nadefinovali hafo dalsich recordu, ktere jen jinak formatuji tu zakladni
TMessage a AFAIK, tak uz to nezdokumentovali, cimz IMHO udelali vic skody nez uzitku, protoze pri praci se zpravami se vyhradne pouziva popis z MSDN.
Ty potrebujes znat zaklady Windows API. Nejaka klasicka dila jako Petzold apod. vysla i v cestine, ale to je pro tebe zbytecne rozsahla a detailni materie, tobe by melo stacit projit nejaky tutorial k API, namatkou jsem vygooglil http://programujte.com/clanek/2005122808-win32-api-uvod/
2) nerozumiem tejto podmienke
. if not (Message.WindowPos^.flags and SWP_NOMOVE = SWP_NOMOVE) and
. (Self.Owner is TfrmMaster) then
Message.WindowPos^.flags - tento zápis je pre mňa španielska dedina.
Message je typu
TWMWindowPosMsg, ktera to co je v MSDN LPARAM nazyva
WindowPos, coz je ukazatel na
TWindowPos (v MSDN record WINDOWPOS), ktery ma clen
flagsSWP_NOMOVE = SWP_NOMOVE - Podľa mňa musí byť vždy True. Porovnávame jednu a tú istú hodnotu.
Jenomze je treba divat se na to jako na cely vyraz, ktery obsahuje vice operatoru s ruznou prioritou. Ta prvni cast
Message.WindowPos^.flags and SWP_NOMOVE
je bitova operace logickeho soucinu, ktere se rika maskovani, protoze slouzi k tomu, ze vynuluje bity, ktere te nezajimaji. A vysledek v tomto pripade porovnava s maskou SWP_NOMOVE cili se pta, jestli je ve flags nastaveno SWP_NOMOVE na jednicky.
Tento i predchozi bod - to je neznalost zakladu programovani a jazyka Pascal - to by chtelo nejakou ucebnici Pascalu.
Prosba: Kde by som si mohol viac komplexne prečítať v češtine o Message?
Message = porozumeni principum Windows API. Jejich popis je celkem dobre popsan (anglicky) pod kodem zpravy v MSDN, v cestine nic takoveho AFAIK neexistuje. A pak nahlednout do Delphi
messages.pas, abys videl, jak Bordeland Windows API zamlzil, cas od casu je treba nahlednout i do
windows.pas, protoze prepis API neni logicky konzistentni, nekde maji ukazatele, nekde naplacali var argumenty apod.
Jinak my treba z duvodu srozumitelnosti kodu ty Delphi specifika krome
TMessage nepouzivame a drzime se API.