OVH Cloud OVH Cloud

TileWindows

2 réponses
Avatar
PurL
Bonjour,

Ma fenetre principale charge plusieurs autres fenetres (pas MDI).
Je voudrais utilisée la fonction TileWindows pour rangers en mosaiques ces
fenetres.
Or cette fonction me renvoie un code d'erreur et j'obtiens le message
(FormatMessage + GetLastError) : "Parametres incorrects"
L'imprécision de ce message ne me permet pas de comprendre ce qui cloche.
Auriez-vous un exemple d'application de cette fonction ?

Voici mon code (BCB5) :

HWND tabHWND[COURBES_NB_MAX];
RECT tmpRect;

GetSurfaceClient(tmpRect); //tmpRect = {top = 0, left = 0, right
= 1152, bottom = 725}

//chargement des handle des fenetres dans un tableau de HWND
for (int i = 0; i < Projet->listCourbes->Count; i++)
tabHWND[i] = ((CCourbes
*)Projet->listCourbes->Items[i])->frmCourbes->Handle;

if (!TileWindows(Handle, MDITILE_HORIZONTAL, &tmpRect,
Projet->listCourbes->Count, tabHWND))
{
LPVOID lpMsgBuf;

FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);

ErrorMessage((AnsiString)((char *)lpMsgBuf));

// Free the buffer.
LocalFree( lpMsgBuf );
}

Merci pour votre aide,

PurL

2 réponses

Avatar
Christian ASTOR
PurL a écrit:

Ma fenetre principale charge plusieurs autres fenetres (pas MDI).
Je voudrais utilisée la fonction TileWindows pour rangers en mosaiques ces
fenetres.
Or cette fonction me renvoie un code d'erreur et j'obtiens le message
(FormatMessage + GetLastError) : "Parametres incorrects"



Si le premier paramètre n'est pas NULL, il faut que les fenêtres à
arranger soient ses childs et aient le style WS_CHILDWINDOW.
Avatar
Christian ASTOR
PurL a écrit:

Ma fenetre principale charge plusieurs autres fenetres (pas MDI).
Je voudrais utilisée la fonction TileWindows pour rangers en mosaiques ces
fenetres.
Or cette fonction me renvoie un code d'erreur et j'obtiens le message
(FormatMessage + GetLastError) : "Parametres incorrects"



Si le premier paramètre n'est pas NULL (ou GetDesktopWindow()), il faut
que les fenêtres à arranger soient ses childs et aient le style
WS_CHILDWINDOW.