mfc-ml

2001年03月

31

[mfc 29682] ツリーコントロール時のイメージ

こんにちは。おうきと申します。
よろしくお願い致します。

ツリーコントロールのドラッグ&ドロップ処理なんですが、
ドラッグ中にアイコンは表示されるんですが、ラベル(テキスト)が
表示されません。エクスプローラのように、何をドラッグしているのか
わかるように、ドラッグ中のアイコンの横にラベルも一緒に見せたいん
ですが、どのようにすればいいのでしょうか?

こんな感じのソースで実行しています
CImageList* m_pimagelist;
/////////////////////
m_pimagelist = CreateDragImage(m_hitemDrag);  // ドラッグ用のイメージ リストを取得します。
m_pimagelist->DragShowNolock(TRUE);
m_pimagelist->SetDragCursorImage(0, CPoint(0, 0));
m_pimagelist->BeginDrag(0, CPoint(0,0));
m_pimagelist->DragMove(ptAction);
m_pimagelist->DragEnter(this, ptAction);
31

[mfc 29681] Re: 8 bitの bitmapを作成保存について

あ、あと最初のご質問にあっと参考文献などですが、

○「プログラミングWindows第5版(下)」 MicrosoftPress
   かなり詳しくビットマップについて説明してあります。
○http://www1.sphere.ne.jp/mizno/
  ここの「別館(ソフト小屋)」にいくとDIBLibraryがあります。
 ソースがすべておいてありますので参考になるかと思います。

*******************************************
   村上 英明( Murakami Hideaki )
   Mail : w...@diana.dti.ne.jp
******************************************* 
31

[mfc 29680] フレキシブルグリッドについて

VC++ Ver6.0 WIN2000

フレキシブルグリッドVer6.0のカーソル移動でのスクロール位置を変更する
やり方を教えて下さい。(固定で20行目からスクロールしてしまいます。)

以上よろしくお願い致します。
31

[mfc 29679] Re: 大容量のスクロール方法

上田@名古屋です。
jellyfishさん、ありがとうございます。

ご提示頂いた貴重なコードを感謝します。
> 実際には GetScrollInfo() や SetScrollInfo() を使うことになると思いますが,
> これについてはご自分で調べてみてください。
>
はい、調べました。
ご提示いただいたコードの一部を GetScrollInfo() や SetScrollInfo() に変更して
バッチリ問題解決しました。(感謝!!)
31

[mfc 29678] CreateRectRgnの正しい指定の仕方を教えてください。

This is a multi-part message in MIME format.

------=_NextPart_000_000F_01C0B9E9.02673290
charset="iso-2022-jp"

河野といいます。
VC++6で、データを使って波形グラフを描画するプログラムを作成しています。
グラフの枠外には波形を書かないように、CreateRectRgnを使おうとしています。
マップモードは、 pDC->SetMapMode( MM_LOMETRIC );にしています。

CreateRectRgnを使わない時には、画面に表示した波形と同じ内容が印刷
出来ました。

CreateRectRgnを使ったところ、CreateRectRgnで描画を制限した要素だけが、
設定したかった範囲よりも非常に小さな範囲のみ印刷されます。

CreateRectRgnの範囲の指定方法が悪いのだろうと思いますが、やり方がわかりませ
ん。

pDC->SetMapMode( MM_LOMETRIC );を使う場合、Y座標の正方向は上向きで、原点は
左上なので、描画の際は、Y座標はマイナスで与えています。

そこで、描画範囲を制限するために、CreateRectRgn(120,-100,1920,-600)と指

したところ、何も描画されませんでした。

試しに、CreateRectRgn(120,100,1920,600)と設定すると、描画されたので、
CreateRectRgnの指定では、Y座標の正方向は下向きだと判断しました。

しかし、制限したい範囲を大きく超えた範囲まで描画されます。
いろいろ試した結果、指定したい数字(120,100等)に0.377を乗じた値をセット
すると、
こちらが指定したい範囲が指定できる事が分かりました。


これで画面への描画は出来たのですが、印刷をしようとすると、CreateRectRgnを
かけないで表示させたグラフ枠や、コメント等は、画面と同様に印刷されるのに、
CreateRectRgnをかけて表示させた波形部分だけが、画面と違って非常に狭い
範囲でしか印刷されません。

CreateRectRgnの正しい指定の仕方を教えてください。
HELPでは、X,Yの論理座標で与えると書いてあったのですが、論理座標とは
何の意味なのでしょうか。

あるいは、CreateRectRgnを使って、画面表示と印刷で同じ範囲を指定する方法を
教えてください。

よろしくお願いします。


