Nikolay Sivov : comctl32/header: Add support for HDS_FLAT style.
Alexandre Julliard
julliard at winehq.org
Mon Jun 22 09:04:15 CDT 2009
Module: wine
Branch: master
Commit: 25d916e73a454da0d6fd8ea4f7a8b4927e10047b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=25d916e73a454da0d6fd8ea4f7a8b4927e10047b
Author: Nikolay Sivov <bunglehead at gmail.com>
Date: Sun Jun 21 01:25:03 2009 +0400
comctl32/header: Add support for HDS_FLAT style.
---
dlls/comctl32/header.c | 30 +++++++++++++++++++-----------
1 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/dlls/comctl32/header.c b/dlls/comctl32/header.c
index fed582d..1486a8a 100644
--- a/dlls/comctl32/header.c
+++ b/dlls/comctl32/header.c
@@ -329,18 +329,21 @@ HEADER_DrawItem (HEADER_INFO *infoPtr, HDC hdc, INT iItem, BOOL bHotTrack, LRESU
}
else {
HBRUSH hbr;
-
- if (infoPtr->dwStyle & HDS_BUTTONS) {
- if (phdi->bDown) {
- DrawEdge (hdc, &r, BDR_RAISEDOUTER,
- BF_RECT | BF_FLAT | BF_MIDDLE | BF_ADJUST);
+
+ if (!(infoPtr->dwStyle & HDS_FLAT))
+ {
+ if (infoPtr->dwStyle & HDS_BUTTONS) {
+ if (phdi->bDown) {
+ DrawEdge (hdc, &r, BDR_RAISEDOUTER,
+ BF_RECT | BF_FLAT | BF_MIDDLE | BF_ADJUST);
+ }
+ else
+ DrawEdge (hdc, &r, EDGE_RAISED,
+ BF_RECT | BF_SOFT | BF_MIDDLE | BF_ADJUST);
}
else
- DrawEdge (hdc, &r, EDGE_RAISED,
- BF_RECT | BF_SOFT | BF_MIDDLE | BF_ADJUST);
+ DrawEdge (hdc, &r, EDGE_ETCHED, BF_BOTTOM | BF_RIGHT | BF_ADJUST);
}
- else
- DrawEdge (hdc, &r, EDGE_ETCHED, BF_BOTTOM | BF_RIGHT | BF_ADJUST);
hbr = CreateSolidBrush(GetBkColor(hdc));
FillRect(hdc, &r, hbr);
@@ -547,14 +550,19 @@ HEADER_Refresh (HEADER_INFO *infoPtr, HDC hdc)
if (theme != NULL) {
DrawThemeBackground(theme, hdc, HP_HEADERITEM, HIS_NORMAL, &rcRest, NULL);
}
- else {
+ else if (infoPtr->dwStyle & HDS_FLAT) {
+ hbrBk = GetSysColorBrush(COLOR_3DFACE);
+ FillRect(hdc, &rcRest, hbrBk);
+ }
+ else
+ {
if (infoPtr->dwStyle & HDS_BUTTONS)
DrawEdge (hdc, &rcRest, EDGE_RAISED, BF_TOP|BF_LEFT|BF_BOTTOM|BF_SOFT|BF_MIDDLE);
else
DrawEdge (hdc, &rcRest, EDGE_ETCHED, BF_BOTTOM|BF_MIDDLE);
}
}
-
+
if (infoPtr->iHotDivider != -1)
HEADER_DrawHotDivider(infoPtr, hdc);
More information about the wine-cvs
mailing list