[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 06/03 10:43 / Filesize : 104 KB / Number-of Response : 455
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build57



1 名前:デフォルトの名無しさん mailto:age [2007/09/08(土) 21:41:22 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

過去スレ、関連リンクは>>2-5くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで


237 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 19:15:08 ]
IShellFolder, IShellFolder2

238 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 20:38:44 ]
>>236>>237
そのキーワードで検索して色々と知ることができました。
後は自分で調べていきたいと思います。
どうもありがとうございました。

239 名前:200 mailto:sage [2007/09/16(日) 21:53:54 ]
IISの権限の問題でした。
admin権限で動かしてみたところ成功いたしました。
レスくださったかたありがとうございました。

240 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 04:26:08 ]
InsertMenuItemでMENUITEMINFOを指定しますが、メニューの
文字色を変えるにはどのようにしたらいいのでしょうか?

fTypeをMFT_STRINGにすると色を指定できないようですし

241 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 04:29:28 ]
MFT_OWNERDRAW を指定して自分で描く

242 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 04:43:21 ]
>>241

こんな時間に即レスthx
トライしてみます

243 名前:デフォルトの名無しさん [2007/09/17(月) 10:15:08 ]
VC についてるspy++なんですが、アプリ起動の際に、メッセージ横取りを禁止させる関数ってあるんすかね?

244 名前:デフォルトの名無しさん [2007/09/17(月) 10:16:04 ]
無い

245 名前:243 [2007/09/17(月) 10:20:28 ]
関数といったのが、まずかったか・・・方法でもいいんですけど・・・
凄い人が集まってそうなので聞いてみたんですが、アプリ解析対策とかしないんですか?



246 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:22:06 ]
逆に聞きたいのだが、>243からどうやったら>245の意味を読み取れると思うのだ?

247 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:23:04 ]
フックを禁止する方法が無いんじゃね

kernel32に手出ししてみるとか?

248 名前:244 mailto:sage [2007/09/17(月) 10:24:19 ]
メッセージ見られるとやばいようなら最初からCUIにするよ

249 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:24:37 ]
故意か天然かしらんけど、煽り口調になってるぞ。
煽ってもなにも出ないばかりか、袋にされるだけさ。

250 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:29:10 ]
rootkitみたいなものを作って叩かれたいマゾなんだね。

251 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:41:39 ]
チートしたい人とチートされたくない人って似た質問するんだよね

252 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:44:21 ]
敵を知り己を知ればなんとやら

253 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:45:26 ]
>>251
チートておまえ・・・。

254 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:47:40 ]
メッセージレベルでクラック対策しようってのがそもそも間違ってる

255 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:55:36 ]
そういえばそんなフィルタドライバのソースがどっかに転がってたな
読もう読もうと思っててそのままURLもとろも失くしてしまったが



256 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:56:17 ]
もとろも!   orz

