ATL/WTL Part7

■ このスレッドは過去ログ倉庫に格納されています
2012/02/21(火) 22:22:16.72
ATLとWTLについて語り合って下さい。

WTL配布元
http://wtl.sourceforge.net/

過去ログ
■(Part1) ATL/WTL
http://piza.2ch.net/test/read.cgi/tech/978029639/l50
■(Part2-1) ATL 相談室
http://pc5.2ch.net/test/read.cgi/tech/1029029882/l50
■(Part2-2) WTLお勉強スレッド
http://pc5.2ch.net/test/read.cgi/tech/1078150663/l50
■ATL/WTL Part3
http://pc8.2ch.net/test/read.cgi/tech/1095442366/l50
■ATL/WTL Part4
http://pc8.2ch.net/test/read.cgi/tech/1134388951/l50
■ATL/WTL Part5
http://pc11.2ch.net/test/read.cgi/tech/1155951708/
■ATL/WTL Part6
http://toro.2ch.net/test/read.cgi/tech/1198757953/
2012/02/21(火) 22:22:48.16
関連サイトなど
■The So-Software Studio
ttp://home.att.ne.jp/banana/akatsuki/
■WTL研究所
ttp://homepage1.nifty.com/Roy_/Software/WTL/WTL.htm
■WTL support list
ttp://tech.groups.yahoo.com/group/wtl/
■The Code Project - ATL, WTL
ttp://www.codeproject.com/KB/atl/
ttp://www.codeproject.com/KB/wtl/
■viksoe
ttp://www.viksoe.dk/code/
■MSDN
ttp://msdn2.microsoft.com/ja-jp/library/t9adwcde.aspx
ttp://www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/ATLwindowing/
ttp://www.microsoft.com/japan/msdn/library/ja/vccore/html/_atl_ATL_Window_Classes.asp
■Virtual Truth Lab.
ttp://lamoo.s53.xrea.com/develop/
■日曜プログラマの仕事べや
ttp://hp.vector.co.jp/authors/VA022575/c/
2012/02/23(木) 21:31:54.73
>>1
2012/02/23(木) 23:40:41.45
前スレ>>996
>>997-998の方法でとりあえず多段タブをやってみた
ドラッグドロップでタブを並べ替えるときのマーカーの位置がおかしいけど
なんとか行けそうな感じはする

MultilineTabView
http://www1.axfc.net/uploader/Sc/so/322032
2012/02/24(金) 04:23:24.27
ドラッグ中の描画の問題に対処してみた
WinXPとWin7上で動作を一応確認

Multiline Tab View
http://www1.axfc.net/uploader/Sc/so/322097
6996
垢版 |
2012/02/24(金) 15:51:33.56
うぉおおぉ!!!
素晴らしすぎて感動しました…
タブのドラッグ描画とかもちゃんと対応してくれてるんですね
大切に使わせて頂きたいと思います。
本当にありがとうございます。
2012/02/26(日) 00:31:47.53
ごめん、>>5で使ってるWTLはちょっと古かった
今更ながら確認したら最新版のWTL(8.1.11324)ではどうやらフォント関連に変更があったようなので
標準の CTabView の動作に合わせるよう整理しました
最新版のWTLでビルドすれば多くの環境でフォントが綺麗なものになるはず

http://www1.axfc.net/uploader/Sc/so/322627
2012/02/28(火) 23:51:49.96
>>7
超乙。
2012/02/29(水) 00:34:29.52
>>7
めちゃ乙!
2012/02/29(水) 02:17:49.61
リボンが追加されただけじゃなかったのか
油断してたわ
2012/03/04(日) 00:44:09.29
DION規制長かった…
規制の理由がmonazilla UA の 同一IPアドレスからの要求爆撃とかどんだけ
2012/03/05(月) 09:16:14.74
CRect には operator LPRECT が定義されているのに
CPoint, CSize には operator LPPOINT, operator LPSIZE が定義されていない。
何か理由があるんだろうか?
2012/03/05(月) 17:52:48.32
未完成なOSだからまだ実装されてないんじゃないかな
2012/03/05(月) 20:55:48.65
お、おーえす?
2012/03/05(月) 21:51:40.20
助けてくれって意味だよ
2012/03/05(月) 23:12:41.68
それは涼宮
2012/03/06(火) 11:58:13.66
完成と同時に崩壊が始まるのでわざと未完のままにする為だよ
2012/03/07(水) 00:34:31.00
最後の部分を描いたら空に昇っちゃうんだぞ。
2012/03/07(水) 00:40:03.63
それは大変!東照宮の柱を直してあげなきゃね!!
2012/03/07(水) 11:20:52.85
ヤンデレ
2012/03/10(土) 23:34:33.87
CSplitterWindowの左右のビュー間をTABキーでフォーカス移動したいんだけど
自分でキー入力捕まえてフォーカス移動しないとだめ?
2012/03/11(日) 00:10:29.76
ごめん違う人だけど質問させて
CDialog系列ではなくCWindow系列のウィンドウをモーダル表示したいのですが
可能ですか?
Create 時に dwStyle = WS_POPUPWINDOW | WS_VISIBLE を設定しても無反応でした
やりかたをご存じでしたら教えて下さい。

