2010-06-20 2 views
1

Y at-il un moyen possible d'obtenir la hauteur de la barre de menu inférieure - celle avec le menu Démarrer - sur Windows Mobile 6.5.3? Je peux obtenir la hauteur de la barre de menu supérieure de différentes manières, comme en utilisant la fonction SystemParametersInfo et en envoyant SPI_GETWORKAREA comme paramètre uiAction, ou en utilisant la fonction GetMonitorInfo, mais toutes ces fonctions peuvent aider à calculer la hauteur de la barre de menu supérieure. Avec les versions précédentes de Windows Mobile, la hauteur des barres supérieure et inférieure était standard, 26 pixels pour les périphériques QVGA et 52 pour les périphériques VGA, mais ce n'est pas le cas dans Windows Mobile 6.5.3, où la barre supérieure a une hauteur de 18, et l'inférieur seulement Dieu sait pour l'instant :)Comment obtenir la hauteur de la barre de menu inférieure de Windows Mobile 6.5.3

Merci d'avance pour toute aide.

Ayman

Répondre

0

Il est en fait appelé la barre des tâches inférieure.

hTBWnd = FindWindow (_T ("HHTaskBar"), NULL)

Cela vous obtient une poignée de la barre des tâches. Ensuite, vous pouvez utiliser GetWindowRect pour obtenir les quatre coins de la barre des tâches, et la hauteur calculée en soustrayant haut de la fin. Si HHTaskBar n'est pas trouvé, Tray peut fonctionner.

HWND hTBWnd; 
RECT windowRect; 

hTBWnd = FindWindow(_T("HHTaskBar"), NULL); 
if (hTBWnd != NULL) 
{ 
    GetWindowRect(hwnd, &windowRect); 
    CString csLongAsString; 
    csLongAsString.Format(_T("Height: %ld"), windowRect.bottom - windowRect.top); 
    MessageBox(NULL, csLongAsString, _T("HHTaskBar"), MB_OK); 
    return(0); 
} else 
{ 
    hTBWnd = FindWindow(_T("Tray"), NULL); 
    if (hTBWnd != NULL) 
    { 
    GetWindowRect(hwnd, &windowRect); 
    CString csLongAsString; 
    csLongAsString.Format(_T("Height: %ld %ld"), windowRect.bottom, windowRect.top); 
    MessageBox(NULL, csLongAsString, _T("Tray"), MB_OK); 
    } else 
    { 
    MessageBox(NULL, _T("Window get failed"), _T("FAILED TO FIND WINDOW"), MB_OK); 
    return(0); 
    } 
} 
+0

En fait, j'essayé HHTaskBar et n'a pas fonctionné, mais je vais essayer Tray et voir si cela fonctionne, merci :) – Ayman

0
Rectange toolBarRect = GetWindowRect(toolBar.Handle); 
Questions connexes