257 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 11:20:11 ]
         ,-、            ,.-、
        ./:::::\          /::::::ヽ
       /::::::::::::;ゝ--──-- 、._/::::::::::::::|
       /,.-‐''"´          \:::::::::::|
     /                ヽ、::::|
    /                    ヽ
     l    \                  l
    .|    ●          /     |
     l  , , ,           ●     l    にゃんだばかやろー
    ` 、      (_人__丿    、、、   /
      `ー 、__               /
         /`'''ー‐‐──‐‐‐┬'''""´
        ./        ___ l __
         l   ./    /  |/ |
         `ー-<    /  ./  ./
           `ー‐--{___/ゝ、,ノ

258 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 13:01:25 ]
フックされても問題ないように
パラメータを暗号化すれば医院で内科医


259 名前:デフォルトの名無しさん [2007/09/17(月) 13:53:37 ]
文字列テーブルの文字を使うのに
文字配列用意してそこにコピーしないとだめっていうのは
面倒ですねぇ・・・。
文字配列の大きさの問題(文字列が入りきらない可能性)もあるし。
無駄に大きな配列用意するのもどうかなってかんじ。

260 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 14:42:50 ]
よくわからんが、必要なサイズぴったしに malloc すればいいんでないの?

261 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 16:45:47 ]
ListBoxとか使うときに
自分で持ってる構造体があるのに
API用にもうひとつ作ってコピーしないといけない理不尽
のことを言ってるのかな?


262 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 17:06:36 ]
>>261
 >API用にもうひとつ作ってコピーしないといけない理不尽
 コピーした領域をOSに渡す形なら、OS側は任意の時点で領域解放できる。

・アプリが持っている領域を、直接OSに渡した場合、その領域を解放するタイミングを知るスマートな方法はあるか?
(OS側の処理が先に終わった場合、アプリに、その領域を解放してよいか問い合わせるのか?
 それとも、解放要求をアプリに対して発行するのか?
 どちらも本末転倒でしょ?)


263 名前:262 mailto:sage [2007/09/17(月) 17:08:04 ]
261じゃなくて >>259 だった。すまん

264 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 17:23:44 ]
ニワトリが先か、タマゴが先か論争に発展してきますた。

265 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 17:26:01 ]
Javaや.NETはもう一度コピーしてるんだからまだマシ



266 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 18:18:56 ]
>>265
kwsk

267 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 18:21:53 ]
>>266
ahsg

268 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 19:01:46 ]
そもそも>>259はLoadStringの話に見えるのは気のせいか?

269 名前:デフォルトの名無しさん [2007/09/17(月) 21:25:47 ]
そうなんです。
LoadString で文字列を取り出すとき
文字列の長さを気にせずに柔軟に取り出せる良い方法ないのかなぁと悩んでます。
いろいろ調べて MFC か ATL 使えばいけるのはわかったんですが
Windows プログラミングの勉強はじめたばかりで
両方ともよくわかってないんで
とりあえず MFC も ATL も使わないで出来る方法ないのかなぁと悩んでたんですけど
三日ぐらいあれこれ考えたんですけど
コレといったのが見つからないんでもう悩むのやめます。

270 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 21:38:28 ]
それならLoadResourceとかを使えばいいんだよ。
俺もやった。リソース内ではUTF-16LEのくせに、
なぜか9xがLoadResourceWを実装していないというケチさのおかげで。

271 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 21:40:25 ]
NULLを含まない格納した文字数が返るのだから nBufferMaxの値-1
が返ってきたときはたぶんバッファを増やさないといけないと判断できると思う

最初 260 とかでスタックにとって、それで足りなそうな場合だけ動的に 260*2 。
それでもだめなら 260*2 *2 。それでにだめなら 260*(ry
って感じか?



272 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 21:51:57 ]
俺はめんどくさいからそんな仕様にしない

273 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:25:38 ]
ネットで勉強してウィンドウとメニューバーまでは作れるようになったけどあと
がまったくわかりません(´・ω・`)
フリーソースのを見て勉強するのがいいってよくみるけど読んでみてもチンブンカンブン
需要はあるはずなのになんでWin32APIの書籍ってこんなに少ないんだろ…
どこかいいサイトか本ありませんか?

274 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:27:22 ]
>>271
そーいやリソース文字列は、最大65536バイトまでだったけ?

275 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:32:51 ]
>>273
猫でも読んでろ



276 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:34:23 ]
>>273
知識つけたきゃテンプレの猫とかAPI入門嫁

アドバイスしとくと、どこまで覚えるかより何をしたいかが重要だったりする
それと人のソースはあくまで一例と捉える

277 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:34:28 ]
>>274
msdn2.microsoft.com/en-us/library/ms647465.aspx#_win32_String_Resources
[quote]
For 16-bit string resources, 255 characters is the maximum length.
For 32-bit string resources, 65535 characters is the maximum length.
[/quote]

278 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:36:58 ]
>>277
おーいえ
さんくす

279 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 23:59:48 ]
>>275-276
d 猫ってAPIのもあったのね。HPは見づらいから今度探して買ってくる

280 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:13:28 ]
>>279
あほは死ね

281 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:23:21 ]
>>280
「あはは死ね」だと思った。

282 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:42:50 ]
>>279
あはは死ね

283 名前:262 mailto:sage [2007/09/18(火) 02:02:37 ]
>>279
 猫は「apiの使い方の外枠をつかむ」目的に限定した方がいいです。 コードは問題ありすぎ……。
(コーディングに関しては、オライリーの牛本を参照してください。)

ページが見づらいのは「書籍を買ってくれ」って事なのかね?

284 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 02:10:05 ]
>>262は死ね

285 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 02:50:39 ]
みんな死ななくていいよ



