Comment désactiver le style WS_CAPTION d'une fenêtre (à l'aide de user32.dll)?
Question
J'intègre une application tierce dans un panneau d'un formulaire Windows C # (avec SetParent
à partir de user32.dll). Je dois ensuite désactiver le style de fenêtre WS_CAPTION
de la barre de titre afin qu'il ressemble à une partie de l'application d'hébergement.
Comment changer le style d'une fenêtre pour y parvenir?
Par exemple, disons _hWnd
est le descripteur de l'application à incorporer.
La solution
SetWindowLong (_hWnd, GWL_STYLE, GetWindowLong (_hWnd, GWL_STYLE) & amp; ~ WS_CAPTION);
Autres conseils
Si la mémoire est bonne, vous pourrez peut-être faire un GetWindowLong sur le style, | = ~ WS_CAPTION sur cette valeur, puis SetWindowLong. Voir ces API dans MSDN.
Voir aussi: http://www.codeguru.com/forum/ showthread.php? t = 352963
Consultez WindowInterceptor
.Utilisez GetWindowLong pour récupérer le style de la fenêtre et masquer le code < > WS_CAPTION , puis définissez le style mis à jour à l'aide de SetWindowLong . :
var style = GetWindowLong(_hWnd, GWL_STYLE);
SetWindowLong(_hWnd, GWL_STYLE, style & ~WS_CAPTION);
et avec le code d'assistance suivant:
const int GWL_STYLE = -16;
const int WS_CAPTION = 0x00C00000;
[DllImport ("user32")]
private static extern int GetWindowLong(System.IntPtr hwnd, int nIndex);
[DllImport ("user32")]
private static extern int SetWindowLong(System.IntPtr hwnd, int index, int newLong);