Win32API質問箱 Build ..
2:デフォルトの名無しさん
08/02/04 02:43:45
- MSDN ホームページ
URLリンク(www.microsoft.com)
- MSDN ライブラリ
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
- MSDN2 ライブラリ
URLリンク(msdn2.microsoft.com)
URLリンク(msdn2.microsoft.com)
- MSDN ライブラリ (ローカル版)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
- Windows SDK & Platform SDK
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
3:デフォルトの名無しさん
08/02/04 02:44:29
- Google
URLリンク(www.google.com)
- 猫でもわかるプログラミング
URLリンク(www.kumei.ne.jp)
- Win32 API入門
URLリンク(wisdom.sakura.ne.jp)
- Win32 プログラミング入門
URLリンク(www7.plala.or.jp)
- Advanced Windows (書籍)
URLリンク(www.amazon.co.jp)
-おまけ
Build19が見たい人で余裕のある人は●でも買ってくれ。
4:デフォルトの名無しさん
08/02/04 02:54:07
60 スレリンク(tech板)
59 スレリンク(tech板)
58 スレリンク(tech板)
57 スレリンク(tech板)
56 スレリンク(tech板)
55 スレリンク(tech板)
54 スレリンク(tech板)
53 スレリンク(tech板)
52 スレリンク(tech板)
51 スレリンク(tech板)
50 スレリンク(tech板)
49 スレリンク(tech板)
48 スレリンク(tech板)
47 スレリンク(tech板)
46 スレリンク(tech板)
45 スレリンク(tech板)
44 スレリンク(tech板)
43 スレリンク(tech板)
42 スレリンク(tech板)
41 スレリンク(tech板)
5:デフォルトの名無しさん
08/02/04 02:54:39
40 スレリンク(tech板)
39 スレリンク(tech板)
38 スレリンク(tech板)
37 スレリンク(tech板)
36 スレリンク(tech板)
35 スレリンク(tech板)
34 スレリンク(tech板)
33 スレリンク(tech板)
32 スレリンク(tech板)
31 スレリンク(tech板)
30 スレリンク(tech板)
29 スレリンク(tech板)
28 スレリンク(tech板)
27 スレリンク(tech板)
26 スレリンク(tech板)
25 スレリンク(tech板)
24 スレリンク(tech板)
23 スレリンク(tech板)
22 スレリンク(tech板)
21 スレリンク(tech板)
6:デフォルトの名無しさん
08/02/04 02:55:10
20 スレリンク(tech板)
19 スレリンク(tech板)
18 スレリンク(tech板)
17 スレリンク(tech板)
16 スレリンク(tech板)★
15 スレリンク(tech板)★
14 URLリンク(pc5.2ch.net)
13 URLリンク(pc5.2ch.net)
12 URLリンク(pc5.2ch.net)
11 URLリンク(pc5.2ch.net)
10 URLリンク(pc5.2ch.net)
9 URLリンク(pc5.2ch.net)
8 URLリンク(pc5.2ch.net)
7 URLリンク(pc3.2ch.net)
6 URLリンク(pc3.2ch.net)
5 URLリンク(pc3.2ch.net)
4 URLリンク(pc3.2ch.net)
3 URLリンク(pc.2ch.net)
2 URLリンク(pc.2ch.net)
1 URLリンク(pc.2ch.net)
7:デフォルトの名無しさん
08/02/04 03:54:28
>>1 乙
8:デフォルトの名無しさん
08/02/04 17:41:20
いろいろググってわからなかったので、質問します。
GetFocus()でフォーカスのあるウィンドウハンドルを取得し、このウィンドウが文字入力できるかできないかを知るためにはどんな関数があるでしょうか?
Immやウィンドウ情報関係を見てみたのですが、見つかりませんでした。
ボタンに対して文字入力できない、エディットボックスはできる、という判定をしたいためです。
有識者の方、よろしくお願いします。
9:デフォルトの名無しさん
08/02/04 17:46:44
よ〜く考えればわかる
10:デフォルトの名無しさん
08/02/04 17:51:07
なんか押してみる
11:デフォルトの名無しさん
08/02/04 18:08:06
サブクラス化してて入力できるボタンだったり、完全オリジナルなコントロールだったらどうするんだろう?
12:デフォルトの名無しさん
08/02/04 19:13:42
WM_GETDLGCODEを送ってみるとか
13:デフォルトの名無しさん
08/02/04 19:22:41
ウィンドウクラスがEDITかどうかとか
14:前スレ981
08/02/05 00:09:30
>>984
へんな書き方ですいません。
項目ABCがリソース使ってメニューを作れることは確認してます。
また、項目ABCDEFをリソースで持たずに、全てInsertMenu()でも作ってみました。
わからないのは、
項目ABCはリソースで持ってて、
Bのサブメニューである項目DEFをInsertMenu()あたりの関数で追加して作る方法があるかどうか、
ということでした。
ご存知ありませんか?
15:デフォルトの名無しさん
08/02/05 00:11:44
質問なんですが
ウインドウにエディットボックスを作ったのですが
エディットはサブクラス化していてWM_PAINTで
線を描画したのですがエディットに書き込むことが
できなくなりました。何か良い方法ないですか?
16:デフォルトの名無しさん
08/02/05 00:33:07
>>14
D,E,Fを持ったメニューハンドルをhSubMenuとして、
SetMenuItemInfo()でBを書き換えればいいんじゃないの?
17:デフォルトの名無しさん
08/02/05 09:09:19
>>15
エディットボックスをサブクラス化してWM_PAINTを奪ったんだろ?
それって、書き込まれたものを描画してないだけじゃねーの?
18:デフォルトの名無しさん
08/02/05 09:49:08
どうもすみません、教えてください。
縦スクロールするウィンドウの全てを、1枚の画像としてキャプチャしたいのですが、
PrtScを擬似的に発生させる方法では、不可能ですよね??
(PrtScでは、画面に表示させている部分しかキャプチャされないので・・・)
そういった機能を持ったフリーソフトも幾つかある様なので、
何かしら方法があると思うのですが、どうしても分かりません(ググっても分かりませんでした)。
『 縦スクロールするウィンドウの全てを、1枚の画像としてキャプチャする方法 』
をご存知の方は、ぜひともご教授ください。
お願い致します。m(。−_−。)m
19:デフォルトの名無しさん
08/02/05 10:05:20
>>18
ウィンドウをスクロールさせつつキャプチャしてるだけだと思われ
現在のスクロールバーの位置みて、動的に描画してるアプリもあるだろうし、
API一発でゴッソリ抜けるってのはないかと
20:デフォルトの名無しさん
08/02/05 10:20:59
> PrtScを擬似的に発生させる方法では、不可能ですよね??
仮にそんな方法で出来たとしてもキャプチャの為だけにクリップボードを勝手に書き換えるソフトなんてやだなあ
それはそうと、IEの描画をキャプチャしてるソフトとかはIEのinterface使ってると思われ
とりあえずIHTMLPainterとかそれっぽいのが見つかった
IE以外だとスクロールバーを自前で描いてるソフトもあるから結構難しいと思う
21:デフォルトの名無しさん
08/02/05 10:25:17
既にある加え新しく作ったウィンドウを作った場合、そのウィンドウを終了する際の
処理ってDestroyWindowだけでPostQuitMessage(0);はいらないんですか?
PostQuitMessage(0);をすると全てのウィンドウが消えてしまうんですが
22:デフォルトの名無しさん
08/02/05 10:32:26
>>21
いらない
PostQuitMessageはメッセージループを終了させるのに使う
23:デフォルトの名無しさん
08/02/05 10:56:47
PostQuitMessageはメインウインドウのWM_DESTROYで呼ぶべや。
メインウインドウをDestroyするのにPostQuitMessageを使ってたんか?
24:デフォルトの名無しさん
08/02/05 11:13:51
>>22
ありがとうございます。メッセージループを抜けるときだけに使うんですね
>>23
WM_DESTROYでPostQuitMessageしてたんで、新しく作ったウィンドウのプロシージャ
の方にWM_DESTROYがきたときもPostQuitMessageしたらプログラムが終了してしまった
ので聞いてみました
25:デフォルトの名無しさん
08/02/05 15:07:02
Win32プログラミングに関して英語で一番情報量が多いサイトってMSDN以外にはどこがありますか?
26:デフォルトの名無しさん
08/02/05 15:08:25
Google
27:デフォルトの名無しさん
08/02/05 16:03:14
>>26
MSDNを入れても一番情報量が多いなw
28:デフォルトの名無しさん
08/02/05 18:10:31
URLリンク(www.kumei.ne.jp)
このプログラムのhChild1のハンドルがFindWindow("mychild1",NULL)では取得できませんでした
取得できない理由を教えてエロい人
29:デフォルトの名無しさん
08/02/05 18:27:42
URLリンク(msdn.microsoft.com)
調べろカス
30:デフォルトの名無しさん
08/02/05 18:42:17
うは。。。親を持たないウィンドウのみだったのね。。。
31:デフォルトの名無しさん
08/02/05 21:48:42
>>28のプログラムでいうhWndのハンドルってグローバル使わない方法で取得するとしたらスマートな方法ある?
あとCreatWindow()で親ウィンドウのハンドルだけ与えてWS_CHILDをつけないのって問題あり?
32:デフォルトの名無しさん
08/02/05 22:17:17
#define WS_OVERLAPPED 0x00000000L
33:デフォルトの名無しさん
08/02/05 22:18:22
>>31
前者の答えとしては、作成時に渡したIDでGetDlgItemを呼び出すか、
SetPropでウィンドウにデータを関連付けてしまう方法もある。
後者は、WS_CHILDもWS_POPUP無しだとWS_OVERLAPPEDになるな。
で、指定した親ウィンドウは、作ったウィンドウのオーナーになる。
34:デフォルトの名無しさん
08/02/05 23:57:49
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?
35:は@c44.010.c3-net.ne.jp ◆cplnFO9T0I
08/02/06 00:48:55 BE:272355269-2BP(1001)
ダイアログボックスについて質問です
・コントロールを一時的に無効化する方法
・最大化メッセージを奪い取って破棄する方法
(→WM_SYSCOMMANDのSC_MAXIMIZEを横取りしてもうまくいかず、Spy++でアタッチしているときのみうまくいきました)
この2つを教えてください。
36:デフォルトの名無しさん
08/02/06 01:21:01
>>35
前者:EnableWindow()
後者:wParam == SC_MAXIMIZEの時、return TRUE;
37:8
08/02/06 10:06:46
返信いただいた方、ありがとうございます。
>>11
そこまで考慮していませんでしたが、対象外とさせてください。
>>12
試してみましたが、秀丸などエディタに対しては0リターンとなりました。これはウィンドウハンドルがダイアログじゃないからでしょうか。
ウィンドウハンドルならダイアログじゃなくても判断しないといけないので、これは採用できないです。
>>13
>ウィンドウクラスがEDITかどうか
を判定するにはGetClassLong(hWnd, GCL_STYLE)を使えということでしょうか?
38:デフォルトの名無しさん
08/02/06 10:14:29
ほんとにEDITなのかを確認するのならGetClassName()でいいだろう
で、質問者は何のためにそれが知りたいの?
WM_CHARを受け付けるかどうかなんて、実際のとこ投げてみるまでわからんと思うが。
39:8
08/02/06 10:49:20
>>38
エディットボックスだけならGetClassName()でいけそうですが、秀丸のようなエディタのウィンドウだと任意の名称みたいなので、採用できなさそうです。
理由はIMEの仕事をしていまして、キーイベントを受け付けて文字表示する前に、文字入力可能な画面かどうかを判断したかったためです。
まわりくどいことしなくても、もっと◎な方法がありそうな気がして今もググってる最中です(-_-;)
40:デフォルトの名無しさん
08/02/06 10:55:48
そこまで行くと汎用的な方法は無いよ
ググったって出てこない
WM_CHARに対する実装は結局コード書いてる人依存だから
エディットボックスだって反応する保障はない
41:デフォルトの名無しさん
08/02/06 11:04:57
マジレs
文字入力を支援するというか、標準的な入力として提供してるのがエディトボックスなわけで
なにもエディトボックスをサブクラスしないと入力できないわけではない
もし 8 が「入力できるウインドウ」と汎用的に言ってるなら 40 の言うように不可能かと。
そもそもエディトボックスしかり、入力したのが表示されるという仕組みまで見ると
キーボードから入力があれば、なにを押されたかプロシージャなりで判断し自前のバッファに覚えて
「文字に見える画像やカーソル(キャレット)を画像として表示」しているウインドウにしかすぎない。
42:デフォルトの名無しさん
08/02/06 11:06:57
そういやIMEはどこで判断してるんだろうな。
リードオンリーなEDITでも出てこないよな。
43:デフォルトの名無しさん
08/02/06 11:07:21
>>39
1. GetWindowLongPtrでウィンドウプロシージャを得る
2. 逆アセンブラを積む
3. 得られたウィンドウプロシージャを順次逆汗してWM_KEYDOWN/WM_CHAR/WM_IME_***に対してエディタっぽい事をしてるか調べる
この方法が現実的でない限り、方法は無いといっていいだろうなぁ
ま、IMEの状態制御はアプリ側での実装になるからね
44:デフォルトの名無しさん
08/02/06 11:15:06
>>42
IMEの動作も実装者任せ。自分でやるならimm.h辺りを使えばいい
45:デフォルトの名無しさん
08/02/06 11:37:34
EDITしか使った事ないと、IMEやキャレットが自動的に出てくるもんだと思っちゃうかもな。
だから何か特別"文字入力できるウィンドウ"という属性があると考えるのかもしれない。
46:8
08/02/06 12:45:34
IMEが持っている情報の中でなんとかやってみる方向になりました。
いや〜IME側の資料ってほんと少ないです。
いろんな意見ありがとうございました。
47:デフォルトの名無しさん
08/02/06 12:46:21
逆にいえば、IMEとしての体裁をしっかり作っておけば相手を気にしなくても動くはずなんだが。
48:デフォルトの名無しさん
08/02/06 16:07:24
exeファイルからDLLのように関数をexportすることって出来ますか?
普通ならmain.exe, sub.dllを作ってsub.dllからexportするんでしょうが
mainsub.exeみたいにひとつにまとめられたらそうしたいんですが。
49:デフォルトの名無しさん
08/02/06 16:22:43
ひとつのexeにまとめるんならエクスポート/インポートする必要ないのでは?
50:デフォルトの名無しさん
08/02/06 16:28:19
いやいや
51:デフォルトの名無しさん
08/02/06 16:32:41
sub.dllを使うのはどのプログラムなん?
main.exeだけだったら>>49が言うようにmain.exeのソースコード内に書いておけばいい話だし
52:デフォルトの名無しさん
08/02/06 16:47:47
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?
53:デフォルトの名無しさん
08/02/06 16:48:31
exeがエクスポート関数を持ちたいって事?
ふつーに__declspec(dllexport)とか.defファイル用意とか#pragma comment(linker, "/export:...")で出来ると思うが
54:デフォルトの名無しさん
08/02/06 16:49:13
>>52
二度も書くなボケ
55:デフォルトの名無しさん
08/02/06 16:50:53
>>52
それくらい、自分で試してみれば済むことだろ
56:デフォルトの名無しさん
08/02/06 16:57:37
DLLのスタートアップルーチン呼ばれない、EXEの関数呼び出したらプロセス起動する
とか許容できるならいいんじゃないか。
57:デフォルトの名無しさん
08/02/06 17:01:45
>>55
試してメモリリークと報告されなかったから聞いているわけだが。
58:デフォルトの名無しさん
08/02/06 17:02:45
じゃあ「できない」でFAだろうがw
59:デフォルトの名無しさん
08/02/06 17:07:01
YES → 【見つかった?】 ─ YES → じゃあ聞くな死ね
/ \
【探した?】 NO → なら、ねぇよ
\
NO → 死ね
YES → 【成功した?】 ─ YES → じゃあ聞くな死ね
/ \
【試した?】 NO → なら、できねぇよ
\
NO → 死ね
60:デフォルトの名無しさん
08/02/06 17:25:41
ここの存在意義がwww
61:デフォルトの名無しさん
08/02/06 17:33:16
「なら、ねぇよ」の所だけ回答が返ってくる可能性がある
62:デフォルトの名無しさん
08/02/06 17:36:29
試せば分かる事をいちいち聞くな
試して分かった事をいちいち聞くな
探せば分かる事をいちいち聞くな
探して分かった事をいちいち聞くな
当然だろ
それに、この程度で存在意義が無くなるスレでもないだろ
63:デフォルトの名無しさん
08/02/06 17:44:21
早く解決策を書け
64:デフォルトの名無しさん
08/02/06 17:53:39
何の解決策だよw
65:デフォルトの名無しさん
08/02/06 17:58:19
そもそもCRTはスレ違いだぼけなす
66:デフォルトの名無しさん
08/02/06 18:00:51
スレ違いだしCRTのソース読むかMSDN読めば分かるのに、こんな所で一日近く回答待つなんて馬鹿丸出し
67:は@cr4-172-178.seaple.icc.ne.jp ◆cplnFO9T0I
08/02/06 18:19:43 BE:20174922-2BP(1001)
>>36
両者ともうまくいき、ありがとうございます。
ユーザーのリストを取得するにはどうしたらいいでしょうか?
とあるスクリプトではDcuments and Settingsにあるフォルダから無理矢理取得しているのですが、
流石にそれはどうかな?と思いまして。
68:デフォルトの名無しさん
08/02/06 18:26:40
FormatMessageはAPIだろ
69:デフォルトの名無しさん
08/02/06 18:37:05
URLリンク(www.kumei.ne.jp)
これを参考にスクロールつけてたんですが
SB_THUMBTRACKとそれ以外の場合ではスクロール上限が異なってしまいます
SB_THUMBTRACKの上限に合わせるにはどうすればよいのでしょうか?
nMaxをいじればいいのかと思ってやってたんですがどうにもうまくいかなくて
70:デフォルトの名無しさん
08/02/06 18:56:20
具体的にうまくいかないコードを貼ると解決早い。
HIWORD(wParam)してる?
71:69
08/02/06 19:11:42
変数名が変わっただけでコードは全く同じです;;
si.nMaxの値を小さくするとLINEUP等のスクロール上限が下がるのですがTHUMBTRACKの上限にも影響が出たのでだめでした
そこで、dy = max(-1 * si.nPos, min(dy, si.nMax - si.nPos));の「si.nMax」を「si.nMax-適当な固定値」にすると理想的な結果には近づけました
ですが、固定値なんか使うと汎用性皆無なのでどうにかならないかと思い質問させていただきました
72:デフォルトの名無しさん
08/02/06 19:42:31
GDI+を使おうと考えてますが、C++で自動変数として用いる場合、問題のあるクラスってありますか?
例えば、Graphics、Font、StringFormat、Bitmap、BitmapData等のクラスを使おうと思っています。
ぱっと見、一応デストラクタで解放されてる気がしますが確信が持てず・・・
73:デフォルトの名無しさん
08/02/06 19:51:14
C♯, C#相談室 Part34
スレリンク(tech板)
74:デフォルトの名無しさん
08/02/06 19:53:25
素直にauto_ptrやboost::scoped_ptr等と組み合わせたほうがエレガントだと思う
75:デフォルトの名無しさん
08/02/06 20:23:39
MSDNライブラリにも特に注意点は載っていなかったはずだし、問題ないと思う。
せいぜい、デストラクタより先にGdiplusShutdown呼ばないように気を付けろ。
>>73
71はきっとネイティブ版の方を使うんだろ。
76:デフォルトの名無しさん
08/02/06 20:24:11
>>72
ありません。ただし GDI+ の初期化と開放の前や後で ctor や dtor が
動くといけないので、スタティック変数等では注意が必要か。
>>74
いや、GDI+ (のアレコレ)は C++ でなるべくスタック上に
取るのがスマートだしカッコイイと思う。
.Net で C# なんかだと Dispose の嵐でもーうんざり。
77:デフォルトの名無しさん
08/02/06 20:29:18
エディットボックスのクライアント領域内の行数
を調べるにはどうすればよいでしょうか?
78:デフォルトの名無しさん
08/02/06 20:37:52
高さ を フォント高さ で割ってやればよいのではないか
79:デフォルトの名無しさん
08/02/06 20:43:31
>>76
C#ならusing使えよ……。
80:デフォルトの名無しさん
08/02/06 20:55:07
using( Graphics g = ... )
using(Bitmap bmp= ...)
using(Pen pen= ...)
using( Brush br1= .. , br2=...)
using( Font font= ... )
g.draw〜
やってられっか(w
81:デフォルトの名無しさん
08/02/06 20:57:33
なんでインデントつけるんだよ。
82:デフォルトの名無しさん
08/02/06 21:00:49
>>74-76
レスありがとうございます。
問題ないようですし、startupやshutdownに注意しつつ、楽な自動変数で行きたいと思います!
83:デフォルトの名無しさん
08/02/06 21:01:37
>>81
知恵が無いから。
84:デフォルトの名無しさん
08/02/06 21:19:49
スコープだからに決まってるだろ。
85:デフォルトの名無しさん
08/02/06 21:31:44
つーかusingする必要あるか?
.netならGCが勝手に開放するだろ
まーWin9x系を考慮するなら、using使って明示的に開放しとかないとGC作動する前に
システムリソース食い潰してOSごと死亡しそうな気はするが
86:デフォルトの名無しさん
08/02/06 21:38:25
GCを当てにしていいのはメモリだけ
87:デフォルトの名無しさん
08/02/06 22:16:35
というか実際には仮想メモリをどんどん使い始めてなかなか解放してくれないわけだ。
あまり気にしなければそれでいいわけだけど・・・・
Image.FromFile で作ったImage 等他のリソース(この場合ファイル)をつかみっぱなしの
オブジェクなんかもあるし。
こういう場合は簡単にスコープと寿命を一致させられる C++ の方が気持ち良いな、俺は。
88:デフォルトの名無しさん
08/02/06 22:22:32
C的にDispose乱発するとか。
89:デフォルトの名無しさん
08/02/06 22:24:07
いやだからusingがあるんだろ・・・
ってスレ違いだね
90:デフォルトの名無しさん
08/02/06 22:25:42
参照カウンタ付きのスマートポインタ使えばGCなんていらないと思ってる
91:デフォルトの名無しさん
08/02/06 22:27:24
それ何てGC?
92:デフォルトの名無しさん
08/02/06 22:30:45
それで循環参照の罠に引っかかるわけですね
93:デフォルトの名無しさん
08/02/06 22:33:56
using 文マジおすすめ
94:デフォルトの名無しさん
08/02/06 22:39:33
>>93
C++でusingしまくってるとGDI+使う時に衝突してエラーになるから一概におすすめとは言えないよ
最近のコンパイラだとエラー出ないようになってるのかも知れんが
.Netの事を言ってるならスレチだから他でやってね
95:デフォルトの名無しさん
08/02/06 22:41:40
>>94
スレ違い
96:デフォルトの名無しさん
08/02/06 22:43:20
>>95
GDI+はスレ違いじゃないよ
97:デフォルトの名無しさん
08/02/06 22:45:04
C++はスレ違い
98:デフォルトの名無しさん
08/02/06 22:45:53
名前空間の衝突はスレ違いだな
99:デフォルトの名無しさん
08/02/06 22:47:07
C++(/CLI)だと名前空間に別名付けるのが便利。
100:デフォルトの名無しさん
08/02/06 22:53:19
おまいらそろそろスレ違い杉w
ところで、GDI+ってWin32APIとして見ると画像ファイルの読み書き以外に使える?
描画が全てソフトウェア処理だから重いし、Vistaでこの辺DirectXに丸投げしてくれるかと思ったらそうでも無さそうだし
101:デフォルトの名無しさん
08/02/06 22:57:46
もうやめて!GDI+のHPは0よ
102:デフォルトの名無しさん
08/02/06 23:05:25
>>100
アルファブレンディングとかしたいけどDirectX使うまでも無いって場合とか。
103:デフォルトの名無しさん
08/02/06 23:05:46
>>67
NetUserEnum
とか
HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥ProfileList
みたいなのとか
104:デフォルトの名無しさん
08/02/06 23:08:09
>>102
MMXかSSEだろJK
105:デフォルトの名無しさん
08/02/06 23:26:44
アンチエイリアシング付き文字を手軽に描画したい時にGDI+使ってるな。
getglyphoutlineで描画するの面倒くさそうだったから・・・
106:デフォルトの名無しさん
08/02/06 23:30:15
つまりWPFを使えって事なワケですよ
107:デフォルトの名無しさん
08/02/06 23:51:30
wpfはアンマネージドインターフェイスが無いじゃん。
どうしてCOM Interopを可能にしなかったのか不思議で仕方ない。
108:69
08/02/06 23:55:22
>>70
HIWORD(wParam)がスクロールボックスの現在位置を保持してるのは理解できました
これはスクロールボックスの上端の位置を示しているという理解でいいのでしょうか?
上端の位置を保持しているのならswitch文の記述には問題がないように見えます
となるとやっぱりswitch文から抜けた後の処理が間違っている???
他の人の質問に比べて低レベル過ぎて恥ずかしい
109:デフォルトの名無しさん
08/02/06 23:57:42
補間拡大縮小をアルゴリズム設計無しで実装したい案件で使ってる
110:デフォルトの名無しさん
08/02/07 00:06:08
GDI+なんてハイフンな問題があるし使えんよ。
URLリンク(support.microsoft.com)
111:デフォルトの名無しさん
08/02/07 00:11:21
>>108
WM_VSCROLLのSB_THUMBTRACKの説明を読むと
>The high-order word indicates the position that the scroll box has been dragged to.
とのことだから、現在位置ではないんじゃね?
112:デフォルトの名無しさん
08/02/07 00:20:20
BitBltすらないわけだが
113:デフォルトの名無しさん
08/02/07 00:40:37
>>105
CreateFontにANTIALIASED_QUALITYを指定すればいい。
114:デフォルトの名無しさん
08/02/07 00:52:17
>>108
とりあえず、メッセージの値は見ずにGetScrollInfoで取得しとけ。
つうか、switch分の処理では絶対位置を確定させるべきだろうに。
115:デフォルトの名無しさん
08/02/07 01:36:28
SetWindowsHookEx() で WH_MOUSE を仕掛けるんですが、
カーソルが自プロセスのウィンドウから外に出てしまうとフックが
解除されてるみたいなんですが、解除されない方法あるでしょうか?
116:デフォルトの名無しさん
08/02/07 01:52:08
>>113
ANTIALIASED_QUALITYはフォントサイズ小さいとAAかからないってネットで見たので・・・
117:デフォルトの名無しさん
08/02/07 02:23:52
>>115
タイマーで監視しとけw
118:デフォルトの名無しさん
08/02/07 02:36:31
>>115
自スレッドにフックしてるんだったら当たり前じゃね?
119:デフォルトの名無しさん
08/02/07 02:49:27
ALOEZ
120:69
08/02/07 03:25:29
LINESIZEを1目盛分スクロールした時の移動量とすると
スクロールの上限値(si.nMax)は「(表示したい画像の縦幅 - クライアント領域の縦幅)/LINESIZE」でうまいこと行きました
スクロールボックスのサイズ(si,nPage)は「クライアント領域の縦幅/LINESIZE」としました
これでできたと思ったらウィンドウをかなり小さくしないとsi.nMax==si.nPageにならずスクロールバーが出なくなりました;;
スクロールが出現する閾値(表示したい画像の縦幅)≠スクロールの上限値なのにどちらもsi.nMaxがその役割を担っている。。。
どう考えても構造的に矛盾してる気がするんですが・・・
121:デフォルトの名無しさん
08/02/07 03:37:51
WM_SIZEがきたときリストビューのカラムの幅(LVCOLUMN ○○.cx)を変更したいんですが
どうすればできますか?
122:デフォルトの名無しさん
08/02/07 03:54:17
ListView_SetColumnWidth
123:デフォルトの名無しさん
08/02/07 04:00:15
ありがとうございます
124:デフォルトの名無しさん
08/02/07 05:59:46
>>110
これ酷いなw
仕様となると、GDI+::String、Drawing::Graphics::DrawStringは使い物にならんな。
結局GDIへ回帰か。
125:デフォルトの名無しさん
08/02/07 07:16:32
>>120
WindowsSDKの'About Scroll Bars'から転載しとく。
MaxScrollPos = MaxRangeValue - (PageSize - 1)
126:デフォルトの名無しさん
08/02/07 12:50:13
GDI+使わないとAeroGlass上のグラスウィンドウでの描画が変になるんだよなぁ。
ただの図形描画ならDIB弄って何とかなるが、アンチエイリアスでフォント描画する場合に他に解決策がない。
GDIだけであれ解決する方法ないのかね?
127:デフォルトの名無しさん
08/02/07 13:36:55
XP以前とXPとVistaでは、メッセージループに
どれくらいの違いがあるのでしょうか?
あるとすれば、どのような違いですか?
128:デフォルトの名無しさん
08/02/07 13:56:08
メッセージループの違い?
変わらないかと。
どの視点でその疑問を抱いたの?
129:デフォルトの名無しさん
08/02/07 14:34:12
>>120
スクロールバー初めて使う人がはまる指定の仕方だな。それ。
nMin, nMax, nPageの指定の仕方というか考え方がおかしい。
130:デフォルトの名無しさん
08/02/07 14:59:16
あたらしいMSDN Libraryインストールしたんだけど
なんであのドキュメントエクスプローラあんなにちらつくん?
マウスでフォーカス変えるたびに全画面再描画してるかんじ……
131:69
08/02/07 15:09:04
まだ、解決できない・・・
>>125
スクロール範囲は思い通りになりましたありがとうございます
>>129
できればどこがおかしいのか教えていただけると幸いです・・・
132:デフォルトの名無しさん
08/02/07 16:50:23
すみません、SDK(API)でダイアログベースアプリの勉強してるのですが
1つのエディットコントロールと1つのOKボタンからなるダイアログで
エディットコントロール内でリターンキーを押すと、OKボタン押してないのに
OKボタンが押されたのと同じ動作をするんです。すごいことにリターンキーに関する処理は書いてないのにですよ。
こんなすごいこと経験した人いる? エスパーさん、何か原因に心あたりないですか?
133:デフォルトの名無しさん
08/02/07 16:57:00
そういうものです
134:デフォルトの名無しさん
08/02/07 16:57:08
ダイアログなら普通の動作
135:デフォルトの名無しさん
08/02/07 16:58:54
デフォルトボタンとかデフォルトプッシュボタンで調べるといいよ
136:デフォルトの名無しさん
08/02/07 17:05:58
>>131
問題を勘違いしてたら悪いんだけど
要は、SB_THUMBTRACKだと16ビットしか使えないから、
デカい画像を表示しようとするとうまく動いてくれないってことかな・・・
だったら、wParamでサイズを取らずにGetScrollInfo使えばいいんじゃない?
137:デフォルトの名無しさん
08/02/07 17:15:59
>>133-135
有難う、ありがとう、有難うございました。
ほえー、ダイアログでリターンキー押すことは、デフォルトプッシュボタンを
押すことと同じなのですか。うれしい動作に感動しました、うるうる。
138:デフォルトの名無しさん
08/02/07 17:20:58
TranslateMessageの仕事だけどな
139:デフォルトの名無しさん
08/02/07 17:56:42
IsDialogMessageの仕事じゃなかったっけ
140:69
08/02/07 18:21:06
>>136
したいことは「クライアント領域の高さが画像の高さ未満になったときにスクロールバーを出現させ、
SB_THUMBTRACK、SB_LINEUPをはじめ、どのスクロール方法でもスクロール範囲が同じにする」です
GetScrollInfoから取得するようにしてるのですが問題は解決せず・・・
>>129さんの言うとおり根本的なところで間違えているみたいです
nMin = 0;
nMax = 画像の高さ/スクロール一行分の高さ - (nPage - 1);
nPage = クライアント領域の高さ/スクロール一行分の高さ
これだとスクロール範囲は思い通りでもスクロールバーが出現する条件がうまくいきません
スクロールバー出現条件とスクロール範囲を両立させるにはどうすれば・・・
141:デフォルトの名無しさん
08/02/07 18:34:55
nMin=0
nMax=画像の高さ - 1
nPage=クライアント領域の高さ
でいいんじゃない?
スクロール1行分なんてのは、SB_LINEUP/DOWNのときに動かす量を調節すればいいかと
142:デフォルトの名無しさん
08/02/07 18:39:31
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?
143:デフォルトの名無しさん
08/02/07 18:51:10
そう>>141でOK。ってより、「スクロール範囲が同じにする」の条件はようわからんけど。
144:デフォルトの名無しさん
08/02/07 19:47:16
>>142
GlobalReleaseって何だ?
145:デフォルトの名無しさん
08/02/07 19:56:49
俺が画像ビューアにスクロール機能付けた時は、
一行は11pt換算で動かすように作ったな。
>>144 これじゃね?
( ) ジブンヲ
( )
| |
ヽ('A`)ノ トキハナツ!
( )
ノω|
__[警]
( ) ('A`)
( )Vノ )
| | | |
146:デフォルトの名無しさん
08/02/07 20:46:39
私は、小学3年です。私には、彼氏がいます。彼とわたしは、デートの時、どちらかの家に行き、
だれもいないとき、部屋で横になって裸でだきあいます。それがだんだんエスカレートしていって、
学校の体育倉庫で服をぬがされ、まだ3年生ですが学年で1番大きいおっぱいを、つかむように触られたり、しゃぶったりされます。
最初は、苦手だったんだけどだんだん気持ちよくなりサイコーです。しかも、わたしは、学年1美人でもてます。
彼も同じで、美男美女でよくみんなにうらやましく、思われます。
このカキコ見たあなたは4日後に不幸がおとづれ44日後に死にます。それがイヤならコレをコピペして5ケ所にカキコして下さい。
私の友達はこれを信じず4日後に親が死にました。
44日後友達は行方不明・・・・。いまだに手がかりもなく私はこのコピペを5ケ所に貼り付けました。
すると7日後に彼氏ができ10日後に大嫌いな人が事故で入院しました。信じる信じないは勝ってです
147:デフォルトの名無しさん
08/02/08 00:57:30
子ウインドウ:でキー操作をする方法ってありますか?
148:デフォルトの名無しさん
08/02/08 01:22:03
質問は日本語で
149:147
08/02/08 01:30:13
ウインドウにエディットボックスを貼り付けているのですが
エディットボックスのウインドウプロシージャでキー操作
がしたいのですが(VK_UPなどを使いたい)どうも上手く
いきません。どのようにすればよいでしょうか?
150:デフォルトの名無しさん
08/02/08 01:42:34
何がどう上手くいかないのか、具体的に書けって。
151:147
08/02/08 01:56:18
int i
case WM_CHAR:
if(wp == VK_UP){
i++;;
}
break;
「↑」を押しても i が変化がないです。
152:デフォルトの名無しさん
08/02/08 02:38:20
>>151
WM_KEYDOWN
153:デフォルトの名無しさん
08/02/08 07:11:29
そういう問題じゃないだろ
いろいろいうことはあるが、、、もう出る時間なので
154:デフォルトの名無しさん
08/02/08 07:34:51
サブクラス化はちゃんと成功したわけ?
iがローカル変数というオチではないの?
155:デフォルトの名無しさん
08/02/08 08:00:22
WM_CHARにVKが来る訳なかろ
156:デフォルトの名無しさん
08/02/08 09:16:30
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?
157:デフォルトの名無しさん
08/02/08 09:45:53
34 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/05(火) 23:57:49
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?
52 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/06(水) 16:47:47
_CrtSetDbgFlagで
LocalAllocの発見は出来ないですか?
142 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/07(木) 18:39:31
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?
156 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/08(金) 09:16:30
GlobalAllocのGlobalRelease呼び忘れわ発見できますか?
158:デフォルトの名無しさん
08/02/08 09:54:07
もうスルーで宜しく
メモリ管理もできない奴はGCに頼れ
で、GCを疑うなw
159:デフォルトの名無しさん
08/02/08 10:21:59
明らかな弱点挙げて指摘したら〜もうスルーで宜しくって
分かり安すぎだなお前らw
160:デフォルトの名無しさん
08/02/08 10:33:49
(_ _ )
ヽノ) そのネタは飽きましたのでお引取り下さい
ll
161:デフォルトの名無しさん
08/02/08 10:34:49
⊂ ⊂ヽ、 /)/)
c、 `っ( ヽ
( v)c、 `っ
V''V ( v) / ̄`⊃
V''V | ⊃
( v) ハ,,ハ
V''V (゚ω゚ )
⊂⊂ ヽ
> )
(/(/
ハ,,ハ
( ゚ω゚ ) おことわりします
/ \
((⊂ ) ノ\つ))
(_⌒ヽ
ヽ ヘ }
ε≡Ξ ノノ `J
162:デフォルトの名無しさん
08/02/08 10:44:24
何の弱点だよw
GlobalReleaseなんて呼んだ事ねーよwww
163:デフォルトの名無しさん
08/02/08 10:54:55
AllocにはFreeだ。GetにはReleaseだ。
164:デフォルトの名無しさん
08/02/08 11:10:04
そもそも、クリップボードにセットした場合なんかはGlobalFreeしてはいけない
つう例外もあるからそう簡単にチェックできる物でもないだろ
ま、どうせドトネト信者が「GCの無い言語なんて糞」とか言いたいだけかも知れんが
165:デフォルトの名無しさん
08/02/08 11:10:21
IMEを作るには何を実装すればいいか、誰か知りませんか。
IMEを制御する方法は山ほど見つかるんだけどな。
166:デフォルトの名無しさん
08/02/08 11:18:29
基本的にはimm.dllと同じエクスポートを持ったDLLを作ればいいんじゃね
ツールバーを出したければ別個にプロセスを起動してimm.dllから通信すればいい
167:デフォルトの名無しさん
08/02/08 11:22:52
>>166
そりゃ確かにOSのIME管理システムそのものを乗っ取れるかもしれませんが、
えらく大雑把だなあ。
168:147
08/02/08 11:32:11
>>154
サブクラス化は成功していると思います。
なぜかVK_RETURNは反応しています。
iはグローバル変数にしています。
169:デフォルトの名無しさん
08/02/08 11:41:28
キーコードと仮想キーコードごっちゃになってるね。君
170:デフォルトの名無しさん
08/02/08 12:01:04
GlobalAllocしたメモリのリーク検出なんてフックすれば簡単に出来る
COMインタフェースのリリースし忘れの方が困る
システムDLL内だったりシェル拡張が原因だったり
171:デフォルトの名無しさん
08/02/08 12:14:24
昔のAdobe製品にはCOMの回収し忘れにより
GetOpenFileNameがエラー起こすっていうバグがあってだな
今は知らん
172:デフォルトの名無しさん
08/02/08 12:22:05
>>170
つ IMallocSpy
173:147
08/02/08 13:19:53
>>169
どのようにすれば使えるようになりますか?
174:デフォルトの名無しさん
08/02/08 14:29:01
int i
case WM_KEYDOWN:
if(wp == VK_UP){
i++;;
}
break;
で良いんじゃね
>>152に書いてあるけど
175:デフォルトの名無しさん
08/02/08 15:19:28
MCI_SIGNALというのは、例えば一定の容量の再生毎にsignalが送られてくるように設定するというイメージでいいですか?
MCI_SIGNALがなんのためにあるのかが分からない
176:デフォルトの名無しさん
08/02/08 15:42:55
MCIスレ立てて聞いてくれ。
177:デフォルトの名無しさん
08/02/08 15:48:08
>>165
OSごとにインターフェイスが異なるから、自分で調べられないなら辞めとけ。
178:デフォルトの名無しさん
08/02/08 16:02:47
SDKにIMEのサンプルコードあったべ。最近のは入ってないのかな。
179:デフォルトの名無しさん
08/02/08 16:03:39
それは操作用のだろ。今も入ってる
180:デフォルトの名無しさん
08/02/08 16:10:47
そうだっけ。簡易IMEみたいな、、、もはや今の仕様では使えないか
181:デフォルトの名無しさん
08/02/08 17:06:13
今タスクマネージャの「パフォーマンス」タブみたいなCPU使用率の
画面を作っていて、マルチコアに対応させたいのですが、
プロセス(スレッド)毎にどのコアを使ってるか、という情報は
どこで得られるのでしょうか?(コア毎の使用率は判るのですが)
182:デフォルトの名無しさん
08/02/08 17:10:48
GetProcessAffinityMask?
スレッドは多分無い
183:デフォルトの名無しさん
08/02/08 17:18:36
>>182
ありがとうございます。
GetThreadAffinityMask相当のAPIは何故か無いみたいですね。
184:デフォルトの名無しさん
08/02/08 17:18:45
多分NtQueryInformationProcess/NtQueryInformationThreadでPEB/TEBを見るしかないんじゃないの?
ただ、ネットに出回っているPEB/TEB構造体の情報は9割ぐらいはXPSP1以前の物で
今時のOSのカーネルとはメンバが微妙に違うから、役に立つかどうかは知らない
185:デフォルトの名無しさん
08/02/08 17:30:21
>>165
GPLのSKKIMEのようにソースが公開されているものもあるよ。
186:デフォルトの名無しさん
08/02/08 18:13:07
『涼宮ハルヒの憂鬱』より、SOS団のマスコット的存在“朝比奈みくる”が“鶴屋さん”と
同じく、焼きそば喫茶のメイド服姿で登場です。
ふわりと髪とスカートを翻し、振り返る瞬間をとらえたポーズで立体化。柔らかで
張りのある造形が抜群のプロポーションとマッチし綺麗なシルエットを楽しめます。
白と紺のコントラストが映える衣装と優しい笑顔が、彼女の清楚で穏やかな魅力を
引き立ててくれます。
商品名 涼宮ハルヒの憂鬱
作品名 朝比奈みくる メイドVer.
価格 6,090円(税込)
発売時期 08年06月未定
仕様 1/8スケール PVC製塗装済み完成品 全高約200mm
原型制作 沼倉としあき
発売元 アルター
ソース:あみあみ
URLリンク(www.amiami.com)
画像
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
URLリンク(www.amiami.com)
アルターALTER Co.,Ltd
URLリンク(www.alter-web.jp)
187:デフォルトの名無しさん
08/02/08 18:17:37
( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
\/ /
 ̄ ̄ ̄
188:デフォルトの名無しさん
08/02/08 18:22:51
やっぱアレか?
スカートの中覗くのはデフォなのか?
189:デフォルトの名無しさん
08/02/08 18:26:19
おれが予約したフィギュアか
190:デフォルトの名無しさん
08/02/08 18:28:45
PGってやっぱアニオタ多いの?
191:デフォルトの名無しさん
08/02/08 18:58:33
俺は2Dしか興味ないわ
もともと平面な物をなんで立体化するのか本気でよくワカンネ
と釣られてみる
192:デフォルトの名無しさん
08/02/08 19:01:02
人形には興味ないけどメカ物には興味ある俺。
193:デフォルトの名無しさん
08/02/08 19:16:32
おれは長門有紀の魔女っ子姿が欲しい
194:デフォルトの名無しさん
08/02/08 19:23:56
ちなみになぜ186は貼られたのだ
弁解を聞こう
195:デフォルトの名無しさん
08/02/08 20:42:29
DrawTextのフラグがreturn DefWindowProc(hWnd, msg, wParam, lParam);の場合
元のRECTがあさってな状況でも描くのに必要な領域が返ってきますか?
196:デフォルトの名無しさん
08/02/08 20:52:34
変わったフラグなだ
197:デフォルトの名無しさん
08/02/08 21:14:01
エディットボックスの背景を灰色にして入力できないようにするにはどうすればできますか?
入力できないようにするのはSetWindowLongでES_READONLYにしてできたんですが
灰色にする方法が分かりません
198:デフォルトの名無しさん
08/02/08 21:32:09
DT_CALCRECTでした。
199:デフォルトの名無しさん
08/02/08 21:39:10
なんでMSDNを読まないんだろう
200:デフォルトの名無しさん
08/02/08 21:52:27
過度の四角くくない四角形はかけますか?
201:デフォルトの名無しさん
08/02/08 21:53:29
それは四角形ですか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4283日前に更新/212 KB
担当:undef