■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

Win32API質問箱 Build19
751 名前:デフォルトの名無しさん :04/06/14 14:40
>>746
MENUEX

752 名前:デフォルトの名無しさん :04/06/14 14:49
> ID が無い
> サブメニューの名前や位置が変化する
無理だ...

753 名前:デフォルトの名無しさん :04/06/14 17:09
エクスプローラの左にあるフォルダツリーと同じものを作りたいんですが
あれって全部自前でアイコンとかを取得したりしてるのでしょうか?


754 名前:デフォルトの名無しさん :04/06/14 18:36

Windows上のC++(またはC言語)で、pdfファイルをいじる方法ってありますか?
帳票の代わりにpdfファイルを作るとかしてみたいのですが・・・。
宜しくお願いします。


755 名前:デフォルトの名無しさん :04/06/14 18:37
スマートにやりたきゃまずはpdfの仕様を調べて好きにしろ
面倒だったらWordをOLEで制御するなりunix系ツールで変換するなり

756 名前:デフォルトの名無しさん :04/06/14 19:30
>>754
PrimoPDFとか入れて、印刷しろよ。

757 名前:デフォルトの名無しさん :04/06/14 20:43
>>746
試してないがこれではムリか?
MENUITEMINFO mii = { sizeof(MENUITEMINFO), MIIM_SUBMENU | MIIM_TYPE | MIIM_ID,
MFT_STRING, 0, idCmd++, hSubMenu, 0, 0, 0, szMenuText };
InsertMenuItem(hMenu, indexMenu, TRUE, &mii);


758 名前:デフォルトの名無しさん :04/06/14 21:14
メニューの項目が長すぎる場合、
シェブロンにカーソルを持って行ったら
自動的にスクロールするようにするには
どういう設定をすればいい?


759 名前:デフォルトの名無しさん :04/06/15 00:41
>>754
PDFを操作するライブラリがいくつかあるぞ。
ClibPDFなんて使いやすい。
http://www.fastio.com/

760 名前:デフォルトの名無しさん :04/06/15 11:44
USBデバイスの電源が入っているかどうかを知るAPIってありますでしょうか。
探したのですが見つかりません。

761 名前:デフォルトの名無しさん :04/06/15 11:57
電源が入っていない=認識されて無いだから無理だと思うが…。
逆に探してみて、目的の物が無いかどうかで確認するしかないんじゃないか?

それとも、俺が知らないだけで「電源が入って無くても、認識されている」
デバイスがあったりするか?

762 名前:デフォルトの名無しさん :04/06/15 12:02
>>761
バスパワーで、回路だけ動いてれば
「電源が入って無くても、認識されている」
って状況は可能なんじゃないのか?
あるかどうかは、知らないけど。

763 名前:デフォルトの名無しさん :04/06/15 13:41
バスパワーってことは、「常に電源が入っている」ってことでしょう?
バスパワーでかつ電源スイッチがあるようなデバイスでも、電源スイッ
チを切ると認識されなくなるんじゃないかい。



764 名前:760 :04/06/15 14:14
レスありがとうございます。
たとえば単純に、現在使用可能なデバイスのリストを返してくるようなAPIを探しているんですが。
=電源が切れて認識されなくなったらリストからデバイス名が消える
みたいなことをAPIに期待しています。

765 名前:デフォルトの名無しさん :04/06/15 14:51
>>764
多分DDK方面?

766 名前:デフォルトの名無しさん :04/06/15 14:59
>>764
DDKにusbviewというサンプルがあるから見れ

767 名前:デフォルトの名無しさん :04/06/15 15:45
>>764
昔レジストリで確認してたことある
一覧で探してあったらGetDeviceDiscriptor投げ
この辺の操作もDDKサンプルみれば乗ってたはず

768 名前:760 :04/06/15 16:46
DDK持ってない(T_T)有料なんですね今は
レジストリの線で探ってみます。ありがとうございました。

769 名前:デフォルトの名無しさん :04/06/15 17:17
プロセスメモリエディタを作成したい(目標はExSTAND)のですが、
サブヒープの情報はどのように取得すればいいのでしょうか?


各ヒープエントリ情報は、

1.CreateToolhelp32Snapshotでプロセスのスナップショット取得
2.Process32First、Process32NextでPROCESSENTRY32取得
3.CreateToolhelp32Snapshotでヒープのスナップショット取得
4.Heap32ListFirst、Heap32ListNextでHEAPLIST32取得
5.HEAPLISTでHEAPENTRY32取得

という流れで取得できたのですが、サブヒープ情報は取得できません。
どのようにすればサブヒープの情報を取得できるのでしょうか?
よろしくお願いします


770 名前:769 :04/06/15 18:31
>>769
5.Heap32Firstの間違いですm(__)m

771 名前:デフォルトの名無しさん :04/06/15 21:11
定期的にキーボード入力を生成するツールを作りたいのですが、
どうもうまくいきません。

PostMessage(WM_KEYDOWN,...), keybd_event, SendInput を使用したものは、
通常のアプリケーション(メモ帳とか)には正常に動作するのですが、
DirectInputを使ったゲームには作用しないようなのです。
(当然といえば当然かもしれませんが(><))

何かよい方法があったらご教授下さい。宜しくお願いします。


772 名前:デフォルトの名無しさん :04/06/15 21:26
>>769-771
ネトゲサロンへお帰りください( ゚,_ゝ゚)

773 名前:デフォルトの名無しさん :04/06/16 00:36
ある文字が指定したフォントで表示できるかどうか調べる、というAPIはありませんか?
TextOutで文字を書いたところ他のフォントに置き換わってしまい困っています。

774 名前:デフォルトの名無しさん :04/06/16 01:33
>>773
結構しらべたけどない...orz
JAVAにはcanDisplay()という関数があるみたいだから何らかの
方法で実現はできるみたいだけど。。。

775 名前:デフォルトの名無しさん :04/06/16 02:19
>>773
GetGlyphIndices かな

776 名前:名無し@沢村 :04/06/16 04:07
おみゃ〜らよ、メニューについていいことを教えてやろう。
それはリソースエディタでメニューをつくるとき、「ファイル(&F)」のように書くだろ?
すると「F」という字にショートカットキーが割り当てられるわけだ。
おみゃ〜らよ、おみゃ〜らは、いままでショートカットキーを割り当てるときの書式は、「ファイル(&F)」というふうでなくてはならないと思っていたはずだ。
どうだ?
だがおみゃ〜らよ、実は「&」の後の文字なら何でもショートカットキーが割り当てられるのよ。
「(&F)」のように「()」で囲む必要もない。
つまり「&ファイル」とすれば「フ」の字にショートカットキーが割り当てられるし、「フ&ァイル」とすれば「ァ」の字にショートカットキーが割り当てられるのよ。
これはおみゃ〜らが、いままで知らなかったことだ。
覚えておくといいぞ。おみゃ〜らよ♪

777 名前:デフォルトの名無しさん :04/06/16 07:18
>>776
それぐらい知っとるわ。
「E&xit」とか良く見るし。

