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

質問編集履歴

2

開発環境の追記

2015/10/28 04:58

投稿

architect
architect

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,11 @@
1
1
  下記のプログラムを実行するとステータスが0×0100と0×0300しか返ってこず、
2
2
  if分が実行されません。
3
+
4
+ MFCダイアログでは上手く実行できますが、
5
+ ActiveXでは上手く実行できません。
3
6
  原因がわからず困っています。
4
7
 
5
- この記述がおいのでしょうか?
8
+ この記述だとActiveXでは上手くいいのでしょうか?
6
9
  UINT nState = lpDrawItemStruct->itemState;
7
10
 
8
11
  現状:ボタンを押下しても下2ケタの2ビットが取得できない。
@@ -10,6 +13,11 @@
10
13
  ODS_SELECTED 0x0001
11
14
  ODS_FOCUS 0x0010
12
15
 
16
+ 開発環境
17
+ ・Visual Studio 2008
18
+ ・ActiveXコントロール
19
+ ・Windows7
20
+
13
21
  ```VC++
14
22
  void CAXSMPCtrl::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
15
23
  {

1

 

2015/10/28 04:58

投稿

architect
architect

スコア17

title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,9 @@
2
2
  if分が実行されません。
3
3
  原因がわからず困っています。
4
4
 
5
+ この記述がおかしいのでしょうか?
6
+ UINT nState = lpDrawItemStruct->itemState;
7
+
5
8
  現状:ボタンを押下しても下2ケタの2ビットが取得できない。
6
9
  <取得したい値>
7
10
  ODS_SELECTED 0x0001
@@ -19,7 +22,7 @@
19
22
 
20
23
  CDC* pDC = &dc;
21
24
  CString strCaption;
22
- **UINT nState = lpDrawItemStruct->itemState; **
25
+ UINT nState = lpDrawItemStruct->itemState;
23
26
  CRect focusRect, btnRect;
24
27
  focusRect.CopyRect(&lpDrawItemStruct->rcItem);
25
28
  btnRect.CopyRect(&lpDrawItemStruct->rcItem);
@@ -38,7 +41,7 @@
38
41
  DrawCaption(pDC, btnRect, GetTextColor(),strCaption);
39
42
  pDC->DrawEdge(btnRect,EDGE_RAISED,BF_RECT);
40
43
 
41
- **// フォーカスを得たときや選択されているとき
44
+ // フォーカスを得たときや選択されているとき
42
45
  if (nState & ODS_FOCUS)
43
46
  {
44
47
  if (nState & ODS_SELECTED)
@@ -50,7 +53,7 @@
50
53
  else if(nState & ODS_DISABLED)
51
54
  {
52
55
  DrawCaption(pDC, btnRect, GetDisabledColor(), strCaption);
53
- }**
56
+ }
54
57
  dc.Detach();
55
58
  return;
56
59
  }