[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/22 11:35 / Filesize : 228 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

Win32API質問箱 Build52



1 名前:デフォルトの名無しさん [2007/04/18(水) 01:54:51 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

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

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

620 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 21:04:09 ]
エンコード/デコードで

621 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 21:39:49 ]
>>616
実際にはもっと昔から使われていた。
それ以前にはスタンダードと言えるほど広まっているツールが
なかったからLHA発祥という誤解が定着してしまっただけだ。

622 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 21:57:53 ]
っYZ1

623 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:09:52 ]
LHA は圧縮だけじゃなくて書庫の機能も持っているから、展開が妥当だと

624 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:37:24 ]
>>619
そうだったのか。いや俺も実際何を聞きたいのかよくわからないんだがw

つまりODBCAPI以外にDBを触れるAPIがあったら知りたかった

625 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:52:48 ]
oo4oもADOもDAOも、みな関数と言う形ではAPIを持っていないと思う。

626 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:02:01 ]
oo4oなつかしいなw

627 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:11:18 ]
>>611
俺が「それはカユイちんこみたいだな」って言ってたって言っておけ
あと「俺のチンコが痒いです」とも言っておけ

628 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:32:08 ]
>>585
うぐいすパンとか?



629 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:35:39 ]
うぐいすパンはうぐいす入ってるだろ

630 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 23:51:47 ]
東京ばな奈とか?

631 名前:デフォルトの名無しさん [2007/05/02(水) 23:58:26 ]
JETはどうした

632 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:04:46 ]
だからコンパイルエラーはWin32APIとはなんも関係ないっつーの

633 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 04:08:24 ]
>605
static つけないと呼び出されるたびに初期化されるんじゃないの
まあ動くならいいけど今後のこともあるし

634 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 04:19:50 ]
static 必要っぽい気はするな。
WM_INITDIALOG で new してユーザ領域にそのポインタを置いて
それを使うともっといいんじゃないかとは思うけど。
同時に複数起動する必要がないならいいけど。

635 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 04:28:26 ]
WM_PAINT内で
BeginPaint〜EndPaintを二回以上やると
2回目からの描画内容が画面に出ないんですけど
どうしてですか?

636 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 04:35:46 ]
EndPaint で更新すべき領域をクリアしてしまうんじゃない?

637 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 08:17:23 ]
フォアグラウンドのIMEの状態を調べてIME_CMODE_ROMANがない場合VK_KANAを有効にしたいのですが。
チェックするタイミングはキーフックとタイマーのどちらが良いでしょうか?

638 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 08:46:24 ]
>>637
その解法は、両方どつぼりそうな予感。



639 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 08:49:04 ]
入力対象が確定していれば、
そいつのWM_SETFOCUSメッセージ時じゃだめか?

640 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 11:48:30 ]
状態が変化する前に、処理すればいいのに

641 名前:デフォルトの名無しさん [2007/05/03(木) 11:53:57 ]
WM_PAINTのタイミングで描画しています
ウィンドウを大きくするときは再描画されるのですが小さくするときはされません
どちらでも再描画されるようにするにはどうすればよいでしょうか?

642 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 12:08:16 ]
>>641
もう少しくやしく。
もしかしたら、違う要因かも知れないから。

643 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 12:09:51 ]
WS_HREDRAW/WS_VREDRAWとか?

644 名前:641 mailto:sage [2007/05/03(木) 12:28:08 ]
>>642
最大化ボタンを押したりウィンドウの右下をドラッグしてウィンドウを大きくした場合、
それに連動してウィンドウ内の画像が書き換えられます。
そのときにcase WM_PAINT:を通過していることをMESSAGEBOXを表示させて確認しました

最大化から元に戻す場合やウィンドウの右下をドラッグしてウィンドウを小さくした場合、
ウィンドウ内は再描画されません
(同様にMESSAGEBOXで確認しました)


645 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 12:28:47 ]
>>643
MSDNやGoogleを検索しましたがなかなか情報がでてきません
関連資料あればお願いします

646 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:03:47 ]
>>645
CS_HREDRAW CS_VREDRAW

647 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:08:19 ]
>>644
WM_PAINT描画部さらせる?

648 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:14:26 ]
>>647
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch( msg )
    {
        case WM_DESTROY:
            Cleanup();
            PostQuitMessage( 0 );
            return 0;

        case WM_PAINT:
            MessageBox(hWnd, "ok", "check", 0);
            Render();
            ValidateRect( hWnd, NULL );
            return 0;

    }

    return DefWindowProc( hWnd, msg, wParam, lParam );
}




649 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:26:03 ]
エクスプローラの縮小版表示で独自の画像形式を表示させたいんだけど、
どうやったら出来ますか?