778 名前:デフォルトの名無しさん :04/06/16 08:55
>>776
元々、「&File」だったのが、日本語で「&ファイル」すると
ショートカットが「フ」になるから「ファイル(&F)」にしてんだろ。
そんくらい、誰でも知ってるぞ。

「自分が知らなかった=まわりも知らない」
この図式自体が間違ってる事に気付け>沢村

779 名前:デフォルトの名無しさん :04/06/16 09:13
>>777
>>778

マジレス ハゲカッッコワルイ

780 名前:デフォルトの名無しさん :04/06/16 09:51
沢村くんの文章ではなぜ全角カナと半角カナが混在しているのだろうか。
前前から疑問に思っていたんだよね。

781 名前:デフォルトの名無しさん :04/06/16 10:04
ファイル(\036F\037フ)

782 名前:773 :04/06/16 10:26
>>775
うまく動作させることに成功しました。
ありがとうございましたm(_ _)m

783 名前:デフォルトの名無しさん :04/06/16 10:32
Win2KPro & VC++6.0でGINAの開発を行なっています。

WlxLoggedOutSAS()のログオン認証まではMsGina.Dllに処理をスルーして、
WlxActivateUserShell()の呼び出し時にさらにある条件で認証を行い
認証できれば、MsGina.DllのWlxActivateUserShell()に処理を渡し、
認証できなければ、FALSEを返してログオンを打ち切るプログラムを
作ろうと思っています。
そこで、WlxActivateUserShell()上でWlxLoggedOutSAS()で認証された
User名を取得したいのですが、方法が分かりませんご存知の方が居られ
ましたらご教授いただきたくお願いいたします。

恐らく引数lpWlxContextに、その辺の情報が入っている構造体のポインタが
渡されているのではないかと思っているのですが、MsGina.Dllでこの部分が
何に使われているのかが調べきれませんでした。

つたない質問で申し訳ありませんが、よろしくお願いいたします。

784 名前:771 :04/06/16 20:16
>>772
解決しました、ありがと〜

785 名前:デフォルトの名無しさん :04/06/17 17:28

TrackPopupMenuで表示させたポップアップメニューを閉じたタイミングを
検出したい場合、どうすればよいのでしょうか?
ご教授よろしくおねがいします



786 名前:デフォルトの名無しさん :04/06/17 18:10
WM_EXITMENULOOPではダメかしら

787 名前:デフォルトの名無しさん :04/06/17 18:25
ところでご教授って人の名前?

788 名前:デフォルトの名無しさん :04/06/17 18:36
>>787
ところで藻前、とてつもないバカ?

789 名前:デフォルトの名無しさん :04/06/17 18:38
うん。教授と教示の違いが分からない奴よりはバカじゃないと思うけどね:-P

790 名前:デフォルトの名無しさん :04/06/17 18:44
質問に答えるやつはちゃんと教授法を学べよ。

791 名前:デフォルトの名無しさん :04/06/17 18:45
(:-P)_| ̄|_

792 名前:デフォルトの名無しさん :04/06/17 18:53
きょうじゅ けう― 【教授】
(名)スル
(1) (ア)児童・生徒に知識・技能を与え、そこからさらに知識への興味を呼び起こすこと。
  (イ)専門的な学問・技芸を教えること。
(2) 大学などの高等教育機関において、専門の学問・技能を教え、また自らは研究に従事する人の職名。助教授・講師の上位。

人の名前?て聞くのはヴァカじゃね?

793 名前:デフォルトの名無しさん :04/06/17 18:54
>>789
ああ、本当にバカだ。底なし。

794 名前:デフォルトの名無しさん :04/06/17 19:49
>>787
ところで難しい質問が来るとしばらくスレが止まって、上げ足レスが付くっていうのは厨の十八番なのか?
判らなければスルーすればよいだけだと思うのだが


795 名前:デフォルトの名無しさん :04/06/17 20:00
>>794
(゚Д゚)ハァ?、もしかして>>783の教えてクンのこと?
そんなの低レベル過ぎて答える気がしないだけだよ、あんなのがお前には難し過ぎる質問だったのかw
あんまり自分のレベルで判断するなよ、今回みたいに大恥かくよw

796 名前:デフォルトの名無しさん :04/06/17 21:32
誰か構ってやれよ

797 名前:デフォルトの名無しさん :04/06/17 21:35
エディットコントロールで文字フォントの大きさを変更したいのですが、
検索してSendMessageと、WM_SETFONTを使うべきと分かったのでやってみました。

SendMessage(hwndEdit, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));

上のコードを親ウィンドウのプロシージャに埋め込んだのですが、フォント自体は変化せず。
文字高さを以前より大きくすると、カーソルが大きくなるだけです。
以前より小さくすると、フォント下部が欠けた状態で表示されるようになりました。
代わりにスタティックコントロールで試すと、この問題は生じません。

どこが間違っているのでしょう?、教えていただけないでしょうか。
環境は VC++.NET です。


798 名前:デフォルトの名無しさん :04/06/17 21:42
一番間違ってるのはこんな状態のこのスレで聞くことだな

799 名前:デフォルトの名無しさん :04/06/17 22:59
>>787==>>789 必死だな (激藁

800 名前:デフォルトの名無しさん :04/06/17 22:59
>>796=783
まあ今回は許してやるから、勉強して今度はもうちょっとマシな質問しろやw
それと問題が解決したら情報をレスしろよ。それが礼儀だからな


801 名前:デフォルトの名無しさん :04/06/17 23:00
>>800
全然面白くない。このスレから消えろ

802 名前:デフォルトの名無しさん :04/06/17 23:08
>>801
そういうことは、住人が呆れるような低レベルな質問を、平気でする香具師に言うべきでは?

803 名前:デフォルトの名無しさん :04/06/18 00:54
プ

804 名前:デフォルトの名無しさん :04/06/18 01:03
>>795
…そう捨て台詞を吐いて、結局>>783の解決方法を言わないのか。
もし、>>794に対して文句言いたいなら>>783の答えを示して
「低レベルすぎて回答する気もならなかった」と言えば
>>794は何も言えないと思うのだが…。

805 名前:デフォルトの名無しさん :04/06/18 01:05
>>804
>>795にとって、>>783は低レベルだが
>>794は高レベルな書き込みだったのだろう。
何故なら、レスしてるから。(w

806 名前:デフォルトの名無しさん :04/06/18 02:15
つーかAPIの話しないなら出てけお前ら

807 名前:デフォルトの名無しさん :04/06/18 02:23
   ∩___∩      
   | ノ      ヽ/⌒) あばばばばばば
  /⌒) (゚)   (゚) | .|  
 / /   ( _●_)  ミ/   ∩―−、
.(  ヽ  |∪|  /    / (゚) 、_ `ヽ
 \    ヽノ /      /  ( ●  (゚) |つ
  /      /      | /(入__ノ   ミ   あばばっあびゃばびゃばば
 |       /       、 (_/    ノ  
 |  /\ \       \___ ノ゙ ─ー
 | /    )  )       \       _     
 ∪    (  \        \     \
       \_)

808 名前:デフォルトの名無しさん :04/06/18 04:54
>>797
エディットコントロールってフォント変えられるんだっけ?
MSDNで調べてみたら?
もしフォント変えられないっぽいならリッチエディットにする。

809 名前:デフォルトの名無しさん :04/06/18 08:51
>>808
WM_SETFONTで変えろ

810 名前:デフォルトの名無しさん :04/06/18 09:34
>>809 ( ゚д゚)ポカーン

811 名前:デフォルトの名無しさん :04/06/18 10:46
>>797
WM_SETFONTでフォントを適用したあと、HFONTをDeleteObjectしてないか?
WM_SETFONTで適用したフォントはそのフォントを使わなくなるまで
(コントロールを削除など)保持しとかないとダメだぞ。

もしそうならスタティックで成功してるってのも、再描画すると元に戻ってると思うんだが…。

812 名前:デフォルトの名無しさん :04/06/18 11:38
811 さん、、おっしゃる通りです。
直後にフォントを破棄していました。
エディットコントロールが既に存在しないフォントにアクセスしたんでしょうね。
スタティックは再描画後もOKでした、フォントをコピーして保持してるのでしょうか?
しくみが違うようです。

どうもありがとうございました。


813 名前:デフォルトの名無しさん :04/06/18 11:45
↑↑↑
失礼、ミスリードしました。
スタティックも再描画したら問題発生しました。

ではでは。w


814 名前:デフォルトの名無しさん :04/06/18 20:57
w

815 名前:デフォルトの名無しさん :04/06/18 22:58
以下のようにしてファイルロックの様な物を実装しようとしてるのですが
時々処理がWaitForSingleObjectで固まってしまい困ってます。
何が悪いのでしょうか。
func()はマルチスレッドで山ほど同時に呼ばれます。

void func()
{
HANDLE hMutex = ::CreateMutex(NULL, FALSE, strMutex);
if (::WaitForSingleObject(hMutex, 2000) == WAIT_TIMEOUT)
 TRACE("WAIT_TIMEOUT\n");
// ここで保護したい処理
::ReleaseMutex(hMutex);
::CloseHandle(hMutex);
}

816 名前:デフォルトの名無しさん :04/06/18 23:20
なんでそんなに作りまくるのか

817 名前:デフォルトの名無しさん :04/06/18 23:34
実際とは違うけどIriaとかの同時ダウンロードみたいな感じで使用されます。

818 名前:デフォルトの名無しさん :04/06/18 23:38
> 実際とは違う

どう違うのかかけ。
特に、毎回Createしてるのかどうか。

819 名前:デフォルトの名無しさん :04/06/18 23:45
実際はIriaのようにファイルのダウンロードではなく
サーバにパケット送信したり受信したりしてます。
>毎回Create
Createとは何をCreateしてると言うことですか?
スレッドなら同時に何十も起動できるようにしてますが。

820 名前:デフォルトの名無しさん :04/06/18 23:55
mutex

821 名前:デフォルトの名無しさん :04/06/18 23:56
>>815
なー、実際に何を保護すんの〜?

822 名前:デフォルトの名無しさん :04/06/19 00:01
func() のどこかで ::Sleep(5); を入れてみたらうまくいくかも。
違ってたらごめんなさい。

823 名前:デフォルトの名無しさん :04/06/19 00:08
>>820
ミューテックスなら上に書いたようにスレッドが作成されそのスレッドから
毎回関数が呼ばれた際に作成して関数が終わるときに破棄するようにしています。

>>821
ファイル相手じゃないですがデータを読み込みそれを変更してデータを格納してます。
要はカウンタと同じです。

>>822
駄目でした。

824 名前:デフォルトの名無しさん :04/06/19 00:11
>>823

main()
{
mutex を1つ作成
...
mutex を破棄
}

func()
{
mutex ウエイト

mutex リリース
}

じゃいかんのかえ?

825 名前:デフォルトの名無しさん :04/06/19 00:13
つーかプロセス内でしか使用しないMutexに名前付けるな

826 名前:デフォルトの名無しさん :04/06/19 00:15
>>825
そういやMutexってそのままグローバルに名前が見えちゃうんだっけ?

827 名前:デフォルトの名無しさん :04/06/19 00:24
>>824
なるほど、大元で作成してそれを使いまわすみたいな感じですか。
ただ、このプログラムの場合、効率を上げるため幾つかmutexを作成してて
その辺変更するの時間かかりそうなのまた明日にでもやってみようと思います。

>>825
上にも書きましたが効率を上げる為です。
もう少し詳しく書くと以下のようにしてます。
void func(LPCSTR lpName)
{
CString strMutex;
strMutex.Format("ACCESS_%s", lpName);
HANDLE hMutex = ::CreateMutex(NULL, FALSE, strMutex);
...


lpNameはデータ名でこれは幾つか有ります。
AAAと言う名前のファイルにデータを書きこむ際は
BBBと言う名前のファイルは保護する必要は無いので。

828 名前:デフォルトの名無しさん :04/06/19 00:26
>>827
これ以上アホな質問する前にマルチスレッドと同期について書いてある"まともな本"を読んで来い。

829 名前:デフォルトの名無しさん :04/06/19 00:28
>>828
どの辺がアホなのか指摘していただけると凄く助かります。

830 名前:デフォルトの名無しさん :04/06/19 00:29
>>827
ていうか情報を小出しにするな。前提条件は最初に書かなきゃ、
>>824>>825がレスした事が無駄になっちまう可能性もある訳で。



831 名前:デフォルトの名無しさん :04/06/19 00:32
>>827
それなら保護したいリソースにアクセスするクラスを構築するたびに
Mutexを生成する

struct FILEIO {
 FILEIO { むーってっくす生成 }
 ~FILEIO { むーってっくす棄て }

 HANDLE hmutex;
}

func(FILEIO& aaaaaaaa)
{
aaaaaaaa.hmutexをうえいと

aaaaaaaa.hmutexをりりーす
}


832 名前:デフォルトの名無しさん :04/06/19 00:33
>>830
最初に全ての情報を書くと膨大なので必要だと思われるところだけを書いたつもりですが
いかせんアホなのでその辺の取捨選択が間違えてたようで、スミマセン。

833 名前:デフォルトの名無しさん :04/06/19 00:33
>>828
答えを書いておきながら、ちょと同意してしまった。

834 名前:デフォルトの名無しさん :04/06/19 00:37
>>828
まーその意見には同意するがこのスレでそんな身も蓋も無い事言うもんじゃない。

835 名前:デフォルトの名無しさん :04/06/19 00:43
>>831
その方法を使わせていただきます。
有難うございました。

836 名前:デフォルトの名無しさん :04/06/19 00:46
>>835
まー、頑張って。
Win32以前に同期のお勉強をしてね。もっといい方法が分かると思うよ。

837 名前:デフォルトの名無しさん :04/06/19 01:09
近所のおねえさんとWin32APIでむっくすしたいので方法を教えてください

838 名前:デフォルトの名無しさん :04/06/19 01:10
>>837
だまってメーラースレにお戻りください。

839 名前:837 :04/06/19 01:33
は?

840 名前:デフォルトの名無しさん :04/06/19 01:53
>>837 のような書き込みするおまいの頭の方が「は?」だ。

841 名前:デフォルトの名無しさん :04/06/19 01:55
それで、近所のおねえさんとむっくすする方法は…

842 名前:デフォルトの名無しさん :04/06/19 02:26
>>841
speed&power

843 名前:デフォルトの名無しさん :04/06/19 02:45
>>841
looks&money

844 名前:デフォルトの名無しさん :04/06/19 02:55
pokotin&korman

845 名前:デフォルトの名無しさん :04/06/19 04:50
同一プロセス内でしか使わないなら、クリティカルセクションでいいんじゃないの?
処理の重さは、Mutex>クリティカルセクションだよね?

846 名前:デフォルトの名無しさん :04/06/19 05:15
>>845
非NTだとクリティカルセクションはタイムアウトできない

847 名前:783 :04/06/19 08:18
自己解決しました
なんか荒れる原因つくってしまったみたいで申し訳ありませんでした

848 名前:デフォルトの名無しさん :04/06/19 09:25
コンボボックスについて質問です。
テキストが右揃えなスタイルのコンボボックスを作成すると、ドロップダウンのボタンが左側に配置されてしてしまうのですが
普通のコンボボックスのようにボタンを右側に残したままテキストを右揃えにするにはどうすればよいのでしょうか?
ご存じの方どうか宜しくお願いします。

849 名前:デフォルトの名無しさん :04/06/19 09:31
自己解決しました

850 名前:デフォルトの名無しさん :04/06/19 09:51
849 != 848 です。
この流れだと勘違いされそうなので...

851 名前:デフォルトの名無しさん :04/06/19 10:13
>>848
そのスタイルは、右から左へ文章を表示する言語のためのもの。
自分で描画汁。

852 名前:デフォルトの名無しさん :04/06/19 10:33
>>847
>>849
ヲイヲイ、「解決しまつた」だけじゃ何の意味もないだろうが
きちんとどうやって解決したのか報告しろ
そうじゃないと質問に答えてくれた人に失礼だろうが、お子様
じゃないんだから、それくらいの事は言われなくても分かって
くれよ…

853 名前:デフォルトの名無しさん :04/06/19 10:47
自己解決しました

854 名前:デフォルトの名無しさん :04/06/19 10:51
>>852
ねたにまj

855 名前:デフォルトの名無しさん :04/06/19 11:21
2ちゃんでマナー語る香具師も珍しいな

856 名前:デフォルトの名無しさん :04/06/19 12:54
852じゃないが2ch云々の問題じゃない。
スレの流れも悪くなるし、簡単でいいから内容を
書くべきだ。というか何も書かない椰子よりは
いいが。。。

857 名前:デフォルトの名無しさん :04/06/19 12:57
2chとひと括りにするの自体が間違ってる。厨板・技術板・雑談板それぞれに特色があって
それぞれに異なった住人層(と表現しとく)があるんだから。なんかその辺を分かってない奴が最近あちこちの
板に激増してる気がする。空気が読めてないというか何と言うか。

858 名前:デフォルトの名無しさん :04/06/19 14:08
自己完結しました。

859 名前:デフォルトの名無しさん :04/06/19 14:08
セルフセックスですか

860 名前:デフォルトの名無しさん :04/06/19 15:17
気になりますな。
遅そうとはいえ、>>815 で機能上は問題はないように見えるし。


861 名前:デフォルトの名無しさん :04/06/19 15:28
>>851
そのようにさせていただきます。
既製の方法はありませんでしたか。
旧版が番号スタイルのエディットボックス(自動的に右揃え)を使っていたので
見た目を揃えたかっただけなのですが。

862 名前:デフォルトの名無しさん :04/06/19 16:05
>>856
まあ、283=247は厨に絡まれまくっただけで技術的な支援はまったく
なかったしねえ、とてもレポート書く気にはならないと思われ

863 名前:デフォルトの名無しさん :04/06/19 16:07
↑847=783ね


864 名前:デフォルトの名無しさん :04/06/19 16:25
CHOOSEFONTでフォントダイアログを出した後、フォントサイズのところに任意の数字
を入れるにはどうすればいいのですか?
例えば、初めにフォントサイズ40を設定しておいて次回開いたときに40が入っている
って事がしたいのです。


865 名前:デフォルトの名無しさん :04/06/19 20:20
こんばんは!一つ質問させてください。
320×240のウインドウを表示したいのですが、タイトルバーが含まれてしまうので
うまく作れないのですが、どうすれば良いのでしょうか?
(320×240の画像を表示したいのです)
よろしくお願いします!

866 名前:デフォルトの名無しさん :04/06/19 20:28
>>865
WM_NCCALCSIZE を拾うでつ

867 名前:デフォルトの名無しさん :04/06/19 21:57
>>865
1 適当なサイズでウインドウを作る
2 320-クライアントの幅 を現在のウインドウ幅に足してリサイズ
3 240-クライアントの高 を現在のウインドウ高に足してリサイズ

の2ステップが必要。
ウインドウメニューが無い場合は、AdjustWindowRect(Ex)を使っても良い。

868 名前:デフォルトの名無しさん :04/06/20 00:26
質問です。
MacのDockをマネたのがWinにもあるけど、
あんな感じでアルファチャンネルを持った
画像を表示したいんです。

画像のアルファチャンネルでウィンドウを
透明にする方法を教えて下さい。

レイヤードウィンドウみたいに全体が
同じアルファ値じゃなくて、ピクセル
単位でアルファ値を変える方法が
しりたいです。

よろしくお願いします。


869 名前:デフォルトの名無しさん :04/06/20 00:35
UpdateLayeredWindow()

870 名前:デフォルトの名無しさん :04/06/20 00:40
>>869
MSDN読み直したら、「ピクセル単位のアルファ情報を含むこともできます」
と書いてありました。恐縮です。
ありがとうございました。m( _ _ )m

871 名前:デフォルトの名無しさん :04/06/20 01:05
>>846
NTだとできるの?

872 名前:デフォルトの名無しさん :04/06/20 11:11
エクスプローラで指定のフォルダが既に開いていないか取得する方法って無いですかね?
とりあえずエクスプローラのウィンドウはFindWindowでクラス名をCabinetWClassにすれば
取れるんですけどキャプションは設定によって変わりますからそこで判断は出来ませんし。
どこかからかそのフォルダのCLSIDでも取得出来るなら良いんですが。

873 名前:デフォルトの名無しさん :04/06/20 11:18
堅実で確実な方法としては、シェル拡張で潜り込むしかないかな。

874 名前:デフォルトの名無しさん :04/06/20 11:26
>>872
http://lamoo.s53.xrea.com/diary/diary2004a.html#t20040521a

875 名前:872 :04/06/20 11:36
>>874
おお、コリャ良い。
サンクスコ。

ってか、CLSIDじゃ無くてITEMIDLISTだったな。オオボケでした。

876 名前:デフォルトの名無しさん :04/06/20 11:44
……この情報がどこから出てきたかは秘密です。

流出ソースだろ、ヤバくないか?

877 名前:365 :04/06/20 12:30
>>366
>>367
できました、有難うございました〜


878 名前:デフォルトの名無しさん :04/06/20 12:49
>>876
これAvesta作者だよね・・・。なんかやばそう。

879 名前:デフォルトの名無しさん :04/06/20 17:53
自作のダイアログを半透明にしようとして、WM_INITDIALOGに以下の様に
処理を書いてみたのですが、ダイアログが完全に透明になってしまいます。

いったいどこがおかしいのでしょうか?

BLENDFUNCTION bl;
BOOL bb;

SetWindowLong(hDlgWnd, GWL_EXSTYLE, GetWindowLong(hDlgWnd, GWL_EXSTYLE) | WS_EX_LAYERED);

bl.BlendOp = AC_SRC_OVER;
bl.BlendFlags = 0;
bl.AlphaFormat = 0;
bl.SourceConstantAlpha = 200;

bb = UpdateLayeredWindow(hDlgWnd, NULL, NULL, NULL, NULL, NULL, NULL, &bl, ULW_ALPHA);


880 名前:デフォルトの名無しさん :04/06/20 21:18
SetLayeredWindowAttributes使え

881 名前:デフォルトの名無しさん :04/06/20 22:11
カーソルをリソースからではなく
(メモリダイアログテンプレートのように)
コードで組み立てる(orコードに埋め込む)
にはどうすればよいのでしょう。
よろしくお願いします。

882 名前:デフォルトの名無しさん :04/06/20 22:17
>881 CreateCursor

883 名前:デフォルトの名無しさん :04/06/21 18:50
40バイトあるファイルをReadFileで10バイトずつ違う変数に代入したい
場合はどうすればいいのでしょうか。お願い申しage

884 名前:デフォルトの名無しさん :04/06/21 19:03
10バイトずつ読む

885 名前:デフォルトの名無しさん :04/06/21 19:11
リードしたバッファのアドレスをポインタで保持するだけでいいじゃん



886 名前:デフォルトの名無しさん :04/06/21 19:53
>>885
こんな感じですか?
static char String[40];
char *p;

ReadFile(hFile,String, 40, &Read, NULL);
p = String;
w = atoi(p+0);
x= atoi(p+10);
y= atoi(p+20)
z atoi(p+30)

887 名前:デフォルトの名無しさん :04/06/21 19:54
(・∀・)・・・?

888 名前:デフォルトの名無しさん :04/06/21 20:00
変数に代入、という時点で気付くべきだったな。

889 名前:デフォルトの名無しさん :04/06/21 21:47
構造体に読み込みなさい


890 名前:デフォルトの名無しさん :04/06/21 22:50
ここはAPIスレだからそれでもいいけど
一般にはストリームから直接構造体に読み込むのは
移植性無さ過ぎるぞ

891 名前:デフォルトの名無しさん :04/06/21 23:27
構造体に読む込むってのは、どうやって
かるく例を書いてもらえるとありがたいんですが


892 名前:デフォルトの名無しさん :04/06/21 23:29
BITMAPFILEHEADER f;
fread(&f, sizeof f, 1, fp);

みたいなことだろ

893 名前:デフォルトの名無しさん :04/06/21 23:31
pretty hackey wayですね(hackyだっけ)

894 名前:デフォルトの名無しさん :04/06/21 23:51
Google先生にお伺いを立ててみたところ
hackyジャネーノ? と言われますた
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=hackey

895 名前:デフォルトの名無しさん :04/06/22 10:19
別スレで質問したのですが、そのスレが終わってしまったのでこちらで質問します。

マイコンピューターの、ドライブ名の一覧を取得するにはどうすればよいのでしょう。
デジカメなどのマスストレージなども含めて取得したいです。
OSで開いた場合の「マイコンピュータ」フォルダと同じ内容が得られれば目的を果たせるのですが。
OSはXP、言語はDelphiです。

896 名前:デフォルトの名無しさん :04/06/22 10:30
>>895
IShellFolder::EnumObjects

897 名前:デフォルトの名無しさん :04/06/22 10:32
フォントダイアログの「文字飾り-色」だけを非表示にするAPIってありますか?
文字飾りグループを全部消せるのは知っています。

898 名前:デフォルトの名無しさん :04/06/22 10:43
CFHookProcでフォントダイアログにフックを引っ掛けて
その中で目的のコントロールを非表示でよいんじゃないのか?

899 名前:デフォルトの名無しさん :04/06/22 11:49
>>897
ShowWindow

900 名前:デフォルトの名無しさん :04/06/22 13:04
>>896
できますたありがとうございます

901 名前:デフォルトの名無しさん :04/06/22 15:54
CreateProcessを使って立ち上げたexeの標準出力&エラーを
元で取得するにはどうしたらよいでしょうか。
よろしくお願いします。

902 名前:デフォルトの名無しさん :04/06/22 16:16
>>901
パイプ

903 名前:デフォルトの名無しさん :04/06/22 16:34
windows pipeの覚書
ttp://nhiro4.ld.infoseek.co.jp/program/windows/pipe.html

904 名前:デフォルトの名無しさん :04/06/22 16:47
パイプ(名無し)は WaitFor ができないのが難点。

905 名前:デフォルトの名無しさん :04/06/22 16:51
>>904
CreateProcessするんだからプロセスハンドルじゃだめか?

906 名前:904 :04/06/22 16:58
>>905
プロセス終了後にまとめて読むんだったらそれでよいけど、
子プロの吐く内容をリアルタイムで取得したい場合もあるから。
たとえば対話式コマンドとか。

907 名前:デフォルトの名無しさん :04/06/22 17:01
それはスレッド使うのが定石。

908 名前:904 :04/06/22 17:09
スレッド使ったところで、ReadとWaitのループで待つわけだから、
パフォーマンスとレスポンスのトレードオフになる。
てか、名前憑きは使えないんだっけ?

909 名前:デフォルトの名無しさん :04/06/22 17:41
>>908
>ReadとWaitのループで待つわけだから、
ReadFile自体がブロックするからWaitは不要。
レスポンスも悪くないよ。

>>901
>190351 - HOWTO: Spawn Console Processes with Redirected Standard Handles
http://support.microsoft.com/?id=190351

910 名前:デフォルトの名無しさん :04/06/22 22:18
ユーザー名から、そのユーザーのユーザーグループ(アドミニとかパワーユーザー)を
知りたいんですがそんなAPIありませんでしょうか?


911 名前:デフォルトの名無しさん :04/06/23 00:01
WM_INITDIALOGの中でSetTimer(hDlg, NULL, 1000, NULL)すると
何かダイアログを操作するまでWM_TIMERがこないんですが、何故でしょうか?
設定したダイアログに対して何か操作をすると
それからは設定した時間ごとにWM_TIMERが飛んでくるんですが・・・

912 名前:デフォルトの名無しさん :04/06/23 00:06
タイマIDって0よかったっけ?

913 名前:デフォルトの名無しさん :04/06/23 00:09
>>910
NetUserGetLocalGroups

914 名前:911 :04/06/23 00:13
>>912
MSDNにはダメとは書いてないですし、SetTimer()の戻り値も正常なので大丈夫かと。
一応適当な数値でやってみましたが、症状変わらずです・・・

915 名前:デフォルトの名無しさん :04/06/23 00:21
>>911
モーダルとモードレスがわかっていない阿寒

916 名前:911 :04/06/23 00:28
あー単純なモーダルダイアログでやってみたらきちんと来ました。
何かミスってるぽいですね。

>>915
解決法をご存知でしたら教えていただきたいんですが、
モードレスダイアログの場合CreateWindow()で作ったWindowのように
PeekMessage()した後にIsDialogMessage()を呼ぶのではダメなんでしょうか?

917 名前:デフォルトの名無しさん :04/06/23 00:57
>>916
どんなメッセージループを書いたのか、書いてみ?

918 名前:911 :04/06/23 01:09
>>917
/* ダイアログ作ったり */

while( hDlg || hMainWnd )
{
  while ( ::PeekMessage( &msg, NULL, 0, 0, PM_REMOVE) )
  {
    if ( hDlg && ::IsDialogMessage( hDlg, &msg ) )
      continue;
    ::TranslateMessage(&msg);
    ::DispatchMessage(&msg);
  }
  /* 毎回呼びたい関数とか */
}

こんな感じです。よろしくお願いします

919 名前:911 :04/06/23 03:09
よく分かりませんが、主要部分は全部クラス化してたので
GUIの部分だけ書き直したら正常に動作しました。
正直意味不明です。コード内容ほとんど変わってないのに・・・orz
お騒がせしました。

920 名前:デフォルトの名無しさん :04/06/23 10:50
RGBで色を指定するときボタンの色とかのWindowsのシステムカラーを指定するのってどうすればいいんですか?

921 名前:デフォルトの名無しさん :04/06/23 10:51
GetSysColor

922 名前:デフォルトの名無しさん :04/06/23 10:53
>>921
R:00 G:00 B:01ならボタンの色とかRGB値で直接指定できたりはしないの?

923 名前:デフォルトの名無しさん :04/06/23 10:59
>>922
できません。それだと RGB=(0,0,1) の色が使えなくなっちゃうじゃん。
ブラシ (HBRUSH) を取る関数なら、 (HBRUSH) (COLOR_BACKGROUND+1) とかで
いけるんだけどね。

924 名前:デフォルトの名無しさん :04/06/23 10:59
何いってんの?256カラーモードで使えば?

925 名前:デフォルトの名無しさん :04/06/23 11:00
>>923
それは本来GetSysColorBrush(COLOR_BACKGROUND)とするべきではないのか。

926 名前:デフォルトの名無しさん :04/06/23 11:03
>>923
補足で蛇足。先方が OCX コントロールだったりして、OLE_COLOR 型で色指定する場合には、
OleTranslateColor の説明に出てくるいろんな方法 (0x80000000 | COLOR_BACKGROUND とか)が使えます。


927 名前:デフォルトの名無しさん :04/06/23 13:44
>>901
パイプで解決しました。
ありがとうございます。

928 名前:デフォルトの名無しさん :04/06/23 15:53
自分以外のウインドウのサイズ変更を制限することは可能でしょうか?
自分のウインドウのサイズを制限する場合はウインドウプロシージャで
WM_GETMINMAXINFOメッセージを処理すれば出来るらしいので、
DLL作ってフックプロシージャで制限したいウインドウのメッセージを
処理しようとしているのですがうまくいきません。

LRESULT CALLBACK MsgProc( int nCode, WPARAM wParam, LPARAM lParam )
{
 CWPSTRUCT *pCWP;
 MINMAXINFO *lpmmi;
 if( nCode == HC_ACTION ) {
  pCWP = (CWPSTRUCT *)lParam;
  if( pCWP->hwnd == hWnd ) { //hWndはサイズ変更を制限したいウインドウのハンドル
   switch( pCWP->message ) {
   case WM_GETMINMAXINFO:
    lpmmi = (MINMAXINFO *) pCWP->lParam;
    lpmmi->ptMinTrackSize.x = 600;
    lpmmi->ptMinTrackSize.y = 480;
    lpmmi->ptMaxTrackSize.x = 1024;
    lpmmi->ptMaxTrackSize.y = 768;
    return 0;
   }
  }
 }
 return CallNextHookEx( Msg, nCode, wParam, lParam );
}

lpmmi = (MINMAXINFO *) pCWP->lParam;
のところを
lpmmi = (MINMAXINFO *) lParam;
に変えてみても出来ませんでした。
ご存知の方いらっしゃいましたらご教授下さい。

929 名前:デフォルトの名無しさん :04/06/23 16:44
>>928
>return 0;
これじゃあ、ターゲットのウインドウまでWM_GETMINMAXINFOが届かない。
メッセージをいじった場合でも、メッセージをブロックする場合以外は
Call〜()を呼ぶ。

930 名前:デフォルトの名無しさん :04/06/23 17:00
あ、ごめん。
この場合これでいいのか。929は忘れてくれ。

931 名前:デフォルトの名無しさん :04/06/23 17:15
単純にグローバルフックになってないとか。

932 名前:デフォルトの名無しさん :04/06/23 17:31
>>931
WM_GETMINMAXINFO以外にもメッセージをフックしていますが、
そちらは正常に動いていますのでグローバルフックにはなっていると思います。
念のためreturn 0;の前にメッセージボックスを入れて確認しましたが、
サイズを変更しようとするときちんと表示されています。
それなのに600*480よりも小さくなってしまうんです…。

933 名前:デフォルトの名無しさん :04/06/23 17:59
MSDNより
> CallWndProc フックプロシージャはメッセージを調べることはできますが、
> 変更することはできません。

934 名前:デフォルトの名無しさん :04/06/23 18:12
>>933
そういうことでしたか…
勉強不足でした。ありがとうございました。

935 名前:デフォルトの名無しさん :04/06/23 18:14
>>934
フックで先方のプロセスに入り込んだ後でサブクラス化(Window Proc の付け替え)すればOKだと思うよ。

936 名前:デフォルトの名無しさん :04/06/23 20:07
>>935
結構雑事が多いから整合取るの大変だけどね

937 名前:デフォルトの名無しさん :04/06/23 20:07
複数のファイルのドロップソースになりたいのですが、
フルパスのITEMIDLISTから、デスクトップのIShellFolderを使い
GetUIObjectOfをすればいいんですか?
それとも、やっぱりIDataObjectを実装しないとならないのでしょうか?


938 名前:デフォルトの名無しさん :04/06/23 21:55
>>928
サブクラス化により無事制限出来ました。
どうもありがとうございました。

939 名前:デフォルトの名無しさん :04/06/23 21:57
>>919
???

940 名前:デフォルトの名無しさん :04/06/24 13:35
>>937
GetUIObjectOfでIID_IDataObjectを指定すればIDataObjectを得られるので、
自分で実装しなくてもいいです


941 名前:デフォルトの名無しさん :04/06/24 13:51
>>940
c:\foo\text
d:\bar\text
...
のように、別々なフォルダにあるファイルを複数まとめたIDataObjectが欲しいんです。
IEnumIDListで得られるITEMIDLISTからIDataObjectを取得する場合、
複数フォルダにまたがったファイルからの取得は無理ですよね?

942 名前:デフォルトの名無しさん :04/06/24 17:04
程度の低い質問かもしれません&長文ですが御容赦下さい。DefWindowProcの振舞についてです。

ShowBitmap()なる自作関数があります。これはビットマップをメモリデバイスコンテキストにロードして
BitBltでウィンドウ送るだけのものです。これをWM_PAINTな時に実行させると、正しく表示されます。

次に、ボタンやメニューによるメッセージを使ってビットマップを表示させようと考えました。
プロシージャ内でメッセージはswitchで仕分けていますが、
case WM_PAINT:
break;
なる何もせぬコードの有無で振舞が違うのです(ある時にのみ表示されました。) この理由がわかりません。

原因として考えたのが、以下に示すswitch文最後の入門書通りの処理です。
return (DefWindowProc(hWnd, msg, wParam, lParam));
上記「何もしないコード」が無い時は、WM_PAINT時コレが呼び出されるのですが、その際に
何かビットマップが表示されない様な処理が施されるのでしょうか?
そうだとすると「何もしないコード」の挿入で、ビットマップが表示される様になる事は合点がゆきます。
しかし一方で、ShowBitmap()の代わりにメモリデバイスコンテキストでない、文字や線を描くコードを
入れると、「何もしないコード」がなくても描画できるのです。

この事は、一体どの様に理解したらよろしいのでしょうか?先生方、お知恵を拝借できませんでしょうか?

943 名前:デフォルトの名無しさん :04/06/24 17:15
自己解決しました。

944 名前:942 :04/06/24 17:57
>>943
騙り氏ね。

>>942お願いします。もう時間が無いんです。

945 名前:デフォルトの名無しさん :04/06/24 18:05
そんな書き込みで誰かが面倒見てくれると思ってんのカ

946 名前:デフォルトの名無しさん :04/06/24 18:09
まさかとは思うがWM_PAINT以外でもBeginPaintしてるとかいうトンチキなオチはないよな?

947 名前:デフォルトの名無しさん :04/06/24 18:10
ShowBitmapもださねーで長文をダラダラと。

948 名前:デフォルトの名無しさん :04/06/24 18:19
事後承諾しました。

949 名前:デフォルトの名無しさん :04/06/24 19:06
今までDLLからウインドウを作ろうなんて考えもしなかったんだけど、
DLLからCreateWindowをするとき、HINSTANCEにはDLLのインスタンスハンドルを指定するのですか?
それともWinMainのHINSTANCEを指定すればいいのですか?
NT系だと無視されるようなので、どちらが正しいかってのがちょっと分からないのですが。

950 名前:940 :04/06/24 19:25
>>941
ちょっと試してみたのですが、別ディレクトリのファイルでGetUIObjectOfして
エクスプローラにドロップしてみましたが、なぜかショートカットの作成しかできなくて
コピーなどができないのが謎です。
自前でIDataObjectを処理しないと無理なのか???


951 名前:デフォルトの名無しさん :04/06/24 21:34
だれか942の質問答えてやれよ?
ここまで低姿勢なんだからさ!


952 名前:デフォルトの名無しさん :04/06/24 21:37
> BitBltでウィンドウ送るだけのものです。これをWM_PAINTな時に実行させると、正しく表示されます。

> case WM_PAINT: break; なる何もせぬコードの有無で振舞が違うのです

WM_PAINTな時に実行してないじゃん。

953 名前:942 :04/06/24 21:57
すみません、つまらない勘違いでした。
どうもお騒がせしました。二度と来ないので勘弁してください。

954 名前:デフォルトの名無しさん :04/06/24 21:57
まぁ、case WM_PAINT: break;って何もしないコードとは言い切れないよな。

955 名前:デフォルトの名無しさん :04/06/24 21:57
>>942
漏れはDefWindowProcよりも、switch後の振舞の方が気になる。

956 名前:デフォルトの名無しさん :04/06/24 22:04
だったらお前が答えてやれよ?
そこまで高圧的なんだからさ!


957 名前:デフォルトの名無しさん :04/06/24 22:24
case WM_PAINT: break;
これだと無効領域が有効にならないから
延々とWM_PAINTが飛び続けるんじゃないかな

958 名前:942 ◆ltc18hDOM. :04/06/24 23:04
皆様、お騒がせして申し訳ない&お返事感謝です。>>943, >>944, >>953 は騙りです。お恥ずかしいのですが
やはり該当コードを晒すことにします。hW、hIはグローバルなウィンドウ及びインスタンスハンドルです。
「何もしないコード」の有無でビットマップの振舞が変化します。文字表示に変化はありません。
以下プロシージャです。
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){
switch (msg) {
case WM_DESTROY:
PostQuitMessage(0); break;
//case WM_PAINT: // 「何もしないコード」
//break;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case ID_SHOWBITMAP:
ShowBitmap(); ShowText(); break;
default:
break;
}
default:
return(DefWindowProc(hWnd, msg, wParam, lParam));
}
return (0L);
}


959 名前:942 ◆ltc18hDOM. :04/06/24 23:05
描画コードです

void ShowText(){
HDC hdc;char* str = "hello";
hdc = GetDC(hW);
TextOut(hdc, 10, 10, str, lstrlen(str));
ReleaseDC(hW, hdc);
return;
}

void ShowBitmap(){
HDC hmdc, hdc; HBITMAP hBitmap; PAINTSTRUCT ps;

hdc = BeginPaint(hW, &ps);
hBitmap = LoadBitmap(hI, MAKEINTRESOURCE(IDB_BITMAP1));
hmdc = CreateCompatibleDC(hdc);
SelectObject(hmdc, hBitmap);
BitBlt(hdc, 0, 0, 200, 200, hmdc, 0, 0, SRCCOPY);
DeleteDC(hmdc);
DeleteObject(hBitmap);
EndPaint(hW, &ps);
return;
}

960 名前:946 :04/06/24 23:06
いぇい、ビンゴ

961 名前:デフォルトの名無しさん :04/06/24 23:07
>>946 が勝者でした。
ここで質問する前に、猫でも読んでおけ。
読み終わるまでは戻ってくるな。

962 名前:デフォルトの名無しさん :04/06/24 23:08
もう解決してるんですが…荒らしはやめてください>>958,959。

963 名前:942 :04/06/24 23:08
ソースを良く見直したら、自分がどれほどバカだったか痛いほど思い知りました。
みなさんどうもありがとうございました。涅槃で待ちます。

964 名前:デフォルトの名無しさん :04/06/24 23:09
スレを使い切る直前には何故か一揉めするな。

965 名前:942 :04/06/24 23:12
テヘッ

966 名前:デフォルトの名無しさん :04/06/24 23:17
CreateCompatibleDCで作ったDCで最初に選択されてるビットマップって
DeleteObjectしなくていいの?

967 名前:デフォルトの名無しさん :04/06/24 23:18
>>959
デバイスコンテキストを扱うときはWM_PAINT時とそれ以外で分けたほうがいいです。
具体的には

void DrawSomething(HDC hdc=NULL)
{
  bool flag=false;
  if(hdc==NULL){
    hdc = ::GetDC(hWnd);
    flag = true;
  }

  //いろいろ描画

  if(flag){
    ::ReleaseDC(hdc);
  }
  return;
}

ってな感じ。DrawSomethingをWM_PAINT時に呼ぶなら
BeginPaintでデバイスコンテキストを取得してから引数に指定します。
それ以外はNULLを指定して内部でGetDC/ReleaseDCを呼び出すようにする。

理由はうまく説明できそうにないのでエロイ人にでも聞いてください。


968 名前:デフォルトの名無しさん :04/06/24 23:32
>>967
そんなことするぐらいならDCは常に呼び出し側が用意、でいいだろ

969 名前:942 :04/06/25 00:14
うるせー馬鹿
さっさと寝ろ

970 名前:デフォルトの名無しさん :04/06/25 00:23
>>966を教えてよ。
本当の幸せ教えてよ。

971 名前:デフォルトの名無しさん :04/06/25 00:24
貴様にレインボーだごるぁ

972 名前:デフォルトの名無しさん :04/06/25 00:45
>>966
どうしても気になるなら削除すればいいよ。
ただ、DCに選択されてるオブジェクトはDeleteObjectできないから、
別のビットマップを身代りとして選択しとかなくちゃいけない。
そいつは削除できずに残るけど、まあ目的のためには些細なことだ。

973 名前:デフォルトの名無しさん :04/06/25 00:52
>>972
削除しなければいけないのかどうかを知りたいのですが。
ストックオブジェクトとはわけが違いますよね?違わないの?

974 名前:デフォルトの名無しさん :04/06/25 00:59
今簡単な送受信ソフトを作っているのですが、送受信の進行状況をプログレスバーで表すことができません。
送受信したファイルサイズなど表す方法があったら教えてください。
自分なりに調べてみたのですが、適当な物が見つかりません。
宜しくお願いします。

975 名前:942 ◆ltc18hDOM. :04/06/25 01:22
>>942 に関わった皆様
荒らしてしまって申し訳ないです。BeginPaintをMSDNで見ると、確かに
WM_PAINT時以外使うなとありますね。すみませんでした。今後 >>967-968 さんの様にします。
>>963 は騙りですが、現在この通りの事を思っております。出直してきます。

ありがとうございました


976 名前:デフォルトの名無しさん :04/06/25 01:35
>>975
まあ、がんがれ。変なのが多かったのは来たタイミングが悪かっただけさ。


977 名前:デフォルトの名無しさん :04/06/25 01:38
(´・ω・`)ノシ変なのの一人でーす

978 名前:デフォルトの名無しさん :04/06/25 02:45
自分が答えられない質問されると何故かキレる奴が居るからな。
どのスレでも言える事だが。

979 名前:デフォルトの名無しさん :04/06/25 03:04
プ

980 名前:デフォルトの名無しさん :04/06/25 09:34
ttp://www5.wisnet.ne.jp/~mercury/supertag/index.html
のSuper Tag Editorのように、リストビューにツリーを表示するには
どうしたらいいんでしょうか?
フックとオーナードローをするしかないのかな。

981 名前:デフォルトの名無しさん :04/06/25 09:51
そこまでキーワードが分かってりゃ検索すれば一発でサンプルが見つかると思うんだが。

982 名前:デフォルトの名無しさん :04/06/25 11:31
>>981
>フックとオーナードローをするしかないのかな。
から>>980をプロファイリングすると、恐らく内心では

「フックとオーナードロー('A`)マンドクセ もっとバカチョンな方法教えろゴルァ」

と思っている。間違いない。


983 名前:デフォルトの名無しさん :04/06/25 12:06
で?って言う。

984 名前:デフォルトの名無しさん :04/06/25 12:07
サンプルどころか、ソース公開なわけだが。
まあGPLだから取扱注意だけど。

985 名前:デフォルトの名無しさん :04/06/25 12:18
GPLなコードを見て内容を理解し、そっくりな内容のソースを焼き直ししてもGPL感染は無いので安心したもれ。

986 名前:デフォルトの名無しさん :04/06/25 12:28
あ、だからソースそのまんま使っちゃう場合の話ね。
厨な質問するヤシは厨な解決手段をとりがちだから

987 名前:デフォルトの名無しさん :04/06/25 12:35
>>982
いや、まあ図星なわけですけど。
フックていうか、サブクラス化ですね。

>>985
マジ・・・なのかな。

988 名前:デフォルトの名無しさん :04/06/25 12:45
>>987
コードはGPLに縛られてもアルゴリズムは縛られないからね

989 名前:デフォルトの名無しさん :04/06/25 12:45
ダメに決まってるじゃん

990 名前:デフォルトの名無しさん :04/06/25 13:02
素人のGPL談義ほど不正確なものはない

991 名前:デフォルトの名無しさん :04/06/25 13:06
↓次スレ

992 名前: ◆Manna2uCLg :04/06/25 13:21
ちょっくら立ててくるぜ。

993 名前: ◆Manna2uCLg :04/06/25 13:35
…すまん。立てられなかった…
plalaだめぽ…

994 名前:デフォルトの名無しさん :04/06/25 13:45
コードなんて盗んでなんぼのもん

995 名前:デフォルトの名無しさん :04/06/25 14:11
Win32API質問箱 Build20
http://pc5.2ch.net/test/read.cgi/tech/1088140233/

996 名前:デフォルトの名無しさん :04/06/25 14:12
996

997 名前:デフォルトの名無しさん :04/06/25 14:12
997

998 名前:デフォルトの名無しさん :04/06/25 14:13
998

999 名前:デフォルトの名無しさん :04/06/25 14:13
Win32API質問箱 Build20
http://pc5.2ch.net/test/read.cgi/tech/1088140233/

1000 名前:⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡ :04/06/25 14:14
Win32API質問箱 Build20
http://pc5.2ch.net/test/read.cgi/tech/1088140233/


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.