952 :
デフォルトの名無しさん:02/08/04 14:14
DialogベースのウィンドウでESCキーで終了しないようにするにはどうしたら
良いのでしょうか? spy++で追っかけると、いきなりDESTROYが飛んでるよ
うですが・・・
IDCANCELが飛んでこなかったっけ?
>>952 >>953が正解。なんで、IDCANCELを受けないようにすればいい。というと、
「右上の×で閉じないんですが」と言われそうなので、そのときは、
WM_SYSCOMMAND捕まえて、wParamがSC_CLOSEだったら終了処理にすれば、
終了させられる。
大感謝。完璧です。
956 :
デフォルトの名無しさん:02/08/05 02:37
WMPみたいに「常に手前に表示」と同じようなプログラムを作るには
どのような方法がありますか?
SetWindowPos
HWND_TOPMOST
でぐぐれ
959 :
JPEG特許問題:02/08/05 16:04
OleLoadPictureFileはMFCでしか使えないのでしょうか?
MFCでいうSetPictureDispatch等がSDKで使えるのなら解決しそうなんですが、
やり方が分かりません。
OleLoadPictureFileがSDKで使えないならIJG・・・・鬱。
SDKでOleLoadPictureFileを使う方法を教えて頂ければありがたいです。
よろしくお願いします。
960 :
デフォルトの名無しさん:02/08/05 16:04
ペゾルドのプログラミングWindowsがいまいち理解できません。
こんな漏れは逝ってよしですか?
このサイコロの目は 裏の目とオモテの目を足すと7になります
1と6は赤
2と5は赤と青
3と4は青に塗られています。
今サイコロを転がして赤が出ました。 裏が赤の確率は?
誤爆カコワルイ
2/3 ?
964 :
デフォルトの名無しさん:02/08/05 16:54
1/2
>>110 テキストボックスは Windowsの用意してるコントロールを使っています
もしテキストボックスを使う事で何か問題があるなら、Windows上のほぼ
全てのアプリに問題がある事になるでしょう
なお、一般的にはクライアントアプリで脆弱性を云々しないと思います
>>968 おぃおぃ。。
今、赤が出たなら、目は 1 か 6 か 2。
その中で裏側も赤の場合は 1 か 6 だから、2/3 だろ?違うのか?
>>959 OleLoadPicturePath() で検索しる
973 :
デフォルトの名無しさん:02/08/05 22:03
ハードウェアプロファイルの一覧を取得したのですが、APIとかありますか?
現在のハードウェアプロファイルの内容を取得するAPIはあったのですが(GetCurrentHwProfile)、
HWプロファイルの一覧を取得したいのです。
レジストリから直接でもいいのですが、HWプロファイル名が見つかりませんでした。
どなたか、よろしくおながいします。
974 :
デフォルトの名無しさん:02/08/05 22:11
パスの最後に\をつける(すでに付いていたら何もしない)には
下記の方法で大丈夫でしょうか?
一応「表」フォルダを作って試してみて、ちゃんと\は付いたのですが
他に気をつけることはありますか?
void AddBackslash(LPTSTR lpszPath)
{
if(IsDBCSLeadByte(lpszPath[lstrlen(lpszPath) - 2]) ||
(lpszPath[lstrlen(lpszPath) - 1] != '\\')){
lstrcat(lpszPath, TEXT("\\"));
}
}
>>974 IsDBCSLeadByteでは「2バイト文字の2バイト目ではない」ことが保証できないから、
ちゃんと頭から調べないとダメよん。
っつか、そのコードだと "a" とか与えたら吹っ飛びそうだが。
>>976 すると 「も\」 が 「も\\」 になってしまうがよろしいか?
>>977 Windowsのフォルダ名に\はつけられんよ。
980 :
デフォルトの名無しさん:02/08/05 23:40
フォルダオプションのクリック方法が「ポイントして選択」かどうか(HoverSelection)、調べられません?
ホットトラッキングは、SystemParametersInfo の SPI_GETHOTTRACKING で取得できるンですが…
>>978 コーディングの初期条件である
>パスの最後に\をつける(すでに付いていたら何もしない)
を満たさなくなるってことだろ?
>>974 PathAddBackslash使わん理由は?
断る
カチャ
;y=ー( ゚д゚)・∵. ターン
\/| y |)
>>977 仮に C:\も\ というパスがあったとすると、
> IsDBCSLeadByte(lpszPath[lstrlen(lpszPath) - 2])
で「も」の2バイト目がチェックされて偽となり、次に
> lpszPath[lstrlen(lpszPath) - 1] != '\\'
でパスの最後が \ だからこれも偽となり、結局何もせずに
リターンするから C:\も\ はそのままでは?
俺が立てようと思ったが、今日すでに他のスレを立ててしまって
はじかれてしまった…
>>986 「も」のShiftJISコードは 82 E0 で
IsDBSCLeadByte(0xE0) は TRUE。よって、
lstrcat(lpszPath, TEXT("\\"));
が実行されるだろ?
やるなら、
if (CharPrev(lpszPath, lpszPath+lstrlen(lpszPath)-1) != '\\')
lstrcat(lpszPath, TEXT("\\"));
とかだろ。
最近、Win32API書いてないから CharPrev の引数あってるか自信ないけど(w
>>982 それくらい実際にコンパイルすりゃ判るだろうに
>>983 shlwapi.dll が入ってない環境のことは考えないのか?
漏れなら GetFullPathName() 使うよ
おつ>990
埋めちゃえ〜
>>972殿
ありがとうございます。
しかし、不思議なテクニックを使う関数ですな。
いわゆるCOMというものでしょうか?
999
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。