最悪の場合、ポップアップ表示できたらモードレスでも何でも構わないです
CDialogだとpixel指定やら初期化時やらの勝手が違ってしまうので…
2012/03/11(日) 00:15:17.17
>>22
Create時にウィンドウの位置と大きさ指定してるか?
2422
垢版 |
2012/03/11(日) 00:54:46.04
ごめんなさい根本的にCWindowでクラス名を打ち間違えてました
そりゃ表示されるわけないですねw

WS_POPUP / WS_POPUPWINDOW のモーダル化はうまくいっていないので
現在試行錯誤してますが普通にモーダレスになってしまってて…難航中です。
2012/03/11(日) 02:45:36.03
>>22
CWindowでモーダルは無理だろ。
2012/03/11(日) 09:07:40.16
>>24
表示するタイミングでオーナーウィンドウ.EnableWindow(FALSE) で無効化してやる
終わったら EnableWindow(TRUE) で元に戻す
クリック時に自前でFlushWindowとかやる必要があったかも知れないけどよく覚えてない
2012/03/11(日) 17:04:10.08
EnableWindow&クリック時にポップアップウィンドウをFlushWindow
で実装するしかない…みたいですね
どうもありがとう。
28デフォルトの名無しさん
垢版 |
2012/03/11(日) 21:14:54.48
現在VC++2010Expressでアプリケーションの開発を行なっています。
windows7で作成したWTLアプリケーションをXPで動かそうとすると
ボタンが表示されなかったり、Lunaスタイルを指定しているのに、Lunaスタイルではなく表示されていたりと、
いろいろおかしな現象が発生します。
これってATLを静的にリンクしたことが原因でしょうか?
その場合、VC++Expressだと解決策はないのでしょうか?
2012/03/11(日) 21:59:24.29
ExpressでWTL動かせるようになったのか・・
2012/03/11(日) 22:30:27.81
ATLをリンクしない設定にしていても普通にアプリケーションが動いてしまう不思議
2012/03/11(日) 23:32:57.21
WTLとATLの区別がついていない予感がするに1票
2012/03/11(日) 23:37:00.56
実際には何がちがうの?
2012/03/12(月) 00:06:47.79
>>29
ググったらパッチ配ってるとこありました。

>>30-31
ご指摘の通り、ATLリンクしないにしてもコンパイル出来ましたが、
以前として現象が続いてます。別なとこに原因があるのかもしれません。
2012/03/12(月) 01:03:05.99
AtlInitCommonControls
2012/03/12(月) 07:02:33.03
そういうことなの?
2012/03/12(月) 07:17:37.60
古いPlatform SDKについてるATL3を使って無理やりWTL動かしてるんでしょ
もう動かんだろさすがに
WDKあたりにATL7が入ってるからそっち使いなさい
37デフォルトの名無しさん
垢版 |
2012/03/12(月) 12:37:11.41
>>34
AtlInitCommonControlsはすでに使っています。
順番が悪いのかと思って色々変えているのですが、一向に変わる気配がありません。

>>36
使っているSDKは7.0です。
WDKはもうインストール済みで、パスも通っています。
ビルド時の警告で以下の警告が出力されますがこれが原因でしょうか
CIL library( CIL module) : warning LNK4078: 複数の 'ATL' セクションが見つかりました。これらは異なる属性 (50301040) を持っています。
3837
垢版 |
2012/03/13(火) 16:15:08.60
原因わかりました。
API関数の一部にXPと7とで挙動が変わるものがあるらしく、それが原因で
表示のされかたに差異がでたようです。
結果としてすれ違いとなってしまいました。
2012/03/17(土) 08:48:36.93
>>38
自己完結ぜずに挙動の違うAPI晒してくれよ Orz
4037
垢版 |
2012/03/18(日) 12:34:15.00
>>39
プッシュライクなチェックボタンに対して、GetIdealSizeで
ウィンドウテキスト分のサイズの大きさを取得しようとすると、
XPだと横幅0、Windows7だと一定の横幅(ウィンドウテキストに最適化されたサイズではない)が取得されるようです。
これにはGetTextExtentPoint32をつかって自前で測って対処しました。
あと、エディットコントロールの背景色を変える際に、誤ってNULLを渡してしまうと、
XPだと黒、Windows7だと白になります。
あまり詳しく調べていないので他に条件があるかもしれません。
結局のところAPIの使い方がなっていなかったと思います。