------=_NextPart_000_000F_01C0B9E9.02673290
charset="iso-2022-jp"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-2022-jp">
<META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2>=1B$B2OLn$H$$$$$^$9!#=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>=1B$B#V#C!\!\#6$G!"%G!<%?$r;H$C$FGH7A%0%i%U$rIA2h$9$k%W%m%0%i%`$=
r:n@.$7$F$$$^$9!#=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>=1B$B%0%i%U$NOH30$K$OGH7A$r=3Dq$+$J$$$h$&$K!"=1B(BCreateRectRgn=1B=
$B$r;H$*$&$H$7$F$$$^$9!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2>=1B$B%^%C%W%b!<%I$O!"=1B(B</FONT><FONT =
size=3D2>&nbsp;pDC-&gt;SetMapMode(=20
MM_LOMETRIC );=1B$B$K$7$F$$$^$9!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT =
size=3D2>CreateRectRgn=1B$B$r;H$o$J$$;~$K$O!"2hLL$KI=3D<($7$?GH7A$HF1$8Fb=
MF$,0u:~=1B(B</FONT></DIV>
<DIV><FONT size=3D2>=1B$B=3DPMh$^$7$?!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT =
size=3D2>CreateRectRgn=1B$B$r;H$C$?$H$3$m!"=1B(BCreateRectRgn=1B$B$GIA2h$=
r@)8B$7$?MWAG$@$1$,!"=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>=1B$B@_Dj$7$?$+$C$?HO0O$h$j$bHs>o$K>.$5$JHO0O$N$_0u:~$5$l$^$9!#=1B=
(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT =
size=3D2>CreateRectRgn=1B$B$NHO0O$N;XDjJ}K!$,0-$$$N$@$m$&$H;W$$$^$9$,!"$d=
$jJ}$,$o$+$j$^$;$s!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>pDC-&gt;SetMapMode( MM_LOMETRIC=20
);=1B$B$r;H$&>l9g!"#Y:BI8$N@5J}8~$O>e8~$-$G!"86E@$O=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>=1B$B:8>e$J$N$G!"IA2h$N:]$O!"#Y:BI8$O%^%$%J%9$GM?$($F$$$^$9!#=1B=
(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT =
size=3D2>=1B$B$=3D$3$G!"IA2hHO0O$r@)8B$9$k$?$a$K!"=1B(B</FONT><FONT=20
size=3D2>CreateRectRgn=1B$B!J=1B(B120=1B$B!$=1B(B-100=1B$B!$=1B(B1920=1B$=
B!$=1B(B-600=1B$B!K$H;XDj=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>=1B$B$7$?$H$3$m!"2?$bIA2h$5$l$^$;$s$G$7$?!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>=1B$B;n$7$K!"=1B(B</FONT><FONT=20
size=3D2>CreateRectRgn=1B$B!J=1B(B120=1B$B!$=1B(B100=1B$B!$=1B(B1920=1B$B=
!$=1B(B600=1B$B!K$H@_Dj$9$k$H!"=1B(B</FONT><FONT=20
size=3D2>=1B$BIA2h$5$l$?$N$G!"=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>CreateRectRgn=1B$B$N;XDj$G$O!"#Y:BI8$N@5J}8~$O2<8~$-$@$HH=3DCG$7=
$^$7$?!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT =
size=3D2>=1B$B$7$+$7!"@)8B$7$?$$HO0O$rBg$-$/D6$($?HO0O$^$GIA2h$5$l$^$9!#=1B=
(B</FONT></DIV>
<DIV><FONT =
size=3D2>=1B$B$$$m$$$m;n$7$?7k2L!";XDj$7$?$$?t;z=1B(B(120,100=1B$BEy!K$K#=
0!%#3#7#7$r>h$8$?CM$r%;%C%H$9$k$H!"=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>=1B$B$3$A$i$,;XDj$7$?$$HO0O$,;XDj$G$-$k;v$,J,$+$j$^$7$?!#=1B(B</=
FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT =
size=3D2>=1B$B$3$l$G2hLL$X$NIA2h$O=3DPMh$?$N$G$9$,!"0u:~$r$7$h$&$H$9$k$H!=
"=1B(BCreateRectRgn=1B$B$r=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>=1B$B$+$1$J$$$GI=3D<($5$;$?%0%i%UOH$d!"%3%a%s%HEy$O!"2hLL$HF1MM$=
K0u:~$5$l$k$N$K!"=1B(B</FONT></DIV>
<DIV><FONT =
size=3D2>CreateRectRgn=1B$B$r$+$1$FI=3D<($5$;$?GH7AItJ,$@$1$,!"2hLL$H0c$C=
$FHs>o$K69$$=1B(B</FONT></DIV>
<DIV><FONT size=3D2>=1B$BHO0O$G$7$+0u:~$5$l$^$;$s!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT =
size=3D2>CreateRectRgn=1B$B$N@5$7$$;XDj$N;EJ}$r65$($F$/$@$5$$!#=1B(B</FON=
T></DIV>
<DIV><FONT =
size=3D2>=1B$B#H#E#L#P$G$O!"#X!$#Y$NO@M}:BI8$GM?$($k$H=3Dq$$$F$"$C$?$N$G$=
9$,!"O@M}:BI8$H$O=1B(B</FONT></DIV>
<DIV><FONT size=3D2>=1B$B2?$N0UL#$J$N$G$7$g$&$+!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT =
size=3D2>=1B$B$"$k$$$O!"=1B(BCreateRectRgn=1B$B$r;H$C$F!"2hLLI=3D<($H0u:~=
$GF1$8HO0O$r;XDj$9$kJ}K!$r=1B(B</FONT></DIV>
<DIV><FONT size=3D2>=1B$B65$($F$/$@$5$$!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>=1B$B$h$m$7$/$*4j$$$7$^$9!#=1B(B</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_000F_01C0B9E9.02673290--
記事検索
Amazon.co.jp
  • ライブドアブログ