650 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:27:39 ]
>>649
独自の画像形式とは?
自分が考えたオリジナルフォーマット?


651 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:32:41 ]
>>648
ソースあげ

652 名前:649 mailto:sage [2007/05/03(木) 13:33:52 ]
>>650
自分が考えたフォーマットもありますし、RLAなどの標準で表示されないフォーマットもあります。


653 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:34:55 ]
>>649
IExtractImage を実装してレジストリに登録

654 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:41:28 ]
>>649

>>653の補足
msdn.microsoft.com/msdnmag/issues/0600/w2kui2/

655 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:52:42 ]
>>641
WM_SIZE で InvalidateRect すれば?

656 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 13:57:26 ]
>>655
WM_PAINTをWM_SIZEに書き換えたところうまくいきました

相談にのっていただいた皆様本当にありがとうございました

657 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:03:31 ]
WM_SIZE でレンダリングしたのか。
それっていいのか?
というか、WM_PAINT は処理しないのか?

658 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:03:42 ]
>>656
乙。
連休を楽しめ。



659 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:06:00 ]
>>657
WM_SIZEでInvalidateRectをコールし、
WM_SIZE時の範囲を更新範囲に追加したんお

660 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:09:06 ]
レンダリング?

661 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:14:02 ]
>>659
おk。

>>660
>>648

662 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:18:35 ]
レスどうも

>>639
入力中の英和混在入力のモード切替に対応したいので
WM_SETFOCUSじゃ無理なんです。

663 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:44:44 ]
>>637
>フォアグラウンドのIMEの状態を調べてIME_CMODE_ROMANがない場合
>VK_KANAを有効にしたいのですが。
>チェックするタイミングはキーフックとタイマーのどちらが良いでしょうか?

>>662
>入力中の英和混在入力のモード切替に対応したいので
>WM_SETFOCUSじゃ無理なんです。

エスパーじゃないんで要点を詳しく。
現状の具体的な問題点と、その解法にIMEをもってきた理由を特に。
(難解が平易に変わるかも)


664 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:00:16 ]
>>661
どこがレンダリング?w

665 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:20:42 ]
つ[辞書]

666 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:29:50 ]
>>664
Render ってのが見えないのだろうか。

667 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:31:24 ]
【他動-14】 《コ》
〜をレンダリングする、
〔画像{がぞう}などのデータを〕実際{じっさい}に描画{びょうが}する、
〔三次元{さんじげん}のオブジェクトを〕二次元{にじげん}の画像{がぞう}にする
◆データを解釈・計算して視覚的に表示すること。

・ Different browsers render HTML differently. ブラウザによって HTML のレンダリングは異なります。

668 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:37:01 ]
話の流れを読まずに、文字の綴りだけをあげつらった揚げ足取りなんだから
そんなに反応することないのに・・
ちょっと前にも、こういう質問とは本来関係ないことで脱線しなかったか?



669 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:38:32 ]
おや、本当だ
Render()見落としてたわ・・・・


670 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:40:20 ]
>>667
広義には与えられたデータを元に視覚表示すること全てレンダリングだけど
広く一般にレンダリングと言ったら3Dモデルのレンダリングのことを指すのが言葉の難しいところだ

671 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:44:47 ]
HTML レンダリングもよく使うと思うけど。

672 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:45:57 ]
>>663

簡単に言えば、
「窓使いの憂鬱」と言うソフトにカナロックON/OFFで
キーマップを切り替える機能があるんですけど。
IMEの英和混在入力を使うとずれるんですねこれが。
原因は、IME_CMODE_ROMANとVK_KANAがシンクロしないからなんで、
グローバルフックかけて外部から梃入れしようかなと。


673 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 15:53:07 ]
>>671
表示全てをレンダリングと言うよりは使うとは思うけど
それも結局ソッチの道の人がほとんどだしさ

まぁ、どうでもいいことだと思うけどw

674 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 16:30:38 ]
アタシのことでけんかしないで!

675 名前:649 mailto:sage [2007/05/03(木) 16:31:19 ]
>>653-654
サンクス
これからやってみます

676 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 16:37:13 ]
>>672
開発は終わってるんだな・・・
これソース公開してないかい?

677 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 16:42:37 ]
>>672

sourceforge.net/project/showfiles.php?group_id=5403
ソースはここみたい。

ある程度処理を読んで解析した上で、対処した方がいいかもね。

678 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 17:00:08 ]
hook.cpp
n.m_isKanaLockToggled = !!(GetKeyState(VK_KANA) & 1);

これを

HWND hWnd = GetForeGroundWindow();
ImmGetContext(hWnd);
ImmGetConversionStatus(hImc, &dwc, &dws)
n.m_isKanaLockToggled = (dwc & IME_CMODE_JAPANESE) && (dwc ^ IME_CMODE_ROMAN);
ImmReleaseContext(hWnd, hImc);