2012/03/18(日) 15:28:32.51
>>40が該当するかは知らないが、
BCM_GETIDEALSIZEにXPとVista以降で動作が違うと書かれてる
2012/03/18(日) 21:15:37.10
>>41
Windows SDKのドキュメントって未だに大部分が英語ですのぅ。。
2012/03/18(日) 21:19:04.43
日本語化してくれるのは歓迎だけど、同じページで英語版よりも情報量が少ないのは勘弁。結局、英語の使うことになる
2012/03/18(日) 21:19:27.52
拡張エラー情報を取得するには、 関数を使います。
2012/03/18(日) 21:23:14.83
>>43
昔のMSDNは重要な注意事項が日本語翻訳版になかったりしましたね。
でも今のWeb版のMSDNドキュメントは英語と日本語の両方がでますよ。
マウス当てるだけで英語がポップアップするのはウザイけど。
2012/03/19(月) 03:59:35.92
日本語版なんて誤訳ばっかりで意味不明なのに
2012/03/19(月) 04:01:24.68
このハンドルは、、、、 いずれかの関数の戻り値です。
2012/03/19(月) 12:17:25.57
>>44
ワロタ
2012/03/19(月) 20:41:45.63
>>46
MSDNなんて完璧な翻訳だったとしても意味不明だがw
2012/03/19(月) 20:43:51.08
確かにw
2012/03/19(月) 21:29:23.14
普通に英語で見るよ。
日本語だとかえってわからんw
2012/03/19(月) 21:45:07.38
敵性言語を操るとは非国民だな
2012/03/20(火) 01:41:24.47
日本語そんなに間違ってるの?
大体は日本語版見てるわ
2012/03/20(火) 02:29:46.36
>>44を筆頭にまともに使える日本語ページを探す方が難しくないか?
2012/03/20(火) 08:15:24.91
あのおせっかいな機械語翻訳いらんわ
2012/03/20(火) 08:57:15.94
http://msdn.microsoft.com/ja-jp/library/ee421951%28v=vs.85%29.aspx
2012/03/20(火) 09:28:07.09
ちょっとわらったw
2012/03/20(火) 09:39:08.47
>>53
今のは随分とマシになったよ。
VC6の頃は日本語の文章が英語の半分くらいの量しかないことなんて良くあった。
減っている部分に重要な事が書いてあるから日本語のだけ見るとどつぼにはまる。
2012/03/20(火) 20:09:34.14
>>55
機械語翻訳てw
逆アセンブラすか。

>>56
IDXGISurface::マップ
HRESULT マップ(
DXGI_MAPPED_RECT *pLockedRect,
UINT MapFlags
);

・・・なごんだ。
追加定義なしでコンパイルできたらMS信者になるw
2012/03/20(火) 20:19:25.99
>>56
これはいくらなんでもひどすぎw
2012/03/20(火) 21:02:07.85
DirectXスレかMSDNスレでやってくれ
2012/03/20(火) 21:29:37.71
WTLはMSDN読まなきゃ何も出来ないんぢゃないの?
2012/03/20(火) 21:33:00.66
WTLはMSDNよりもむしろソースコード読まないと何もできない
2012/03/20(火) 21:37:04.32
見事なくらいドキュメントないからなぁ
2012/03/20(火) 21:39:49.46
ドキュメントないのに使えるってすごくね
2012/03/20(火) 21:45:21.61
そんなときはincludeフォルダに入ってるヘッダをぶち込んだだけのプロジェクト作って
クラスビューをまったりと眺めてると新境地が見えてくる
2012/03/20(火) 21:50:37.68
Express版なのでクラスビューがない Orz
2012/03/20(火) 23:11:27.49
WTL Documentation
ttp://www.viksoe.dk/code/wtldoc.htm
ちょっと古いか
2012/03/21(水) 01:29:15.59
So-Soのソースを全部コピペ&ビルドすればほぼ理解できる
あとは応用

ATL/WTLじゃなくて全部ATL1本にしてたらもっと流行ってたんだろうか
2012/03/21(水) 20:13:39.95
>>69
So-Soさんとこはコピペしないでも、プロジェクトから実行ファイルまで
全部おいてくれてるよ。
全部手で打つなら、別の意味があると思うけど。
2012/03/21(水) 20:18:18.28
>>69
それではMFCの立場がなくなるがな。
2012/03/22(木) 00:23:03.35
プロパティグリッドがホスィ
2012/03/30(金) 00:20:01.48
CTabViewのタブ位置を左にしたい
2012/03/30(金) 00:23:32.24
もとから左じゃね
2012/03/30(金) 07:13:02.61
元は上じゃね?
2012/03/30(金) 07:36:00.36
普通のウィンドウでIsDialogMessage呼んで
タブキーでのフォーカス移動をしようとしてるんだけど
ボタンやエディットボックスにはフォーカスが移るのに
自作コントロールには移らない。
自作コントロールにフォーカスが移る場面になると
他のコントロールからフォーカスが外れるけど
自作コントロールには何のメッセージも飛んでこない。
WS_GROUPとWS_TABSTOPはつけてる。
ボタンなんかは特殊な処理してるの?
2012/03/30(金) 09:48:30.07
>>76
思い当たるのは WM_GETDLGCODE メッセージに対して DLGC_WANT* を返してやることくらいかな

ただ何のメッセージも飛んでこない、ってとこから察するに
ウィンドウの親子関係とかIsDialogMessageの使い方とかその辺りから何かを間違えてる可能性が
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況