286 名前:デフォルトの名無しさん [2007/09/18(火) 04:08:18 ]
ツールバーのちらつき対策で質問があります。
ウィンドウサイズを変更するとツールバーがちらついて困ってます。
メインウィンドウは仮想画面化してるのですが、ツールバー部分はHDCがなくてちらついてしまってます。
書き換えタイミングを0.1秒単位にづらすとかはやりましたが軽減できてもちらつき自体をなくす事はできませんでした。
どういった解決方法があるでしょうか?ご教授お願いします。

287 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 04:10:29 ]
子ウィンドウをクリッピング領域からはずす

288 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 04:14:22 ]
背面消去をなくす

289 名前:286 [2007/09/18(火) 04:30:28 ]
>>287
すみません。クリッピング領域から外すということは書き換えないってことでしょうか。。
今のサイズ変更部分はこうなってます。
case WM_SIZE:
MoveWindow(hTool, 0, 0, LOWORD(lParam), 50, TRUE);
break;
出来ればもう少し詳しくお願いできないでしょうか・・・orz

290 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 04:32:17 ]
ツールバー作成時に
WS_CLIPCHILDRENとWS_CLIPSIBLINGSを追加

試してない

291 名前:290 mailto:sage [2007/09/18(火) 04:34:01 ]
ごめん超勘違いしてた
俺のは忘れろ

292 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 10:27:18 ]
>>286
うろ覚えだが
メインウィンドウのクラスのスタイルから、CS_HREDRAW、CS_VREDRAWをはずすか、
またはメインウィンドウのWM_ERASEBKGNDで何もしないように対処すればよいと思われ

293 名前:286 mailto:sage [2007/09/18(火) 10:33:24 ]
>>292
既にそれは、やってしまってるんです。。
それでもちらつくんですよね。。
今も悩んでいて、面倒臭いですが一つ一つのボタンにハンドルを持たせればクリアできるのはないかと考え、
プログラム作成中です。

294 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 10:50:11 ]
気になるのなら自前で描くしかない

295 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 10:59:43 ]
ちらつくのは所詮描画の問題なので、普通に考えれば
メインウィンドウの背景(WM_ERASEBKGND)、メインウィンドウの描画(WM_PAINT)、
ツールバーの背景、ツールバー自身の描画
のいずれかで無駄な背景初期化を行っているくらいしかないと思うのだが

メインウィンドウの仮想画面化とかツールバー部分のHDCって何?
あとボタンにハンドルに持たせるとかも意味が分からない

ツールバーの描画で何か特別なことやってる?



296 名前:286 mailto:sage [2007/09/18(火) 11:13:46 ]
>>295
ツールバーにHDCみたいなのあればメモリ上にメモリDC取ってちらつき対策できないかと考えてました。
ハンドルというかボタン一つ一つにHWND型で持たせてクリアしようかと。。ツールバーの場合、ツールバーのHWND
単体でサイズ変更してるため、ちらついてるんじゃないかと考えています。

297 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 11:42:52 ]
>>296
ツールバーはOS標準のコントロールなんだから単体で対処可能なちらつき対処くらいやってるだろ
そんなことに力をそそぐくらいなら、>>292あたりもう一度見直したほうがいいのでは?

スタイル設定したつもりが反映されていないとか
メッセージハンドラを定義してみたけど名前が違ってたりして呼び出されてないとか
実はメインウィンドウの子のビューがツールバーと重なっていて、ビューの背景消去が問題だとか

298 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 12:03:26 ]
標準コントロールはちらつき対策なんて元から考えていないが、
対処くらいやっているだろうとか考えられてしまうそのおめでたい頭がうらやましい。

299 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 12:26:19 ]
そもそもツールバーってちらついたっけ?
VC2005+MFC+WinXPSP2だと、ToolBarのみとReBar+ToolBarの構成で作れるが、
どちらもちらつきは発生しなかったぞ。
昔のMFC自前実装の奴(ペイントとか)はちらつくけど。

300 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 12:31:11 ]
>>298
いや言い方はよくなかったもしれないけど、そんな高度なことを議論する
つもりはなくて、普通メインウィンドウのリサイズで気になるほどちらついたり
はしないんじゃないのってことを言ったつもりだった

