Win32API 質問箱

このエントリーをはてなブックマークに追加
>>930
だよねー。
MSのサンプルとかも定数だし。
一応、SetTimer()の戻り値はタイマ識別子だから、
引数で100を渡して300が返ってきたら、要求したタイマ識別子は100でも
実際のタイマ識別子は300、ということでwParamには300が入ってくる
罠かと思って。
933デフォルトの名無しさん:01/11/22 20:27
SetTimer()の戻り値を保持しておいて、KillTimer()に使うのでわ?
926
>>913
描画に関してはまったく疎かったんだけど、結局は、

case WM_CREATE:
で、
hWndRadio = CreateWindow(....);
の直後に、
hFont=(HFONT)SendMessage(hWndRadio, WM_GETFONT, NULL, NULL);
をやっていたのが原因だった。多分うまく取れていなかった。
直後だとコントロールフォント自身のフォント設定が
不安定っぽい感じだった。Sleep()とか使ってもだめだった。
結局hFont=(hFont)GetStockObject(GUI_DEFAULT_FONT);GetObject(...)
で、ややこしいlfをこれまたいろいろ試してやっと大丈夫になった。
WM_GETFONTでうまく取れたように見えてたのはなんかの偶然だった。
あぁ、つかれた。でも結局メモリリーク関係なかったけど、
おかげで外国産のいいものを手に入れた。英語で感謝してきました。
フォントがうまくいってたやつを、それでデバッグモードで起動すると
文字がおかしくなることも結構助けになたヨ。おかげでいまでは
デバグモードで起動しても問題なく動く。

あぁ、お疲れ様といってください
WndProc内に戻ったPchrに乾杯
936デフォルトの名無しさん:01/11/23 02:08
HTTP serverにデータを送信したいので、HttpSendRequest()を使いたいのですが、クッキーも送れますか?
それとも、クッキーは別関数で送るのでしょうか?
クッキーの送り方が解らないので、知りたいです。
937デフォルトの名無しさん:01/11/23 17:48
WTLのAppWizardで、例えばSDIを作成した場合、そのプロジェクトに
イベント追加可能なDialogを後から挿入することって出来ますか?

普通にDialog挿入するとテンプレート作ってくれないですよね…。
今は仕方がないのでDialogベースの仮プロジェクト作って
あとから本プロジェクトにコピペしてるのですが色々、管理が面倒で…。

