X



ATL/WTL Part7
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
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/
0002デフォルトの名無しさん
垢版 |
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/
0006996
垢版 |
2012/02/24(金) 15:51:33.56
うぉおおぉ!!!
素晴らしすぎて感動しました…
タブのドラッグ描画とかもちゃんと対応してくれてるんですね
大切に使わせて頂きたいと思います。
本当にありがとうございます。
0007デフォルトの名無しさん
垢版 |
2012/02/26(日) 00:31:47.53
ごめん、>>5で使ってるWTLはちょっと古かった
今更ながら確認したら最新版のWTL(8.1.11324)ではどうやらフォント関連に変更があったようなので
標準の CTabView の動作に合わせるよう整理しました
最新版のWTLでビルドすれば多くの環境でフォントが綺麗なものになるはず

http://www1.axfc.net/uploader/Sc/so/322627
0011デフォルトの名無しさん
垢版 |
2012/03/04(日) 00:44:09.29
DION規制長かった…
規制の理由がmonazilla UA の 同一IPアドレスからの要求爆撃とかどんだけ
0012デフォルトの名無しさん
垢版 |
2012/03/05(月) 09:16:14.74
CRect には operator LPRECT が定義されているのに
CPoint, CSize には operator LPPOINT, operator LPSIZE が定義されていない。
何か理由があるんだろうか?
0021デフォルトの名無しさん
垢版 |
2012/03/10(土) 23:34:33.87
CSplitterWindowの左右のビュー間をTABキーでフォーカス移動したいんだけど
自分でキー入力捕まえてフォーカス移動しないとだめ?
0022デフォルトの名無しさん
垢版 |
2012/03/11(日) 00:10:29.76
ごめん違う人だけど質問させて
CDialog系列ではなくCWindow系列のウィンドウをモーダル表示したいのですが
可能ですか?
Create 時に dwStyle = WS_POPUPWINDOW | WS_VISIBLE を設定しても無反応でした
やりかたをご存じでしたら教えて下さい。

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

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

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

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

0043デフォルトの名無しさん
垢版 |
2012/03/18(日) 21:19:04.43
日本語化してくれるのは歓迎だけど、同じページで英語版よりも情報量が少ないのは勘弁。結局、英語の使うことになる
0045デフォルトの名無しさん
垢版 |
2012/03/18(日) 21:23:14.83
>>43
昔のMSDNは重要な注意事項が日本語翻訳版になかったりしましたね。
でも今のWeb版のMSDNドキュメントは英語と日本語の両方がでますよ。
マウス当てるだけで英語がポップアップするのはウザイけど。
0058デフォルトの名無しさん
垢版 |
2012/03/20(火) 09:39:08.47
>>53
今のは随分とマシになったよ。
VC6の頃は日本語の文章が英語の半分くらいの量しかないことなんて良くあった。
減っている部分に重要な事が書いてあるから日本語のだけ見るとどつぼにはまる。
0059デフォルトの名無しさん
垢版 |
2012/03/20(火) 20:09:34.14
>>55
機械語翻訳てw
逆アセンブラすか。

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

・・・なごんだ。
追加定義なしでコンパイルできたらMS信者になるw
0066デフォルトの名無しさん
垢版 |
2012/03/20(火) 21:45:21.61
そんなときはincludeフォルダに入ってるヘッダをぶち込んだだけのプロジェクト作って
クラスビューをまったりと眺めてると新境地が見えてくる
0069デフォルトの名無しさん
垢版 |
2012/03/21(水) 01:29:15.59
So-Soのソースを全部コピペ&ビルドすればほぼ理解できる
あとは応用

ATL/WTLじゃなくて全部ATL1本にしてたらもっと流行ってたんだろうか
0070デフォルトの名無しさん
垢版 |
2012/03/21(水) 20:13:39.95
>>69
So-Soさんとこはコピペしないでも、プロジェクトから実行ファイルまで
全部おいてくれてるよ。
全部手で打つなら、別の意味があると思うけど。
0076営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/03/30(金) 07:36:00.36
普通のウィンドウでIsDialogMessage呼んで
タブキーでのフォーカス移動をしようとしてるんだけど
ボタンやエディットボックスにはフォーカスが移るのに
自作コントロールには移らない。
自作コントロールにフォーカスが移る場面になると
他のコントロールからフォーカスが外れるけど
自作コントロールには何のメッセージも飛んでこない。
WS_GROUPとWS_TABSTOPはつけてる。
ボタンなんかは特殊な処理してるの?
0077営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/03/30(金) 09:48:30.07
>>76
思い当たるのは WM_GETDLGCODE メッセージに対して DLGC_WANT* を返してやることくらいかな

ただ何のメッセージも飛んでこない、ってとこから察するに
ウィンドウの親子関係とかIsDialogMessageの使い方とかその辺りから何かを間違えてる可能性が
0083営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/04/06(金) 21:35:12.33
CCommandBarCtrlの上の余白って無くせない?
メインウィンドウをWS_POPUPにして最大化した時に
スクリーン上部でマウスクリックできるようにしたい。
0086デフォルトの名無しさん
垢版 |
2012/04/17(火) 19:04:10.87
Windows7まではATLでWindows8からはWinRTになるのかな
nenadstefanovicさんのモチベは大丈夫かな
0088デフォルトの名無しさん
垢版 |
2012/04/18(水) 21:13:07.36
テキストボックスの推奨高さみたいなのを取得する方法あったら教えて下さ
0089デフォルトの名無しさん
垢版 |
2012/04/19(木) 14:39:08.16
default values for their height properties.
Textbox = 20
Label = 23
Button = 23
Checkbox = 24
Combobox = 21 (is fixed)
DomainUpDown = 20
NumericUpDown = 20
0093デフォルトの名無しさん
垢版 |
2012/04/20(金) 15:12:30.69
使いやすければ多少OSの標準?と違ってもいいような
Vista以降ボタンのサイズがやや肥大化してるみたいだし
厳密に大きさが規定されているわけでは無さそう
こだわるならプロジェクト無いで統一する程度でいいのでは
0096デフォルトの名無しさん
垢版 |
2012/04/27(金) 03:04:29.64
Windows3.1のころのボタンは結構大きかったよね。
画面サイズの変化に取り残されて小さくなった。
0098デフォルトの名無しさん
垢版 |
2012/06/29(金) 10:13:26.66
質問です
Visual Studioでフォルダを選択する時には
ファイルダイアログで「フォルダーを開く」ことができますが
この機能が使いたいです。

これをWTLで実現することはできますか?
0099デフォルトの名無しさん
垢版 |
2012/06/29(金) 10:21:23.32
あー、フォルダダイアログじゃなくて、フォルダを選択できるファイルダイアログか
■ このスレッドは過去ログ倉庫に格納されています

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