VS2003でないから試せないけど。



679 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 17:07:34 ]
おーいXOR…

680 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 17:50:06 ]
n.m_isKanaLockToggled = (dwc & IME_CMODE_JAPANESE) && (dwc & ~IME_CMODE_ROMAN);

681 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 17:54:23 ]
&~でも^でもどっちでもよくね?
ダメな理由があるなら別だけど

682 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 18:27:44 ]
っ どっちもだめ

683 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 18:54:37 ]
>>681
XORとNOT&ANDが同じ動作とでも思ってるの?

684 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 18:55:51 ]
CPUの中身は全部XORの組み合わせ

685 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:16:48 ]
>>683
もちろんです

686 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:19:09 ]
00001000 ^ 11111111 = 11110111 TRUE
00001000 ^ 11110111 = 11111111 TRUE

687 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:20:14 ]
>>685
これは すごい ゆとり

688 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:23:27 ]
10以外の位取りはゆとりで教育課程から消えたけど
ビット演算も学校で教えてたっけ?



689 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:29:01 ]
ビット演算まではなかったと思う。

690 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:29:24 ]
学校で習ったかどうかなんて関係ない。

691 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:32:11 ]
工業乙

692 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:34:31 ]
どっちかのbitが立ってることを確認するために

if(hoge & 0x000000C0)

みたいな書き方出来ると思うのですが

両方のbitが立ってることを確認したければ

if(hoge & 0x000000C0 == 0x000000C0)

って書くしか方法ないですか?


693 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:42:07 ]
hoge & 0x000000C0 & 0x000000C0がある

694 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:43:01 ]
if((hoge & 0x000000C0) & 0x000000C0)

695 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:43:38 ]
全部不正解

696 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:44:36 ]
00001000 ^ 11111111 = 11110111 TRUE
00001000 ^ 11110111 = 11111111 TRUE

00001000 &^ 11111111 =
00001000 &^ 11110111 =
にするとどうなるの?

697 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:46:55 ]
>>690
ゆとり教育なんか学力の低下に関係ないと言いたいわけですね。

698 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:50:50 ]
マスクすれ



699 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:52:41 ]
プログラムの勉強の前に情報技術基礎から勉強する事を勧めたいね

700 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:54:48 ]
>>691

高専の専攻卒で悪かったな

701 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:54:54 ]
こうするんだよ

if(!((hoge & 0x000000C0) ^ 0x000000C0))


702 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:58:01 ]
if((hoge & 0x00000080) && (hoge & 0x00000040))

703 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:59:30 ]
>>680
これだろ

n.m_isKanaLockToggled = (dwc & IME_CMODE_JAPANESE) && ~(dwc & IME_CMODE_ROMAN);

704 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:00:44 ]
何で皆向きになってるんだwwwwwwwwwww血だなwwwwwwwwwそんな俺もwwwwwwwwwwww

705 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:01:03 ]


~→!

706 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:01:52 ]
>>678-704
バカが!!!

if(1)

これだろ

707 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:02:39 ]
>>685
久々に開いた口が塞がらないぜ

708 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:02:54 ]
定数が複数あるのが美しくないな。

if(~(hoge | ~0x000000C0))

こうだろ。



709 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:03:30 ]
【高速化】ビット演算 0x02
pc11.2ch.net/test/read.cgi/tech/1158367586/

710 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:04:35 ]
>>708
お前の美しいという言葉に全米が泣いた
だがそのコードはとても美しいとは思わない

これが美しいコードの見本だ

if(0)


711 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:04:47 ]
ここは Win32API スレだっつーの!

712 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:07:41 ]
そして皆我にかえるわけだが

チェックボタンやラジオボタンでBS_ICONなどでアイコンにする事はできるんですが、
そのアイコンにマウスをあわせたら文字が浮き出るようにするやり方がわからないです。

713 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:09:12 ]
>>708
間違ってない?

714 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:10:58 ]
>>712
マウスメッセージ拾って、コモンコントロールのToolTipでガンバレ

715 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:11:03 ]
>>708
おまえ勘違いしてるだろ

716 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:11:53 ]
>>714
あー、やっぱマウスメッセージ拾うしかないのか
サンクス

717 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:13:44 ]
>>693 >>694 >>708
久々に馬鹿三匹発見

718 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:14:03 ]
連休的優しさ乙。




719 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:14:52 ]
【高速化】ビット演算 0x02
pc11.2ch.net/test/read.cgi/tech/1158367586/


720 名前:708 mailto:sage [2007/05/03(木) 20:24:11 ]
ちょっと間違えただけじゃないか。
指摘ついでに訂正しておいてくれよw

if(!~(hoge | ~0x000000C0))






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

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

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