WTL、情報が少なくて参ってます。ご存じの方、どうか宜しくお願いします。
938デフォルトの名無しさん:01/11/24 02:29
WinAPIの世界へよーころ
939937:01/11/24 02:36
>>938
かちゅ〜しゃでみてたらレス付いてたから、一瞬よろこんじゃったYO!(笑
940936:01/11/24 02:46
>>939
俺も(W
941亜井 上男:01/11/24 14:10
一つのプロセスの中に複数のスレッドがあり、各スレッドから非同期で
同一ファイルに書き込みを行いたいんですが、どのような排他制御を
行えば完璧でしょうか。
そんな処理の仕方をしないこと
MutexかCriticalSectionを使いなさい。
>>936
lpszHeadersに"Cookie: CUSTOMER=WILE_E_COYOTE"とかを入れればよいだけでは。
HTTP Cookieの仕様はhttp://www.netscape.com/newsref/std/cookie_spec.htmlあたりで
945デフォルトの名無しさん:01/11/24 15:57
DOS窓のような奴をエディット コントロール使ってやろうと思ってるんだけど、
3つのことで困ってます。
・プログラム側からテキストを出力する方法
・ENTERで入力された行を取得する方法
・バッファの上限に行くと入力出来なくなるのを回避する方法
もしかしてエディット コントロール使うこと自体間違っているのかな?
誰か教えて。
>>945
エディットコントロール使うこと自体間違ってる。
教えたよ。
コンソールをアロケートするヨロシ。
947デフォルトの名無しさん:01/11/24 19:02
でかい表示用エディットコントロールと、一行の入力用
エディットコントロール作ってあたかも一つのウィンドウの
ように見せる。行の取得はリターンキーのKeyonとかを
捕らえる。とかね
948945:01/11/24 20:24
エラーやログ表示+若干のコマンド実行が出来るようなウインドウを
>>946
エラーやログ表示+若干のコマンド(オリジナル)が
実行出来るような物がほしいもんで。
コンソールだとちょっと使い勝手が…。

>>947
DOS窓のように、出力の一部だけ保持するような物が作りたいのですが、
エディットコントロールで文字吐きつづけるとバッファが一杯一杯になってしまうんで。
バッファが一杯にならないように始めに書いた奴から消していくには
どうしたら良いのやら…
949デフォルトの名無しさん:01/11/24 20:57
>>948
コントロールに頼らず自分で描画するようにすればいいだろ?
950デフォルトの名無しさん:01/11/24 20:59
マニアックな質問だよね。結局アルゴリズムの
問題だよね。・・・・(ひょっとしてできる人?)
だったりして(爆)
951946:01/11/24 21:02
>>948
何か勘違いしてない?
誰もコンソールアプリを作れだなんて言ってないよ。
コンソールを作って、そこに出力すりゃいいじゃん。
勿論、そこから入力もできるし。
コンソール画面の情報を文字列バッファにしたって
大きさにしてたいしたことないから、org_bufとbuf
をやって処理したほうが安全なのかな、
org_buf[1024]
buf[1024]
char *lpbuf
.......
if(strlen(org_buf)>1024-コンソール一行分の最大バイト)
lpbuf=strstr(org_buf,"\r\n")(みたいな)
strcpy(buf,lpbuf);
strcpy(org_buf,buf);
やればできるさ!
EM_SETREADONLYもつけなYO!
コンソールでも出来そうではあるんだけど、コンソールほどのデカイウインドウは要らないというか…
ウインドウの一部に組み込んで使えるような奴がほしい。
たとえて言うならなんだろな?
VCのアウトプットウインドウに入力足した奴??
それをエディットコントロールで簡単に出来ないものかと考えたんだけど…

ちなみにコンソールって、AllocConsoleしかやったこと無いけど
ウインドウ側でコンソール閉じたときにメインプログラムが終了しないように出来る?
955945:01/11/24 22:13
954==945
説明が下手で
(;´Д`)スマソ
956936:01/11/25 14:59
>>944
遅レスすみませんでした。
ありがとうございました。
英語ドキュメントは何とか読んでみます。
957デフォルトの名無しさん:01/11/25 18:18
親Windowがアクティブになっても
子供のポップアップスタイルのダイアログボックス
は親の後ろに隠れません。隠れるようにしたいんだけど、
これがなかなかできそうでできません。どこのあたりに
どんなフラグくっつけたらいいのでしょうか。
em_limittext
親ウィンドウをNULLにしてダイアログを開け。
だが、98%そのプログラムはクソプログラムだ。
960デフォルトの名無しさん:01/11/26 17:01
forkしたい。Windowsで。何か方法ないですか?
メモリ空間が書き込み時コピーで処理されると理想です。
・thread使う
・cygwinのforkを使う
・forkではなく、CreateProcessで使える方法を考える
・MSに就職/ソースコード入手して、Win32にforkを実装する
お好きなのをどうぞ。
>>961
POSIX サブシステムを使う、というのは?
>>959
なんで糞プログラムなのか理由を教えてほしいョ
なんで後ろに隠したいのか理由を教えて欲しいョ
俺も957と同じこと考えてた。
>>959
俺も教えてほしいョ

NULLで作成すると、そのウインドウがタスクバーに表示される。
これをどうにかしたい。
サイズ1x1の親ウィンドウの下に子ウィンドウをだしとキャいいだろ
DialogBoxParamみたいに初期値を渡して
モードレスダイアログを作りたいんだけど如何すればよろしゅう?
CreateDialogParam
ではいかんの?
>>968
そんなものが TT
マジありがとうございました
なんでみつからなかったんだろ、ダハハ
>>964
親ウィンドウのキャプションクリックしたとき全ヴ後ろに隠れてくれないと
ストレスがたまって来るから
常に手前・・・ごふっ
(´-`).。oO(新スレが酷い有様だ。何でだろう?)
(´-`).。oO(あれは無かったことにして、もいっこスレ立てた方がいいかも?)
(´-`).。oO(心配するな、もうネタも尽きるだろうて)
976965:01/11/27 01:41
>>966
それしか無いっぽい。
ちょっと残念だが、どうもありがとう。
977>>597:01/11/27 02:31
つか、なんでモードレスダイアログボックスの動作を、
モーダルダイアログで実現させたい、みたいなワケワカラン事
云うわけ?
だからクソプログラムだからだよ
>>977

957 のような質問は、ウィンドウの所有関係(たぶん親子関係も)を
良く知らないためだと思います。このような仕様は、Windows の動作
としても変ですし、ユーザにとってもストレスのあるものに違いありません。

質問者には、モードレスダイアログとモーダルダイアログとの違いをよく研究し、また
トップレベルウィンドウの相互の所有関係について調べることをお薦めします。
はうっ!