そうでないと、ツールバーを使う人は全員描画のカスタイズをしないといけなく
なるけど、自分でもそんなコードは書いたことがないし、それで特に気になったこともない

>>286の気にしているのがどの程度なのかは知らないので断言はできないけど

301 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 12:33:25 ]
ちらつく理由を考え、それがあってるか検証し、
それを元に対策を考える。

302 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 12:51:23 ]
>>299
言われるまで気づかなかったが、最近の標準コントロールはちらつかないな。
Explorerのウィンドウをムキになってリサイズしてみたが悔しいほどちらつかないw
ツールバーよりウィンドウの幅が狭くなったときに出る>>のマークだけがちらついてる。

303 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 13:02:01 ]
チラリズム

304 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 13:39:06 ]
WM_SIZE時、TOOLBARにWM_SIZEを送る
クライアント部分は子ウィンドウにしてToolbarと重ねない

305 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 13:58:03 ]
専門用語でフリッカーと言うんだよ



306 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 14:26:04 ]
>case WM_SIZE:
>MoveWindow(hTool, 0, 0, LOWORD(lParam), 50, TRUE);
>break;
なんかこの辺が間違ってる気が

307 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 14:30:39 ]
>>298
死ね

308 名前:286 [2007/09/18(火) 19:24:40 ]
>>306
サイズ変更時に書き換えなさいって命令なので、その部分をカットすればちらつきませんが、
その場合、サイズ変更時ツールバーが変になってしまうので・・・。
検証の結果、ボタン一つ一つにHWNDを持たせるか、>>294さんの言うようにオーナードローで描くか。
現在は、この2択です。もっと簡単にできないか、考えて見ますね。

309 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 19:33:51 ]
>>308
あほは死ね

310 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 19:51:28 ]
MoveWindow の最後の引数ってなんだっけ。

311 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 19:53:58 ]
            ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ <こいつ最高にアホ
 彡、   |∪|  /
/ __  ヽノ /
(___)   /


312 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 19:56:22 ]
>>310
ググれよ。カス。

313 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 20:34:30 ]
>>310が一番的確な解決方に導いていると思うぞ

314 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 20:38:02 ]
             ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ <こいつ最高にアホ
 彡、   |∪|  /
/ __  ヽノ /
(___)   /

>>313
>>308
最後の引数には気付いている。
おかしいのは最後の引数ではない。

315 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 22:18:15 ]
そもそもツールバーをAPIで作ったときにMoveWindowなんて書いた記憶が無い件



316 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 22:55:03 ]
そもそもメインウィンドウは仮想画面化してるとか
ツールバー部分はHDCがないとか言う不思議君だから
リサイズでMoveWindowくらいするだろう


317 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 23:47:20 ]
検証もせずに批判ばかりする奴より、検証しようと努力してる奴の方が俺は好感を持つ。

318 名前:182 mailto:sage [2007/09/18(火) 23:51:20 ]
すみません
GetLocaleInfo() でファイルの言語を取得できるようになったんですが、
.net で作ったexeの場合、自分で取得すると「日本語」が返ってくるんですが
「ファイルのプロパティ」だと「ニュートラル言語」になってるんですが、
どうすりゃ取れるんでしょうか。


319 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 23:57:10 ]
>>317
正解が既に>>304で出てるのに無視されてるからじゃないの?

>>308
ツールバーのリサイズはMoveWindowでなく、WM_SIZEを直接SendMessageする

ttp://msdn2.microsoft.com/en-us/library/aa932759.aspx


320 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 00:38:22 ]
>>319
MoveWindowはダメとかSendMessageとか命令の問題じゃない気がするが・・・
試しに俺が検証してみた。

* ツールバーを作成する */
hTool = CreateWindowEx(
WS_EX_TOOLWINDOW, TOOLBARCLASSNAME, NULL,
WS_CHILD | WS_VISIBLE | WS_THICKFRAME,
0,0,0,0,
hWnd, (HMENU)IDR_TOOLBAR, hInst, NULL);

ボタン略。

>case WM_SIZE:
>SendMessage(hTool, WM_SIZE, wParam, lParam);
>break;

ちらついてるじゃねーか。orz

321 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:45:18 ]
>>320
俺も今試してみたが(WinXP SP2)、特にちらつきはないぞ?

