質問するログイン新規登録

質問編集履歴

2

コメントの間違いの修正

2020/12/28 21:30

投稿

mery
mery

スコア28

title CHANGED
File without changes
body CHANGED
@@ -159,7 +159,7 @@
159
159
  return CDRF_NOTIFYITEMDRAW;
160
160
  case CDDS_ITEMPREPAINT:
161
161
 
162
- //CDIS_DISABLED以外のCDIS_SELECTEDやCDIS_DISABLEDと比較してもうまくいかなかった
162
+ //CDIS_GRAYED以外のCDIS_SELECTEDやCDIS_DISABLEDと比較してもうまくいかなかった
163
163
  if (lplvcd->nmcd.uItemState == CDIS_GRAYED) {
164
164
  lplvcd->clrText = RGB(255, 255, 255);
165
165
  lplvcd->clrTextBk = RGB(0, 0, 255);//行選択時の背景色が分からないので適当

1

ソースコードの変更

2020/12/28 21:30

投稿

mery
mery

スコア28

title CHANGED
File without changes
body CHANGED
@@ -99,7 +99,8 @@
99
99
  LVITEM item;
100
100
  DWORD dwStyle;
101
101
  static HWND hbutton;
102
-
102
+ LPNMHDR lpnmhdr;
103
+ LPNMLVCUSTOMDRAW lplvcd;
103
104
  switch (msg) {
104
105
  case WM_CREATE:
105
106
  InitCommonControls();
@@ -148,6 +149,26 @@
148
149
  ListView_SetItem(hList, &item);
149
150
 
150
151
  break;
152
+ case WM_NOTIFY:
153
+
154
+ lpnmhdr = (LPNMHDR)lp;
155
+ if (lpnmhdr->code == NM_CUSTOMDRAW) {
156
+ lplvcd = (LPNMLVCUSTOMDRAW)lp;
157
+ switch (lplvcd->nmcd.dwDrawStage) {
158
+ case CDDS_PREPAINT:
159
+ return CDRF_NOTIFYITEMDRAW;
160
+ case CDDS_ITEMPREPAINT:
161
+
162
+ //CDIS_DISABLED以外のCDIS_SELECTEDやCDIS_DISABLEDと比較してもうまくいかなかった
163
+ if (lplvcd->nmcd.uItemState == CDIS_GRAYED) {
164
+ lplvcd->clrText = RGB(255, 255, 255);
165
+ lplvcd->clrTextBk = RGB(0, 0, 255);//行選択時の背景色が分からないので適当
166
+ }
167
+ break;
168
+ }
169
+
170
+ }
171
+ break;
151
172
  case WM_SIZE:
152
173
  MoveWindow(hList, 0, 0, LOWORD(lp), HIWORD(lp)/2, TRUE);
153
174
  MoveWindow(hbutton, 0, HIWORD(lp) / 2, LOWORD(lp), HIWORD(lp) / 2+1, TRUE);