2009-06-10 7 views

Répondre

0

Il y a cette astuce j'ai trouvé here pour dessiner un contrôle sans bordure, puis dessiner la bordure de son parent. ou faites un contrôle statique légèrement plus grand que le contrôle juste pour dessiner la bordure.

Y a-t-il une meilleure idée? comme faisant usage de la région de découpage de fenêtre ou quelque chose?

mise à jour:
Here est une discussion avec un MSFT sur le sujet

0

Je ne suis pas sûr que vous pouvez sans mettre en œuvre un tirage personnalisé. MFC dans Windows Mobile fonctionne presque exactement de la même manière que la version win32

Donc, si vous pouvez trouver des exemples de ce que vous voulez qui fonctionne dans Win32, il fonctionnera probablement aussi sous Windows Mobile.

+0

J'ai trouvé des exemples sur la façon d'utiliser Dessiner personnalisé message (NM_CUSTOMDRAW) pour changer la couleur de fond de CListCntl, mais je n'en ai pas trouvé un qui change la couleur de la bordure. –

1

Vous pouvez obtenir un tel effet en dérivant votre propre classe CEdit et passer outre WM_NCPAINT message, ce qui vous permet de peindre la zone non-client vous-même et vous dessinez propres frontières lorsque le focus est changé:

void CMyEdit::OnNcPaint() 
{ 
    CWindowDC dc(this); 
    CRect rect; 
    GetWindowRect(&rect); 
    dc.Draw3dRect(0, 0, rect.Width(), rect.Height(), RGB(0,0,255) , RGB(255,0,0)); 
} 
+0

AFAIK Les messages non clients tels que WM_NCPAINT ne sont généralement pas disponibles dans les systèmes d'exploitation Windows CE. –

Questions connexes