//ツールバー作成部分(ボタンは2個)
hToolBar = CreateToolbarEx(hWnd, WS_CHILD | WS_VISIBLE, ID_TOOLBAR, 2,
hInst, IDB_TOOLBAR, tbb, 2, 0, 0, 16, 15, sizeof(TBBUTTON));
//他は省略

ベースはVC2005のWin32アプリのウィザード生成物で、ツールバー処理追加以外に以下を修正
×wcex.style = CS_HREDRAW | CS_VREDRAW;
○wcex.style = 0;
×wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
○wcex.hbrBackground = (HBRUSH)NULL;

なお、WM_SIZEの追加コードは

(a)SendMessage(hToolBar, WM_SIZE, wParam, lParam);
(b)MoveWindow(hToolBar, 0, 0, LOWORD(lParam), 50, TRUE);

の両パターンを試したがどちらも問題はなし

322 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:12:26 ]
>>321
ちらつきの考え方の違いかな。。
ウィンドウの枠、右部分を(マウス左)ドラッグして左右に振ってみて欲しい。
ツールバーのボタンがちらついてない?
俺もCreateWindowExとCreateToolBarExだと違いがあるのかと思って両方試してみたが
両方ともちらつかないか?俺も気になってきたw

323 名前:322 mailto:sage [2007/09/19(水) 02:27:21 ]
補足
ちらつきが分かりやすいように、ラージサイズのアイコン使用中。

324 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:28:22 ]
ちらしの裏にでも書いてろ低脳

325 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:31:20 ]
Vista使えばちらつきなんて気にならん



326 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:34:06 ]
>>322
OSは何?
こちらで試したプログラムでは、メニューの文字はわずかにちらつくが、ツールバーは
それよりずっと安定していて目で認識できる範囲のちらつきはない

ボタンのデザインはグレーの背景に手書きで1、2と書いてあるだけなので
目立ちにくいかもしれないが、少なくともメニューと同じくらいちらついてくれれば確実に分かる

327 名前:322 mailto:sage [2007/09/19(水) 02:40:27 ]
>>326
環境 (WinXP SP2)
ボタンのデザインは、既存のBMP。フォルダアイコンのラージサイズを貼り付けてる。

tbBmp.hInst = HINST_COMMCTRL;
tbBmp.nID = IDB_STD_LARGE_COLOR; /* 標準の大サイズのアイコンを使う宣言

328 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:38:55 ]
ちらつくのはいちいち消して(バックグラウンド塗りつぶし)描くからだよ
もともと全部描きなおすタイプならけさんでいい

329 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 12:07:36 ]
再度試してみた

背景消去を行わない(ウィンドウクラスの背景ブラシをNULLにするか、WM_ERASEBKGNDを無視)
とした場合でも、クラスのスタイルにCS_HREDRAW | CS_VREDRAW が残っていると、ボタン部分が
かすかにちらつく(メニュー文字のちらつきの半分程度)

>>322>>286の言ってるちらつきがこれってことはないのか?

330 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 12:19:23 ]
WS_CLIPCHILDRENしてるか?

331 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:39:11 ]
Visual Basic 6.0ってありましたよね?
あの言語でIsNumericって関数があったんですけど、
あれをVC++側で実装する場合、
OLE関連の関数群に存在するのでしょうか?
もし、存在するなら、その名称を教えていただきたいです。


332 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:44:40 ]
>>331
市ね

333 名前:182 mailto:sage [2007/09/19(水) 18:06:08 ]
>>318
VerLanguageName() で自己解決しました。
LangID は LocaleID の下位4バイトでした。
帰ります。


334 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 19:19:25 ]
>>331
VariantChangeTypeで数値関連の種類に変換できるか試せば、
同じような動作になると思う。

335 名前:デフォルトの名無しさん [2007/09/19(水) 21:14:29 ]
Win98からVistaまで動作するプログラムを作ろうと思ってます。
Vistaのフォルダ書き込み権限を取得するために、ConvertStringSidToSidを
使っているんですが、Win98でこのプログラムを動作させようとすると
ConvertStringSidToSidがないとエラーになってしまいます。

ConvertStringSidToSidを使いつつ、両方のOSで動作するようにするためには
どうすればいいんでしょうか?



336 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:16:52 ]
>>335
LoadLibrary, GetProcAddress

337 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:17:21 ]
むり






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<104KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef