■過去ログ置き場に戻る■
1-
前250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
★初心者にVisual C++を教えるスレ★ Part13
751
名前:
デフォルトの名無しさん
:04/08/19 18:24
すみません、馬鹿みたいな質問なのですが、どうしても分かりません。
ピクチャボックスのプロパティを見ることが出来ません。
ピクチャボックスをコントロールボックスから貼り付けたのはいいのですが、
ピクチャボックスを選択して右クリック→プロパティとすると、
フォームのプロパティが出てきてしまいます。
どうすればよろしいのでしょうか?
752
名前:
デフォルトの名無しさん
:04/08/19 19:32
>>750
dt->stがlt2->st(つまりthis->next->st)よりstrcmpで比較して小さければ、dt->nextにthis->next、this->nextにdtをそれぞれ代入する。
そうでなければどこかに代入するまでwhileでループする。
そのリストはソートされていて、そのソート作業を常に要素の追加時に行っているって具合だろう。
ところで2ヶ所のsw = 0;はどっちもbreak;に書き換え、while (sw > 0)もwhile (1)かfor (;;)に書き換えてswは消滅させた方がいい。
753
名前:
デフォルトの名無しさん
:04/08/19 19:35
VC++netです。
ダイアログエディタでpicture controlを貼り付け
変数の追加→ CStatic Image_Panel とやって
CBitmap img;
img.LoadBitmap(filename);
Image_Panel.SetBitmap(img);
このようにしたのですが
イメージファイルを表示するには何が足りないのでしょうか?
それとも全然間違ってる?
754
名前:
750
:04/08/19 19:54
752さん、解説ありがとうございます。あの、さらに質問なんですが、たぶん自分がオブジェクトを理解してないからなのかも知れませんが、
dt->next, dtはまったく別ものなんでしょうか?
755
名前:
デフォルトの名無しさん
:04/08/19 22:27
>>753
ファイルから読み込みたいならそれだとダメだね。
CBitmap.LoadBitmapに渡す引数はリソースに展開されてる
ビットマップのリソース名かIDなんで。
ファイルから読み出すならLoadImageかOleLoadPictureを
調べてみると良いよ。
756
名前:
デフォルトの名無しさん
:04/08/20 01:06
>>750
悪いことは言わん、そんな旧世紀の異物のような書き方をする香具師からC++を学ぶんじゃない。
757
名前:
デフォルトの名無しさん
:04/08/20 01:27
>>756
おまいより、ましだとは思うが・・・
758
名前:
デフォルトの名無しさん
:04/08/20 01:35
>>757
EffectiveC++に書かれていること位は理解できたか?
759
名前:
デフォルトの名無しさん
:04/08/20 01:53
>>758
読んだことありませんが
760
名前:
デフォルトの名無しさん
:04/08/20 01:55
なにか?
761
名前:
デフォルトの名無しさん
:04/08/20 02:27
どういう所が旧世紀の異物のような書き方なんですか?
762
名前:
デフォルトの名無しさん
:04/08/20 02:45
>>熟達者の皆さん
どうか教えてください。僕はjavaしかできない愚か者なんですが,(他スレではjava厨とも呼ばれます)
VC++では,EclipseのようにIDEが認識しているクラスのメンバにはすべて“.”でアクセスできるんですか?
つまり,IDEのエディタ上でオブジェクトの後に“.”を打つとメンバがリスト表示されますか?
↑なんか初心者じみてすいません。例えば↓の感じです。
hogeclass hoge = new hogeclass();
hoge.methodhoge(); ←hogeを打つとメンバがリスト表示
以前使ったLinux用のKdevelop(C++のIDE)ではユーザがヘッダを書いたものに関しては
認識してリストしてくれました。
でも,標準ライブラリのクラスのメンバは認識してリスト表示してくれませんでした。。。
VC++ではどうですか?
763
名前:
デフォルトの名無しさん
:04/08/20 03:00
deru.
764
名前:
デフォルトの名無しさん
:04/08/20 03:13
>>761
旧世紀の異物(遺物じゃないのか?w)≒Cと捉えると
>756
の言いたいことが見えてきそうだ。
765
名前:
デフォルトの名無しさん
:04/08/20 03:24
>>762
MFC、自作ライブラリ、アプリのクラスを、1つのブラウザ情報で、メンバ表示できてるよ。
766
名前:
デフォルトの名無しさん
:04/08/20 03:25
>>764
また自作自演ですか
767
名前:
デフォルトの名無しさん
:04/08/20 03:31
windows.h と valarray をインクルードするとエラーが30個くらいでてくるのですが、どうすればいいのでしょうか?
768
名前:
デフォルトの名無しさん
:04/08/20 04:00
おまえの質問の仕方だとどうしようもない。
769
名前:
デフォルトの名無しさん
:04/08/20 04:43
えっと、VC.NET 2003 で、
#include <windows.h>
#include <valarray>
int
main()
{
return 0;
}
ってやると、
valarray(314): error C2059: 構文エラー : ')'
valarray(321): error C2143: 構文エラー : ')' が '}' の前にありません。
valarray(321): error C2143: 構文エラー : ';' が '}' の前にありません。
valarray(321): error C2143: 構文エラー : '}' が ')' の前にありません。
valarray(323): error C2146: 構文エラー : ';' が、識別子 '_Ty' の前に必要です。
valarray(332): error C2146: 構文エラー : ';' が、識別子 'valarray' の前に必要です。
valarray(321): error C2238: ';' の前に無効なトークンがあります。
valarray(314): error C2334: ':' の前に予期しないトークンがありました。関数の本体は無視されます
valarray(323): warning C4003: マクロ 'max' に指定された実引数の数が少なすぎます。
valarray(314): warning C4003: マクロ 'min' に指定された実引数の数が少なすぎます。
って、エラーが出てくるんです。
770
名前:
デフォルトの名無しさん
:04/08/20 05:11
>769
ネタか?
吊られてあげよう。
http://www.roguewave.com/support/docs/sourcepro/stdlibref/valarray.html
771
名前:
デフォルトの名無しさん
:04/08/20 05:51
-DNOMINMAX
772
名前:
デフォルトの名無しさん
:04/08/20 06:10
>>770
ネタじゃないです…
>>771
max, min が展開されてそれでエラーになっちゃってるってことですかね…?
773
名前:
デフォルトの名無しさん
:04/08/20 06:36
windows.hでmin/maxという名前のマクロが定義されてるから、その所為。
774
名前:
デフォルトの名無しさん
:04/08/20 06:44
#define NOMINMAX
で解決出来ました。
マクロが展開されるせいってことはインクルードの順序かえてもどうにか出来ますね。
MS はこんなマクロなんか定義しなきゃいいのに…
775
名前:
デフォルトの名無しさん
:04/08/20 07:53
リストボックスをクリックした時マウスが指す項目を取得したいのですが
POINT cr;
GetCursorPos(&cr);
BOOL d;
CPoint pt(cr.x , cr.y); //←もっと簡単な方法がある?
int index=n_list.ItemFromPoint(pt, d);
この処理を何度呼んでもindexには同じ数字しか入りません。
それもクリックした番号とは関係ない(と思う)数字が入っています。
どこがおかしいのでしょうか
ご教授願います。
776
名前:
デフォルトの名無しさん
:04/08/20 09:00
スクリーン座標からクライアント座標に変換しないとだめ
CPoint pt;
GetCursorPos(&pt);
n_list.ScreenToClient(&pt);
BOOL d;
int index=n_list.ItemFromPoint(pt, d);
777
名前:
デフォルトの名無しさん
:04/08/20 09:43
>>775
そんなややこしいことしないでGetCurSel()で選択アイテムindex取ったら
良いだけなんじゃないの?
778
名前:
デフォルトの名無しさん
:04/08/20 09:45
>>777
ばかはひっこんでてねw
779
名前:
775
:04/08/20 10:28
なるほどーできましたありがとうございます。
>>777
複数選択リストボックスを使っているからです。
780
名前:
デフォルトの名無しさん
:04/08/20 11:08
C++を学ぶにはどこのサイトがいいでしょうか?できれば、わかりやすく事細かく書いてあるサイトが良いのですが・・・。
それと、オブジェクト指向って要するに何なんでしょうか?よく本屋に行って、C++の本を見ると書いてあるんですが・・・。
781
名前:
デフォルトの名無しさん
:04/08/20 11:37
VC++.netでActiveXのDataGridコントロールの追加って
どこに行ったんだ??
782
名前:
デフォルトの名無しさん
:04/08/20 14:35
>>780
マジ最強。
http://www.google.co.jp/
783
名前:
デフォルトの名無しさん
:04/08/20 16:29
複数選択リストボックスを使っているなら
なおさら..
784
名前:
忍玉
:04/08/20 16:34
逆にVC++しかやったことないからオブジェクト指向でない言語がどんなものなのかわかりません
785
名前:
デフォルトの名無しさん
:04/08/20 16:48
別にVC++はオブジェクト指向でしかソフトを組めないワケではないけどね。
786
名前:
デフォルトの名無しさん
:04/08/20 17:11
C++でのプログラミング全てに言えるけどね。
787
名前:
デフォルトの名無しさん
:04/08/20 17:45
オブジェクト指向?
788
名前:
デフォルトの名無しさん
:04/08/20 18:05
オブジェクト嗜好に走りすぎると却って使えなくなるし
789
名前:
デフォルトの名無しさん
:04/08/20 18:46
質問です。
SendMessageで文字列を送って、受け取る方法はありますか?
受け取った側でwParamをcharにキャストしても上手くいきません。
790
名前:
デフォルトの名無しさん
:04/08/20 18:49
どーせプロセス境界でもまたいでるんだろ。
WM_COPYDATAでも使っとけ。
791
名前:
マイク
◆yrBrqfF1Ew
:04/08/20 18:54
Qtのsignal最高だよな
792
名前:
デフォルトの名無しさん
:04/08/20 18:54
>WM_COPYDATA
こんなのあるんですね。ありがとうございました。がんばってみます。
793
名前:
デフォルトの名無しさん
:04/08/21 01:30
SendMessageとPostMessageって
どう違うの?
794
名前:
デフォルトの名無しさん
:04/08/21 01:30
http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=SendMessage+PostMessage&lr=lang_ja
795
名前:
デフォルトの名無しさん
:04/08/21 04:15
>>789
GlobalAddAtomと任意のメッセージとかもアリ
796
名前:
デフォルトの名無しさん
:04/08/21 13:38
VC初心者です。
Win32 API
で、ディレクトリ作成や、ディレクトリの存在チェックって
どうするのですか?
797
名前:
デフォルトの名無しさん
:04/08/21 13:43
CreateDirectory
PathFileExists
FindFirstFile & WIN32_FIND_DATA(FILE_ATTRIBUTE_DIRECTORY)
798
名前:
デフォルトの名無しさん
:04/08/21 13:46
>>797
ありがとうございます。
早速、やってみます。
799
名前:
デフォルトの名無しさん
:04/08/21 16:27
レジストリについて教えてください。
私はずっと、UNIX-C やってたので、レジストリに対する読み書きとかしたことないんだけど、
Windowsだと、よくレジストリの読み書きをすると思うのですが、
Windowsでアプリ固有の情報をレジに作成して、起動時に読み込むようにしたいのですが、
レジストリのどこに書き込むのが一般的なのでしょうか?
800
名前:
デフォルトの名無しさん
:04/08/21 17:43
>>799
ユーザーごとに違う設定が必要 → HKCU
PCで固有 → HKLM
じゃないですかねぇ。
801
名前:
799
:04/08/21 17:59
>>800
そのなことくらい分かってんだよ、ぼけ
802
名前:
デフォルトの名無しさん
:04/08/21 18:15
>>801
>そのなことくらい分かってんだよ、ぼけ
人を装った余計な発言はしないでください。
>>800
ちょっとわからないのが、
HKLMの下のSOFTWARE配下に作ろうと思ってたのですが、
その下のMicrosoft配下に作ってるようなサンプルPGを見かけたので、
一般的なルールがわからないだけに、SOFTWARE配下でもいいのか不安になった次第です。
803
名前:
デフォルトの名無しさん
:04/08/21 18:24
>>802
他人のやってるの見て真似れば良いんだよ。レジストリ覗いてみたら実例がそのまま
あるんだし。
HKLM\Software\[vendor : author name]\[software name]\
804
名前:
デフォルトの名無しさん
:04/08/21 18:27
>>802
OKです。
一般的には、
(HKCU | HKLM)\Software\会社名\ソフト名\〜
っていう感じにします。
805
名前:
デフォルトの名無しさん
:04/08/21 18:28
>>803
どうもです。
Software配下は、ベンダ名になってました。
一般的ルールみたいですね。
806
名前:
デフォルトの名無しさん
:04/08/21 20:46
VC++でプリプロセッサだけしたソースファイルを
出力したいんですが、どうしたらいいでしょうか?
807
名前:
デフォルトの名無しさん
:04/08/21 22:01
>>806
プロジェクトの設定→C/C++→リスト出力辺り
808
名前:
デフォルトの名無しさん
:04/08/22 02:43
コンソールアプリでデバッグライトをprintfしてからreturnして終了しているのですが
これだと一瞬しか表示されないです。そこで最後にgetcharとかしています。
確か終了する前にいったん停止してくれるようVisualStudioに設定するやり方があったと思うのですが
どうやったらよいのでしょう。
809
名前:
デフォルトの名無しさん
:04/08/22 02:46
VC++6.0のタブコントロールは、それぞれのタブにコントロールを貼り付ける事は出来ないのですか?
自分で選択中のタブインデックスを取得して、コントロール表示を切り替えるしかないのでしょうか?
810
名前:
デフォルトの名無しさん
:04/08/22 02:58
>>809
出来ます
MSDN参照
811
名前:
デフォルトの名無しさん
:04/08/22 03:15
>>810
え?そうなんですか?
分かりました。とりあえずヘルプ見てみます。
812
名前:
809
:04/08/22 03:29
>>810
いや、やっぱり普通にデザイン画面でそんな事出来そうにないのですが…
第一、どうやってデザイン時にタブを選択したり、デフォルトのタブ数を指定するのでしょう?
自分の頭では、実行時にタブインデックスを取得して、表示コントロールを切り替えるか
コントロールを配置したダイアログを用意して、モードレスダイアログとして表示するくらいしか考え付きません…
宜しければ、MSDNのどの項を参照すれば良いのかご教示下さい。
813
名前:
デフォルトの名無しさん
:04/08/22 03:51
>>810
「出来ます」って言い切っているのなら「教示」してやればw
814
名前:
デフォルトの名無しさん
:04/08/22 03:52
AppWizardを使ったダイアログベースのアプリで標準のボタンを配置し、
ClassWizardでダブルクリックイベントをマップしても、自動生成された関数が
実行されないのですが、何故なのでしょうか?
何方かわかったら教えてください。
815
名前:
デフォルトの名無しさん
:04/08/22 04:39
>>797
なんか微尿に外してるね。
SHCreateDirectoryEx()とPathIsDirectory()の方が使えるかと。
816
名前:
デフォルトの名無しさん
:04/08/22 04:43
>>815
焦って書いてたから思い付かなかったしw
817
名前:
デフォルトの名無しさん
:04/08/22 09:51
>>814
もっと詳しく。
しかし、何故にダブルクリックに?
818
名前:
デフォルトの名無しさん
:04/08/22 10:04
標準ボタンはダブルクリックに反応しないのではなかったか
819
名前:
デフォルトの名無しさん
:04/08/22 10:24
>>812
>コントロールを配置したダイアログを用意して、モードレスダイアログとして表示するくらいしか考え付きません…
それでいいんじゃない?
プロパティページみたいに子ダイアログを作っといて、タブ切り替えで表示したり隠したり。
820
名前:
デフォルトの名無しさん
:04/08/22 11:50
リストボックスの各項目の左側にアイコンをつけたいのですが、
これを実現するのって、リストビューというやつですか?
列は一つだけなんですが。
821
名前:
デフォルトの名無しさん
:04/08/22 11:53
>>812
一度そういうTabCtrlを拡張したクラスを作っておけば、後はほぼポトペタでいけるね。
822
名前:
デフォルトの名無しさん
:04/08/22 14:49
↓のようにIMEの入力モードを返す関数を作ってるんですが、
ifの中の書き方が正しくないのか、うまく帰ってきません。
あとIME_CMODEのフラグを組み合わせて指定する必要もあるみたいですが
そういう場合の書き方はどうすればいいんでしょうか。
char* IME::GetInputMode()
{
unsigned long Conversion;
unsigned long Sentence;
ImmGetConversionStatus(m_hImc,&Conversion,&Sentence);
if(Conversion=IME_CMODE_JAPANESE)return "あ";
if(Conversion=IME_CMODE_KATAKANA)return "カ";
}
823
名前:
デフォルトの名無しさん
:04/08/22 14:55
>>822
Cの基礎が・・・
if文、ビットフラグ
824
名前:
822
:04/08/22 16:55
ありがとうございます。
とりあえず=じゃなくて&にする事は分かったんですけど、
フラグが2個以上同時に成り立ってるときはどうやって書けばいいのか
分からないであります…
825
名前:
デフォルトの名無しさん
:04/08/22 17:08
VC++.NET 2002で、デバッガでcharやBYTEなど1バイトの型をウォッチすると、
値が0か-128のどちらかにしか表示されないです。
(実際の値は0x00〜0xFFまでちゃんと保持されてる)
バグ?それともちゃんと表示する方法があるんでしょうか?
826
名前:
デフォルトの名無しさん
:04/08/22 17:09
>>824
if( hoge & (フラグA | フラグB))
{
// フラグAとBが同時に成り立った
}
827
名前:
デフォルトの名無しさん
:04/08/22 17:15
>>826
違う
828
名前:
デフォルトの名無しさん
:04/08/22 17:19
>>824
if(hoge & flag1 && hoge & flag2 …)
829
名前:
デフォルトの名無しさん
:04/08/22 17:26
>>827
どこが違うの?
830
名前:
829
:04/08/22 17:27
すまん、忘れて。
831
名前:
825
:04/08/22 17:33
訂正。
マルチバイト文字の1バイト目?の値を持ってる場合、0か-128と表示されてるような感触。
正しい数値を表示する方法無い?
832
名前:
822
:04/08/22 17:54
>>826-803
できた!さんくすこ。
833
名前:
デフォルトの名無しさん
:04/08/22 18:04
VCで、Cのライブラリ関数malloc に相当するAPIってあるのでしょうか?
834
名前:
デフォルトの名無しさん
:04/08/22 18:14
>>833
VCで、というのはWin32APIでってことか?
HeapAlloc
835
名前:
デフォルトの名無しさん
:04/08/22 18:35
malloc使えばいいじゃん
836
名前:
デフォルトの名無しさん
:04/08/22 18:38
コーディング作業を一切行わないでプログラムが作れるVC++ってないですか?
837
名前:
デフォルトの名無しさん
:04/08/22 18:41
>>835
ウルセーバカ
838
名前:
デフォルトの名無しさん
:04/08/22 19:27
>>836
プログラマを雇う
金はかかるが
839
名前:
デフォルトの名無しさん
:04/08/22 19:31
サンプルをビルド
840
名前:
デフォルトの名無しさん
:04/08/22 19:51
プログラマなんて安いよ
所詮肉体労働者じゃん
時間7,8000円も出せば楽勝だよ
841
名前:
デフォルトの名無しさん
:04/08/22 20:16
ココで、僕は何を言うべきですか。
842
名前:
デフォルトの名無しさん
:04/08/22 20:41
プログラマが肉体労働だとしたら、
すべての職業が肉体労働になるかと。
大学で教鞭とってる教授も肉体労働になるだろうし、
研究職にしても、結局ほぼ同じ事を繰り返してるという意味では肉体労働。
銀行も証券会社も肉体労働。
843
名前:
デフォルトの名無しさん
:04/08/22 20:49
VisualC++を勉強するつもりなんてまったくないんだけどさ、
VC6.0っていうかwin32でGUI部分を設計するときってどんな感じなの?
VBみたいにボタン配置したり出来ないんでしょ?
Javaみたいにawtみたいなものがあるのかな?
844
名前:
デフォルトの名無しさん
:04/08/22 20:50
>>842
大学の教授とプログラマとではまるで違うよ…
845
名前:
デフォルトの名無しさん
:04/08/22 20:53
>>843
VBとおなじ
846
名前:
デフォルトの名無しさん
:04/08/22 20:54
>>844
>大学の教授とプログラマとではまるで違うよ…
知的レベルは全然違うが、どっちも肉体労働w
847
名前:
デフォルトの名無しさん
:04/08/22 21:00
>>845
え!?うそ!?
それって.NETアプリだけじゃないの?
848
名前:
デフォルトの名無しさん
:04/08/22 21:03
>>847
ダイアログベースなら同じですよ
849
名前:
デフォルトの名無しさん
:04/08/22 22:09
なんというか純粋な頭脳労働って、今の社会に存在しないだろ。
俺らがこうやってキーボードをカタカタいわせてコーディングしてることすら
未来人から見れば「何頑張っちゃってるの?こんなの(中略)で一発ジャン」
となる。
VC++スレなので、ここまででやめときます。
というか、どっかいいスレないかな?マ板?
850
名前:
デフォルトの名無しさん
:04/08/22 22:19
>>847
確かにダイアログベースなら似たような感じで出来きない事もないけど。
でも、VBと比べるとデザイン時で出来ない事が多い。
要するに、自分でコードをゴリゴリ書いて開発して行くスタイルなので、VBと比べるとかなり面倒だと思いますよ。
まぁ、VB云々以前に、MFCを使うならWin32APIの知識とC++の知識が無いと手も足も出ないような気が…
851
名前:
デフォルトの名無しさん
:04/08/22 22:21
>ダイアログベースなら同じですよ
JARO逝ったほうがいい。
852
名前:
デフォルトの名無しさん
:04/08/22 22:27
Windowsキー + Eを、押しつづけたら error出て固まった
853
名前:
デフォルトの名無しさん
:04/08/22 22:28
>>851
VBと同じだという頭でやると、絶対挫折するわな。
854
名前:
デフォルトの名無しさん
:04/08/22 22:30
デザイン"だけなら"同じか。
855
名前:
デフォルトの名無しさん
:04/08/22 22:34
>>853
おまいだけ。
言語に不変の部分をきっちりマスターしていれば
VB,VC,BCBもどれも同じじゃん
856
名前:
デフォルトの名無しさん
:04/08/22 22:35
>>855
http://pc5.2ch.net/test/read.cgi/tech/1090324689/
そういうことはここに書け。
857
名前:
デフォルトの名無しさん
:04/08/22 22:36
>>855
自分が何言ってるか分かってるか?
通して良く読んでみろ
858
名前:
デフォルトの名無しさん
:04/08/22 22:40
>>855
完全にロジックが破綻してますなw
859
名前:
デフォルトの名無しさん
:04/08/22 22:52
>>855
こういう香具師はどの開発環境もまともに使えてないんだろうな…
860
名前:
デフォルトの名無しさん
:04/08/22 23:36
おまえらそんなコトで熱くなるより
>825
>831
これにも回答くれ。
861
名前:
デフォルトの名無しさん
:04/08/22 23:41
BCBとPCBは全然違うけどなw
862
名前:
デフォルトの名無しさん
:04/08/22 23:43
>>860
unsigned char
863
名前:
デフォルトの名無しさん
:04/08/22 23:58
>>862
unsigned char = BYTE
ダメ
(WORD)((BYTE)val)なんつー回りくどいことやってウォッチ登録するしかないのでしょうか?
864
名前:
デフォルトの名無しさん
:04/08/23 00:03
>>848
,850
なるほど。サンクス!
865
名前:
デフォルトの名無しさん
:04/08/23 00:15
俺はVBってモンを全く触った事が無いんだがコントロールの配置とか
制御がダイアログエディタ+クラスウィザード+MFCより楽なん?
866
名前:
デフォルトの名無しさん
:04/08/23 00:17
コントロールの配置:同じ
制御:VBの方が楽
867
名前:
デフォルトの名無しさん
:04/08/23 00:20
>>863
unsigned char(BYTE)で-128なんて表示される様なVC++.NET 2002なんて
窓から捨ててしまえ!
868
名前:
デフォルトの名無しさん
:04/08/23 00:31
>>865
VBの方が視覚的に色々と設定出来る分、コーディング量が少なくてすむ。
VBのライブラリ?は、完全にAPIを隠蔽している感じなので、VC++(MFC)みたいにAPIの知識が乏しくても十分使える。
と、書くと なんか良い事尽くめに聞こえるけど
結局、システムの奥深い所をプログラミングするとなると
VBでもAPIを駆使する事になるので、凝った物を作るのならVC++を使った方が楽だと思う。
869
名前:
デフォルトの名無しさん
:04/08/23 00:34
char a[10];
strcpy(a,"まんこ");
で配列aの内容を見る場合のようなことを言ってるの?
それならウォッチタブで名前の所に
a,c
と入れる
MSDNの「ウォッチ変数の文字書式指定」を見て下さいです。
870
名前:
デフォルトの名無しさん
:04/08/23 00:44
今、ふと思ったんだけど、VBでリスト構造みたいな物を作る時ってどうやるの?
もしかして、それは無理??
871
名前:
デフォルトの名無しさん
:04/08/23 00:53
リスト構造みたいな物
->リスト構造のような物
872
名前:
デフォルトの名無しさん
:04/08/23 01:06
>>870
VBは良く知らんが昔のBasicは変数のアドレスを求める関数と
アドレス先の値を得る関数があった。
似たようなのがVBにも用意されてるんじゃない?
873
名前:
デフォルトの名無しさん
:04/08/23 01:25
>>869
見れました!感謝
874
名前:
デフォルトの名無しさん
:04/08/23 01:37
>>872
なるほど、そういう関数があるんでしょうね。>VB
というか、完全にスレ違いスマソ…
875
名前:
デフォルトの名無しさん
:04/08/23 02:58
>>868
要するにこういう事だろ。
VBの場合は直にVBから入っていけるが
VCの場合は C→C++→Win32API→MFC
という段階が必要な訳で明らかにVBよりは敷居が高いわな。
876
名前:
デフォルトの名無しさん
:04/08/23 03:13
どうでもいいよそんな役に立たない話。
877
名前:
デフォルトの名無しさん
:04/08/23 03:17
そこでBCBですよ!
と言おうと思ったけどマネージドでやるなら
もう十分なほどのRAD環境だよ
878
名前:
デフォルトの名無しさん
:04/08/23 03:45
>>877
でも、ネイティブが吐けるM$製BCB系ツールが欲しいのが本音。
879
名前:
デフォルトの名無しさん
:04/08/23 05:49
>>878
胴衣。MSが全身全霊を傾けて、詐欺や脅迫までして.netを宣伝したのに、結局ユーザーはついてこなかった。WinFXもどうなる事やら。
880
名前:
デフォルトの名無しさん
:04/08/23 05:52
それは漏れがついていくから大丈夫
881
名前:
デフォルトの名無しさん
:04/08/23 05:58
.netは後から入れる必要があったが、WinFXはLonghornに付いてくるのでついていくかどうかは問題にならない。
Windows95を買えばWin32になったのと同じ。
882
名前:
デフォルトの名無しさん
:04/08/23 06:27
Longhornはいつでまつか?
883
名前:
デフォルトの名無しさん
:04/08/23 09:43
質問です
VC++.netでスタティックライブラリを作っているんですが、
STLを使おうとするとエラーが出ます。具体的には、
#include <lisit>
using namespace std;
list<int> test;
とすると
error C2871: 'std' : この名前を持つ名前空間は存在しません。
error C2501: 'list' : 識別名を宣言するのに、型が指定されていません。
と出ます。なにかSTLを使うために特別な記述が必要なのでしょうか?
884
名前:
デフォルトの名無しさん
:04/08/23 09:47
>>883
>#include <lisit>
885
名前:
デフォルトの名無しさん
:04/08/23 13:19
C→C++→MFC→Win32API
orz
886
名前:
デフォルトの名無しさん
:04/08/23 13:35
>>885
俺はこうだ
C→C++→MFC→Win32API→MFC
暇があったらソース読んでみれば?
887
名前:
デフォルトの名無しさん
:04/08/23 14:14
ブレークポイントでブレークさせ、ステップ実行しているとVisualStudio毎応答なし
になることありませんか?このときタスクマネージャすら反応しないというような。
とくにメモリダンプ窓を表示させてたりaxレジスタとかをウオッチ表示させてたりすると。
VisualC++6.0 SP6@WinXP SP2
888
名前:
デフォルトの名無しさん
:04/08/23 14:25
XPのSP2なんて出ていたっけ?
SP1にしておけば?
http://support.microsoft.com/default.aspx?scid=kb;ja;418661&Product=vcJPN
889
名前:
デフォルトの名無しさん
:04/08/23 14:42
>>887
VC7にしろということだろうw
890
名前:
デフォルトの名無しさん
:04/08/23 15:26
VC7でもステップ実行してるとたまに固まるけどな
891
名前:
デフォルトの名無しさん
:04/08/23 15:41
実行時に、あるファイルのコピー・削除・移動をするには
どのようにすれば良いのですか?
892
名前:
デフォルトの名無しさん
:04/08/23 16:08
>>891
remove()とかrename()とか
893
名前:
デフォルトの名無しさん
:04/08/23 16:23
>>892
ありがとうございます
894
名前:
デフォルトの名無しさん
:04/08/23 16:52
>>891
ごみ箱行きならSHFileOperation
895
名前:
891
:04/08/23 17:48
ゴミ箱行きもありがたく使わせてもらいました!
896
名前:
デフォルトの名無しさん
:04/08/23 20:15
俺は近々ごみ箱行き...
orz
897
名前:
デフォルトの名無しさん
:04/08/23 20:22
ブレークポイント貼っても止まらないで進んでしまうんですが、
なにかあるんでしょうか?
ちがうプロジェクト(DLL作成)では止まるのですが。
VisualC++4.0 WinXP SP1
MFCAppWizardダイヤログです
898
名前:
デフォルトの名無しさん
:04/08/23 20:59
単純にブレークまで行ってない
・・・んなわけないか
899
名前:
デフォルトの名無しさん
:04/08/23 21:21
>>887
スレッドとかタイマーとか頻繁に動かしてたりしない?
まあでもXPはなんだか止まりやすいな。2000にしと毛。
900
名前:
デフォルトの名無しさん
:04/08/23 21:35
>>899
うん。スレッド内部でブレークしてる。しかもそのスレッドからまたスレッドを作ったり。
901
名前:
デフォルトの名無しさん
:04/08/23 21:40
>>897
ソースコードとバイナリイメージがずれることがある。
この場合、ブレーク張った箇所は実際には存在してなかったりしてスルーしてるように見えることも。
リビルドしてみた?
902
名前:
897
:04/08/23 22:28
>>901
リビルドもしてみたんですけど・・・
最初からプロジェクト作り直したほうがよさそうですかね
903
名前:
デフォルトの名無しさん
:04/08/23 22:36
当方、ただ今Susieプラグインを使ってソフトを作っております。
MFC上で作っているのですが、デバイスコンテキストを絡めて使うとどうしてもうまくいきません。
BitbltもAPI(つまりハンドルを指定して表示させる)の方を使うとうまく行くのですが、CDC::Bitbltを使うとだめです。現在のソースは…
spi_getpicture(tmp,0,0,&pHBbkInfo,&h_bkbm,NULL,0);
pBmpInfo = (BITMAPINFO *)LocalLock(pHBbkInfo);
hBm = (LPBYTE)LocalLock(h_bkbm);
CDC* dc = GetDC();
CDC MemDC;
CBitmap MemBitmap;
CBitmap* poldBmp;
HBITMAP myDIB;
MemDC.CreateCompatibleDC(dc);
myDIB = ::CreateDIBitmap(MemDC.GetSafeHdc(),
&pBmpInfo->bmiHeader,CBM_INIT,
hBm,pBmpInfo,DIB_RGB_COLORS);
MemBitmap.FromHandle(myDIB);
poldBmp = MemDC.SelectObject(&MemBitmap);
dc->BitBlt(0,0,pBmpInfo->bmiHeader.biWidth,
pBmpInfo->bmiHeader.biHeight,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(poldBmp);
こんな感じです。これでなぜうまくいかないのかがさっぱり…どなたかご指導を…
904
名前:
デフォルトの名無しさん
:04/08/23 23:05
>>902
作ってるのはDLLとそれを使うMFCベースダイアログアプリ?
905
名前:
デフォルトの名無しさん
:04/08/23 23:08
VBスレで、そんなのVBで作るのは、やめとけ
といわれたので、ちょっとVC++スレに着てみました。
ちょっと質問なんですが
例えばチャットソフトを作ったとして、Pluginみたいな感じで
お絵かき機能とか追加してみたいんだけど、やっぱ、そういうのって無謀でしょうか?
よくPluginっていうと、DLLとかで、対応ファイルが増える
とか、そういう感じだと思うんだけど、機能まるごとの追加ができたらいいな、と。
906
名前:
903
:04/08/23 23:09
すいません、自己解決しました。
お騒がせしましたm(__)m
907
名前:
903,906
:04/08/23 23:37
すいません、やはりどうしても気になるので質問させて下さい。
先ほど自己解決したとカキコしましたが、先に示したソースの問題点は
MemBitmap.FromHandle(myDIB);
でした。これを
MemBitmap.Attach(myDIB);
とすることで解決しました。
しかしなぜFromHandleでは駄目なのかが今ひとつわかりません。
MSDNを見る限りむしろFromHandleを使う方が妥当とさえ思えます。両者の違いはどのへんにあるのでしょうか?
908
名前:
デフォルトの名無しさん
:04/08/23 23:43
>>905
できないことは無いけど、最初に想定した範囲のことしか
DLLにやらせられないと思う。
たとえばDLLでお絵かき機能を付けるとすると、マウスでの入力(標準的なのだとMessageか)や
絵の表示先(オーナーウィンドウのハンドル)などをDLL側に通知、またはDLL側でそれらを
取得できないといけないでしょ。
絵だけじゃなく本当にいろんなことをプラグインでできるようにするには、
DLLとのインターフェースを相当考えないといけないでしょう。
909
名前:
デフォルトの名無しさん
:04/08/23 23:51
VC6のウィンドウの並びで、
○□□□
○□□□
△△△△
を
○□□□
○□□□
○△△△
にしたいのですが、できるならやり方を教えてください。
マークは、○がワークスペース、□がコード書き場、△がエラー表示域です。
910
名前:
デフォルトの名無しさん
:04/08/23 23:51
>>907
FromHandleはstaticなメンバ関数なので
MemBitmap.FromHandle(myDIB);
はMemBitmapに対する操作ではない。
FromHandleは新しい一時オブジェクトを作り、ハンドルを結び付けて返す。
一時オブジェクトに結び付けられたハンドルは自動的に解放されないので
自分で後始末する必要がある。
911
名前:
デフォルトの名無しさん
:04/08/23 23:53
>>907
あと、今度解決方法を書かずに去ろうとしたら後ろの穴を犯す。
912
名前:
デフォルトの名無しさん
:04/08/24 00:21
>>908
なるほど、やっぱり厳しいんですね〜
どもども、ありがとうございました
913
名前:
デフォルトの名無しさん
:04/08/24 00:56
>>909
それが可能かどうかは知らんが
みんなワークスペースウィンドウとかドッキングさせていつも使ってんの?
自分は、ワークスペースは非ドッキングで、右下の方に置いてる。
で、普段は常に非表示で必要な時だけ表示させて使ってるんだが。
個人的にコードが画面いっぱいに表示されてないと気に食わないんだよねぇ。
914
名前:
デフォルトの名無しさん
:04/08/24 00:57
>>911
むしろ犯して欲しい。
915
名前:
デフォルトの名無しさん
:04/08/24 01:13
Alt + Shift + Enter でいいじゃん
916
名前:
909
:04/08/24 01:38
>>913
ありがとうございます。
そういう事ができるのは知りませんでした。やってみます。
今までは、VCをフルスクリーンにしないで左側を縮めて、
空いた位置に、フォルダウィンドウの細くしたのを置いて代用していました。
>個人的にコードが画面いっぱいに表示されてないと気に食わないんだよねぇ。
自分もそうでしたが、あると、ダブルクリック一つでファイルを開けて便利で。
917
名前:
デフォルトの名無しさん
:04/08/24 04:59
>>911
どうぞ。
or2
918
名前:
デフォルトの名無しさん
:04/08/24 12:26
自分は最近はこんな感じに落ち着いている
ディスプレーがせまいからこれが現在ではベスト
△△△△
□□□○
□□□○
□□□○
919
名前:
デフォルトの名無しさん
:04/08/24 14:13
>>917
良い尻してますね
920
名前:
デフォルトの名無しさん
:04/08/24 17:45
orつ
921
名前:
デフォルトの名無しさん
:04/08/24 18:10
(:D)~~~~~~|)__
922
名前:
デフォルトの名無しさん
:04/08/24 20:30
お邪魔します。
WAVEファイルを使って音を鳴らしたいのですが、
c:\sdk\include\dsound.h(305) : error C2146: 構文エラー : ';' が、識別子 'dwReserved1' の前に必要です。
c:\sdk\include\dsound.h(305) : error C2501: 'DWORD_PTR' : 識別名を宣言するのに、型が指定されていません。
c:\sdk\include\dsound.h(305) : error C2501: 'dwReserved1' : 識別名を宣言するのに、型が指定されていません。
c:\sdk\include\dsound.h(306) : error C2146: 構文エラー : ';' が、識別子 'dwReserved2' の前に必要です。
c:\sdk\include\dsound.h(306) : error C2501: 'DWORD_PTR' : 識別名を宣言するのに、型が指定されていません。
c:\sdk\include\dsound.h(306) : error C2501: 'dwReserved2' : 識別名を宣言するのに、型が指定されていません。
というエラーが出てしまってコンパイルできません。
dsound.h に問題があるようなんですけど、どうすればいいのか全然分かりません・・・
どなたか解決法を教えていただけませんでしょうか? どうかよろしくお願いします。
923
名前:
デフォルトの名無しさん
:04/08/24 20:34
DWORD_PTRって型が何処にも宣言されてないんじゃない?
924
名前:
デフォルトの名無しさん
:04/08/24 20:43
どのように宣言すればよいのでしょうか?
すいません、初心者なので全然分からないんです・・・(汗
925
名前:
デフォルトの名無しさん
:04/08/24 20:45
typedef DWORD* DWORD_PTR;
926
名前:
デフォルトの名無しさん
:04/08/24 20:51
これの絡みかな?読んでみ?
ttp://www.doblog.com/weblog/myblog/17039/381620#381620
927
名前:
デフォルトの名無しさん
:04/08/24 20:51
>>925
は嫌がらせ
928
名前:
デフォルトの名無しさん
:04/08/24 20:54
>>922
DSOUND.Hの前にMMREG.Hをincludeする必要があるが、読ませてる?
929
名前:
デフォルトの名無しさん
:04/08/24 20:55
>>927
テヘッ
930
名前:
デフォルトの名無しさん
:04/08/24 20:56
返信ありがとうございます。
エラーが出た dsound.h 内に入れたのですが、なぜか反映されずに同じエラーが出てしまいます。
どの位置で宣言するのが正しいのでしょうか?
お手数かけて申し訳ないです(汗
931
名前:
デフォルトの名無しさん
:04/08/24 20:58
あ、違うんですね・・・(汗
>>925
見てみます。
>>926
932
名前:
デフォルトの名無しさん
:04/08/24 21:01
サーバーが混雑していて今見れないようです(汗
もう少ししてから見てみますね。
>>926
ちょっと調べます。
>>928
933
名前:
デフォルトの名無しさん
:04/08/24 21:02
ちょっと重いだけだろ
すぐ見れる
934
名前:
デフォルトの名無しさん
:04/08/24 21:05
VBで作成したTest.dllというActiveXDllの、strResult=TestM(strA,strB)という関数
をVCから呼出すプログラムを作ったのですが、うまくいきません。
まだ勉強をはじめたばかりで全然ダメだと思いますが、どこが悪いのかご教授願えな
いでしょうか?
どうかお願い致します。
#include <stdio.h>
#import "test.dll" // タイプライブラリ
using namespace TestM;
int main(void)
{
_TestM_Cls *pClass1;
if(SUCCEEDED(::CoInitialize(NULL)))
{
{
_Class1Ptr pClass1(__uuidof(TestM_Cls));
935
名前:
デフォルトの名無しさん
:04/08/24 21:08
あああ! 正しくこれです(汗
書いてある通りにやってみます。
皆さんありがとうございました(多謝
936
名前:
デフォルトの名無しさん
:04/08/24 21:12
↸
937
名前:
デフォルトの名無しさん
:04/08/24 21:13
⋮
938
名前:
デフォルトの名無しさん
:04/08/24 21:20
すみません。VC++2003の、パスの設定がうまくいきません。
ここで質問してもいいですか?
939
名前:
デフォルトの名無しさん
:04/08/24 21:22
ツール→オプション→プロジェクト→VC++ ディレクトリ
940
名前:
938
:04/08/24 21:36
ありがとうございました
941
名前:
デフォルトの名無しさん
:04/08/24 22:02
すいません、先ほどお世話になった者なのですが、
「DirectX9.0cをVisualC++6.0使用してコンパイルする場合、PlatformSDKが必須」
という事なのでPlatformSDKを検索したのですが・・・
いまいちPlatformSDKとは何か、が分かりません(汗
SDKの集合体の事を指しているのでしょうか・・・?
どなたか詳しい方いらっしゃったら教えてください。お願いします。
942
名前:
デフォルトの名無しさん
:04/08/24 22:14
>>941
とりあえずググってみろや
943
名前:
デフォルトの名無しさん
:04/08/24 22:21
検索はGoogleで一通りしたのですが、分からなかったので・・・(汗
PlatformSDKの内のどれかが必要、ということなのでしょうか・・・
もうちょっと調べてみます・・・
944
名前:
デフォルトの名無しさん
:04/08/24 22:22
>>943
いいからググれって
945
名前:
デフォルトの名無しさん
:04/08/24 22:24
PlatformSDKはWindowsのAPIのライブラリ集です。時々アップデート
されているので、Visual C++には収録されてないAPIもあります。
ヘッダとかdllとかたくさん付いてます。
DirectXとかMedia Playerみたいなものは独立したSDKとして公開されてます。
つまり、「DirectX9.0cをVisualC++6.0使用してコンパイルする場合、PlatformSDKが必須」
ということは、PlatformSDKに含まれているライブラリを使うからDirectXのSDKの他に
Platform SDKもインストールせよ、ということでしょう。
Platform SDKそのものは
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
から入手できます。Core SDKというのが基本的なものなので
まずはこれをインストールしましょう。
尚、インストールはIE以外のブラウザから行なうのは大変なので
IEを使って下さい。
以上の説明で間違っていたら責任は950が取ります。
946
名前:
デフォルトの名無しさん
:04/08/24 22:41
つーかWAV再生したいだけならDX使わなくてもMCIデバイス関係のAPIを
使えば楽なんじゃないかね?
947
名前:
デフォルトの名無しさん
:04/08/24 22:42
ネットインストールよりFull Downloadしてからの方がいいと思うよ。
948
名前:
デフォルトの名無しさん
:04/08/24 23:16
試しに、winプログラムをコンパイルしてみたんですが、includeファイルが
開けないんです
949
名前:
デフォルトの名無しさん
:04/08/24 23:21
ちなみに「システム変数」は、今こんな感じなんです。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32
\Wbem;C:\Program Files\pcdNavi\bin;C:\Program Files\Fujitsu
\sa\dll;;C:\Program Files\Sonic\MyDVD;;C:\Program Files\WideStudio
\ws\bin;C:\Program Files\WideStudio\ruby\bin;C:\Program Files\WideStudio
\Perl\bin;;C:\Program Files\WideStudio\Python;C:\Program Files\WideStudio\gcc\bin;
c:\Borland\Bcc55\bin;c:\Borland\Bcc55\bin;c:\Borland\Bcc55\bin;D:\Program Files\Microsoft SDK
\Bin\.;D:\Program Files\Microsoft SDK\Bin\WinNT\.SET PATH=D:\Program Files\Microsoft Visual C++ Toolkit 2003
\bin;D:\Program Files\Microsoft SDK\Bin;D:\Program Files\Microsoft SDK\Bin\Win64;%PATH%
950
名前:
デフォルトの名無しさん
:04/08/24 23:26
設定をやりだして、まだ、完全にできないでいます
951
名前:
デフォルトの名無しさん
:04/08/24 23:29
>>949
やたらと処理系を入れる前に「環境変数の設定方法」から再勉強しましょう。
952
名前:
デフォルトの名無しさん
:04/08/25 04:39
あのくだらない質問かもしれませんが
VisualC++のSP1とかSP2とかって入れないと何かマズイ事があるんでしょうか?
また、SPでどの様な事が改善されているのでしょうか?
953
名前:
デフォルトの名無しさん
:04/08/25 04:41
非常jにまずい
今すぐ入れろ
954
名前:
デフォルトの名無しさん
:04/08/25 05:05
SP6を入れるとProcessor Packが使えなくなるらしい。
955
名前:
952
:04/08/25 05:18
はい!今すぐ入れます!!
あわわ…
956
名前:
デフォルトの名無しさん
:04/08/25 05:25
>>945
のPlatformSDKもいれとけYo!
957
名前:
952
:04/08/25 05:32
>>956
レスどうも! PlatformSDKに関しては、以前必要になった事があるのでインストール済みです。
SPもあててないVC++で作ったソフトを公開している自分は逝ってよしですか?
958
名前:
デフォルトの名無しさん
:04/08/25 05:59
別に
VC6の時点でたかが知れてるし
959
名前:
デフォルトの名無しさん
:04/08/25 09:13
>>958
そういうあなた様は、何をお使いで?w
960
名前:
デフォルトの名無しさん
:04/08/25 10:35
F-BASIC386です
961
名前:
デフォルトの名無しさん
:04/08/25 14:28
Visual C++ 6.0です。
長くなってしまうので、ソースコードは簡単に書きます。
(i)外部信号を取り込んで、連続的に描画を行いたい。
(ii)取り込みを実行した1固定時間の静止画像を描くことはできた
(iii)取り込み〜描画の一連の命令をループで囲んでも、ループを抜けた状態の静止画像のみ描画される
(iv)ループの繰り返し毎にMessageBoxを出すようにすると、Boxが出る毎にその時の静止画像が描かれる
つまり、MessageBoxを消していくことで、連続的に描画を行うことができる
(ii)
takein(); //信号取り込み
Draw(); //デバイスコンテキストの初期化+信号の描画
InvalidateRect(hwnd, NULL, FALSE); //WM_PAINTを呼び出す
(iii)
for(i=0; i<10; i++){
takein(); //信号取り込み
Draw(); //デバイスコンテキストの初期化+信号の描画
InvalidateRect(hwnd, NULL, FALSE); //WM_PAINTを呼び出す
}
(iv)
for(i=0; i<10; i++){
takein(); //信号取り込み
Draw(); //デバイスコンテキストの初期化+信号の描画
InvalidateRect(hwnd, NULL, FALSE); //WM_PAINTを呼び出す
MessageBox(hwnd, "連続描画途中です", "報告", MB_OK);
}
MessageBoxを出すこと無しに、連続的に描画をするにはどうしたらよいのでしょうか?
よろしくお願いします。
962
名前:
デフォルトの名無しさん
:04/08/25 14:49
>>961
すまん、最近目が悪いみたいで・・・。
963
名前:
デフォルトの名無しさん
:04/08/25 14:54
>>961
面倒だからMessageBox->Sleep(1000)
964
名前:
962
:04/08/25 14:56
>>961
takein()関数 がどういうモノかわからないけど、
forループの中に Sleep() 関数を入れてカーネルを回してみるとか?
965
名前:
デフォルトの名無しさん
:04/08/25 15:10
質問で
印刷するプログラムで、プリンタの設定でデフォルトで
用紙の向きを横向きに設定するプログラムを作成したのですが
印刷をすると横向きになっていますが途中で印刷内容が切れてしまいます。
ソースを貼りますので、ご教授の方よろしくお願いします。
↓こうしています
void prdlg::Onprint()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
CPrintDialog dlg(FALSE,PD_ALLPAGES,this);
CDC pDC;
HDC hd;
DOCINFO p;
TEXTMETRIC tm;
if(dlg.DoModal() == IDOK)
{
DEVMODE *devmode;
devmode = dlg.GetDevMode();
devmode->dmOrientation = DMORIENT_LANDSCAPE;
devmode->dmFields = DM_ORIENTATION;
hd=dlg.GetPrinterDC();
pDC.CreateDC (dlg.GetDriverName(),dlg.GetDeviceName(),dlg.GetPortName(),devmode);
:
:
:
環境はVC++,Windows98です。
よろしくお願いします。
966
名前:
961
:04/08/25 15:17
>>963-964
レスありがとうございます。
しかし、駄目でした。やはりループを抜けた状態の1画像しか描画されませんでした。
なお、以下のような現象が確認されました。
for(;;){
takein();
draw1();
InvalidateRect(hwnd, NULL, FALSE);
MessageBox( , , );
draw2();
InvalidateRect( , , );
}
としてみたところ(draw1, draw2共に連続情報を持つ)、MessageBoxが出るときに
更新される画像はdraw1()で描画されるもののみで、draw2()で描画される画像は、
ループを抜けたあとの1画像のみでした(それまでは描画されない)。
Sleep()関数を用いても、ループを抜けるまでの時間が長くなっただけでした…。
967
名前:
961
:04/08/25 15:19
>draw1, draw2共に連続情報を持つ
って意味わかりませんね。
draw1, draw2は共に、takein()関数によって更新された情報を描く関数です。
968
名前:
デフォルトの名無しさん
:04/08/25 15:26
ループ中に描画するのではなく、
WM_PAINT で描画するようにしてみる。
969
名前:
デフォルトの名無しさん
:04/08/25 15:43
for(;;){
takein();
draw();
InvalidateRect(hwnd, NULL, FALSE);
UpdateWindow(hwnd);
Sleep(1000);
}
970
名前:
961
:04/08/25 16:30
>>968
う〜ん、駄目でした。
>>969
その方法で出来ました…。
UpdateWindowについて調べてみたところ、「ウィンドウのクライアント領域を更新」
と説明がありました。この関数を使うことで、クライアント領域が更新されて描画さ
れることは納得がいくのですが、このUpdateWindow関数を書かなくても最後の1状態
は描画されていたことに納得がいきません。
どこかで命令文無しにクライアント領域が更新されているのでしょうか?
971
名前:
デフォルトの名無しさん
:04/08/25 17:18
>>970
最後の一状態だけ表示されるってのは、
問題の関数を抜けたらメッセージループでWM_PAINTが発行されるから。
UpdateWindowは、メッセージループを介さずに直接WM_PAINTを発行するから、
その場で更新される。
UpdateWindowのところを
MSG msg;
GetMessage(&msg, hwnd, WM_PAINT, WM_PAINT);
DispatchMessage(&msg);
と変えてみても更新されると思う。
972
名前:
デフォルトの名無しさん
:04/08/26 08:24
MFCはいつまでサポートされるんだろうか。
973
名前:
デフォルトの名無しさん
:04/08/26 08:54
>>972
終了してますが?
974
名前:
デフォルトの名無しさん
:04/08/26 08:55
>>973
へ?.NETでもMFCはあるのじゃ?
975
名前:
973
:04/08/26 09:05
すいません
「何か?」
をつけるの忘れてましたw
976
名前:
デフォルトの名無しさん
:04/08/26 09:39
MFCってもうバージョンは上がらんのだろうか?
新しいコントロールとか追加されてもMFCからはもう使えんのか・・
977
名前:
デフォルトの名無しさん
:04/08/26 09:43
MFCもDelphiみたいにコントロールが豊富に提供されてれば、
もっと好かれたかも知れないな・・・
978
名前:
デフォルトの名無しさん
:04/08/26 09:47
>>977
MFCがDelphiよりもユーザが多いということは、MFCの方が好かれているということです。
979
名前:
デフォルトの名無しさん
:04/08/26 09:54
MFCマンセー
980
名前:
デフォルトの名無しさん
:04/08/26 10:00
Microsoft Foundation Class
981
名前:
デフォルトの名無しさん
:04/08/26 10:30
Microsoft Frustration Class
982
名前:
デフォルトの名無しさん
:04/08/26 15:06
SDKでプログラミングをしています(visual c++ 6)。
マルチスレッドについて勉強をしているのですが、そもそもスレッドとは何かが良く分かりません。
猫でもわかるプログラミングのページ(
ttp://www.kumei.ne.jp/c_lang/sdk/sdk_87.htm
)を参照
すると、親ウィンドウの中に子ウィンドウが作られています。
マルチスレッドとは、このように親ウィンドウの中に子ウィンドウを作るものなのでしょうか?
私が今やりたいことは、「親ウィンドウ内のある特定領域に、独立な領域を作る」ことです。
独立な領域とは、閉じるボタンやウィンドウアイコンがある、いわゆるwindowではなく、一見
すると領域は1つに見える・・・というものなのですが、分かりますでしょうか?
理解できる方がおりましたら、ご解答よろしくお願いします。実現可能なのでしょうか?
983
名前:
デフォルトの名無しさん
:04/08/26 15:38
>>982
http://www.google.co.jp/search?&hl=ja&ie=UTF-8&q=%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9+%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
984
名前:
デフォルトの名無しさん
:04/08/26 15:40
>>982
> 私が今やりたいことは、「親ウィンドウ内のある特定領域に、独立な領域を作る」ことです。
> 独立な領域とは、閉じるボタンやウィンドウアイコンがある、いわゆるwindowではなく、一見
> すると領域は1つに見える・・・というものなのですが、分かりますでしょうか?
スレッドはgoogleの方見れば良いけど、全然理解が間違ってる。
後の方はMDIのこと?そうじゃないとしたら実例としてどういうソフトがあるのか
どこでそういうインタフェースを見たのかを書いた方が良い。見たこともないもの
だとしたら不可能なものである確率が高い。
985
名前:
デフォルトの名無しさん
:04/08/26 17:59
なんとなく、htmlのiframeみたいなものを想像しているのだろうかと思ってみたり。
986
名前:
デフォルトの名無しさん
:04/08/26 18:22
枠を消したダイアログを貼り付ければいいのか?
987
名前:
デフォルトの名無しさん
:04/08/26 21:03
「独立」っていうのが何を意味するのかね?スレッドのことに触れてるけど、実際のところ
処理の独立性という問題より見た目の問題が表に出ているように取れる文章なんだが。
ウィンドウじゃないっていうところからすると、コントロール貼っただけでもそう言えるような
感じ。わけわかんない。
988
名前:
デフォルトの名無しさん
:04/08/26 22:05
まあ多分本人も自分で何言ってるのかがわからんのじゃないかな。
伝えたい事はあるんだけどどう言う表現を使ったら良いか分からないみたいな。
989
名前:
デフォルトの名無しさん
:04/08/27 09:49
で、次スレまだ?
■過去ログ置き場に戻る■
1-
前250
最新50
DAT2HTML
0.33f Converted.