- 1 名前:デフォルトの名無しさん [2006/11/29(水) 17:00:54 ]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 Visual C++使いが優しくコメントを返しますが、 お礼はVisual C++の布教と初心者の救済をお願いします。 ■過去スレ 前スレ pc8.2ch.net/test/read.cgi/tech/1150105712/ 前々スレ pc8.2ch.net/test/read.cgi/tech/1141087248/ ■遠い親戚スレ くだすれC++/CLI(初心者用) pc8.2ch.net/test/read.cgi/tech/1142144110/l50 ■関連ページ Visual C++ Home Page www.microsoft.com/japan/msdn/visualc/
- 231 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:27:54 ]
- WisdomSoft
- 232 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:51:17 ]
- >>231
ありがとうございます。 ハード + たまにファーム屋なので、すぐ壁にぶち当たると思うけど 頑張ります。
- 233 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 22:40:46 ]
- C++とは直に関係なくリソースエディタのことなのですが
メニューをリソースエディタで作る時に 最初にメニュー項目に割り振られたIDをメニューエディタで変えても resource.hに繁栄されないのですけど そういう仕様なんですか?リンクしてない? リソースシンボルを見ると書き換えたはずの前のIDも使用中になって消すことも できませんし…… 自分でresouce.hを書き換えるものなんでしょうか? グラフィカルなメニューエディタとresouce.hの関係がよくわかりません 環境はVS2005stdです
- 234 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 00:47:08 ]
- それあるね。素直に変わる時もあるけど、バグのような気がする。
- 235 名前:233 mailto:sage [2007/02/13(火) 01:55:09 ]
- >>234
ということは 本来はメニューエディタで変えたIDはリソースシンボルや resource.hに反映されるものなのですね 勝手にresource.h書き換えるとVSに怒られるし…… 何度か再起動してれば連動することもあるということですね sp1も充ててるんですけどね
明日 試してみます
- 236 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:38:06 ]
- 自分が作ってるのと関係ない窓(例えばIE)を移動させることって可能でしょうか?
- 237 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 01:22:31 ]
- 可能です。
- 238 名前:デフォルトの名無しさん mailto:age [2007/02/18(日) 22:31:02 ]
- VS2005STD-VCの
アイコンエディタの色の並びは どういう根拠で決定されたものなのでしょうか? 正直、あの並びをデータとして持っているのが無駄に思えます。
- 239 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:35:23 ]
- VGA(640x480,16色)の初期パレットじゃね?
- 240 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:43:10 ]
- って、256モードか
- 241 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:45:29 ]
- あれはわかんね
- 242 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 23:20:16 ]
- WebSafeColorの216色+WindowsSystemColorの32色+αじゃないのかな。
要は、255を5等分した6濃度をRGB3プレーン分展開したのがWebSafeColorの216色で、 ウィンドウ枠なんかに使っているのがWindowsSystemColorの32色。
- 243 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:28:58 ]
- MFCのOnTimerイベントの処置中は他のボタンなどのイベントを受け付けない
(OnTimer内の処理が終了後に他のイベント処理)動作は可能でしょうか?
- 244 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:40:19 ]
- OnTimer内でメッセージループ回さなきゃ、そういう動作になると思うが。
- 245 名前:243 mailto:sage [2007/02/19(月) 20:50:43 ]
- >>244
イマイチOnTimerの処理について把握してないのですが、OnTimer内の 処理が終わるまではボタンイベントの処理等には行かないって事でいいのでしょうか?
- 246 名前:243 mailto:sage [2007/02/19(月) 20:52:58 ]
- あ〜すいません。
行かないってか、貯まったメッセージキューの処理とかしなきゃ行けないですね。
- 247 名前:デフォルトの名無しさん [2007/02/20(火) 11:37:39 ]
- これからどうやって勉強すればいいですか
Cに関する知識0です。
- 248 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 11:49:53 ]
- 今まではどうやって勉強して、どこまでいったのだ
- 249 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 13:12:56 ]
- 諦めて樹海にでも行けばいいんじゃね?
- 250 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:48:17 ]
- 関数が多くなって非常に醜いソースファイルがあるのですが、
ほかのファイルにいくつかの関数をもっていき、それをメインのソースファイルから利用したりはできませんか?
- 251 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:50:42 ]
- つ ヘッダ
- 252 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:52:12 ]
- >>250
ほかのファイルにいくつかの関数をもっていき、それをメインのソースファイルから利用 すれば出来る。
- 253 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:07:30 ]
- case 1:
if(GetOpenFileName(&ofn)){ GetFileTitle(GotFileName,GotFileShortName,256); strcpy(musictitle,"open "); strcat(musictitle,GotFileShortName);strcat(musictitle," alias oto");mciSendString(musictitle,NULL,0,NULL); } break; case 2: mciSendString("stop oto",NULL,0,NULL); mciSendString("play oto from 0", NULL, 0, NULL ); break; こんな感じでボタン1が押されたらコモンダイアログ出してファイルを選択させ、 ボタン2が押されたら、選んだファイルを再生する、というようにしてるんですけど 動作が変なんです。 例えば、最初に「oo.mp3」を選択した後、ボタン2を押して再生します。 そして、もう一度ボタン1を押して、「xx.mp3」を選択します。 その後、ボタン2を押すと、「oo.mp3」が最初から再生されてしまいます。 本当は、「xx.mp3」を再生したいのですが・・・
- 254 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:41:32 ]
- >>253
mci使ったことないし、曲再生もやったことないけど、気づいた点を一つ。 closeしないうちに再openできるの? 単純に、oo.mp3がopenされたままだからxx.mp3でopenできてないんじゃない?
- 255 名前:253 mailto:sage [2007/02/22(木) 14:35:39 ]
- >>254
すんません、書いてなかったです。 WM_DESTROYの中でcloseはしてあります。
- 256 名前:254 mailto:sage [2007/02/22(木) 14:51:50 ]
- んにゃ、closeしないままopenしてないかって話だけど。
2度目のxx.mp3のときのcase 1で、ちゃんとopenできてるかどうか確認してみたら? #つーか、mciSendString()はエラーを返さないのか? 返さないとしたら確認手段くらいないのか? いっそ、試しにこんなロジックでも書いてみたら? mciSendString("open oo.mp3 alias oto", NULL, 0, NULL); mciSendString("stop oto", NULL, 0, NULL); mciSendString("play oto from 0", NULL, 0, NULL); Sleep(10000); mciSendString("close oto", NULL, 0, NULL); mciSendString("open xx.mp3 alias oto", NULL, 0, NULL); mciSendString("stop oto", NULL, 0, NULL); mciSendString("play oto from 0", NULL, 0, NULL); Sleep(10000); mciSendString("close oto", NULL, 0, NULL); んで、巧く行ったらcloseをコメントにしてやってみると。
- 257 名前:253 mailto:sage [2007/02/22(木) 15:05:31 ]
- >>256
出来ました、サンクスです。 てっきり、closeは最後にアプリ閉じるときだけすればいいと思ってました。 そっかー、一旦、close 要るんだったのか。 どうもです。
- 258 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 15:32:52 ]
- VC++の古いやつ(5.0 Ent)使ってるんだけど
SDKで case WM_PAINT: return 0; この2行が入っていると、 何故か(左上のアイコンをクリックして出す)システムメニューの 表示が遅くなったり、配置したコントロールの反応が遅れたりする (例えばチェックボックスをクリックしてもチェックマークが入るのが遅い)。 この2行をコメントにすると直る。 これって、普通なのかな? 今更なんで5.0かって言われそうだけど
- 259 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 15:42:35 ]
- WindowsのWM_PAINTで再描画が行われない
(正確には更新リージョンが空にならない)と、再びWM_PAINTが投げられる。 だから例えばDefWindowProcの中ではWM_PAINTに対し ただBeginPaintとEndPaintだけを呼んで更新リージョンを空にしていると、 Programming WindowsかAdvanced Windowsのどっちかに書いてあった。
- 260 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 04:13:55 ]
- windowsアプリケーションでアイコン作ったものの
コンパイルしても表示されないんですが 設定の仕方があるのですか?
- 261 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 07:18:30 ]
- 俺様のエスパー能力を駆使した感じでは、
元々リソースを含まなかったプロジェクトに対して、アイコンファイルだけを直接追加した予感。 リソースファイル(*.rc)とresource.hがプロジェクトに含まれているか? 通常は、リソースファイルを追加した後、 そのリソースファイルに対してアイコン等を追加する。
- 262 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 08:00:40 ]
- 残念ながら含まれてます
ただ今気付いたんですがフォルダの表示をアイコン表示にすると ちゃんと表示されます 一覧表示や詳細表示などでは表示されないんですがこれもしかして仕様ですか?
- 263 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 08:42:31 ]
- 諦めずに再エスパー。
アイコンの内32x32の方だけ書き換えていて、16x16は空のまま、とか。 イメージ - 現在のアイコンイメージタイプ をチェックしてみ。
- 264 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 23:38:32 ]
- >>263
あるある
- 265 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 00:33:49 ]
- >>263
遅くなってすいません 見事にそれでした エスパーさんありがとう!
- 266 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 03:30:05 ]
- エスパーされるってことは、質問の情報が不足してるってことだぞ
- 267 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 05:04:43 ]
- つまり、馬鹿にされているってこった。
- 268 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 06:17:41 ]
- 関係ないけどFLVPというフリーソフトも小さいアイコンの表示が変だ
大きいやつは赤いアイコン、小さい方はMFCの青いアイコン
- 269 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 07:39:04 ]
- 昔からそうだけど、MFCの吐き出す既定コードが手抜きだから。
LoadIconしたアイコンを大小両方に割り当てる所為で、 タイトルバーには16x16では無く、32x32のアイコンが縮小されて使われている。 両方描くのが面倒な時は、どちらか一方を削除しておくのが無難だな。
- 270 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 18:10:22 ]
- >>269
最初から16x16も作ってくれちゃうしなあ アイコン作ったときは、小さいほうはとりあえず消して 小さいアイコンの見栄えが気になってから追加するようにしてる。
- 271 名前:デフォルトの名無しさん [2007/02/27(火) 19:27:48 ]
- ソースが同封されてるツールがあって、自分でVisual Studioで
ビルドしてみたのですが、同封されているexeと比べると何故か サイズが大きいのはどう言ったことが原因と思われるのでしょうか? あと何個か警告が出たのですが、一応exeが出来ています。 どんな警告も出ないように作ると勝手に想像していたのですが ある程度の許容範囲内の警告が出るくらいは無視されるものなのでしょうか? よろしくお願いします。
- 272 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 19:51:26 ]
- さあ
- 273 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 21:57:38 ]
- 作成者とまったく同じコンパイラと
作成者とまったく同じコンパイルオプションと 作成者とまったく同じライブラリをリンクすれば たぶん同じサイズの実行ファイルになるんじゃないかな
- 274 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 22:07:01 ]
- 覆水盆に帰らず
- 275 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 23:45:12 ]
- 同じCPUで、同じOSな必要もあるんじゃね?
- 276 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 14:56:54 ]
- size = GetFileSize( hFile, NULL );
SetWindowText(label,(char)size); こんな風に書いて、sizeにhFileのファイルサイズを スタティックコントロールのlabelに表示したいんですが、 labelの表示が変わらないんです。 (char)を取ると、めちゃくちゃな文字列が出ちゃう。 これ、このスレでいいんかな?
- 277 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 15:05:06 ]
- SetWindowTextなんだからテキストを渡さないと
- 278 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 16:32:12 ]
- VisualC++2005ExpressEditionを久々に起動しようとおもったんですが
”一つ以上のコンポーネントがみつかりません。再インストールしてください” とでて、 アンインストールしようとしてもなにかのファイルがみつからないとかいうエラーがでてアンインストールできず それでも再度インストールしようと試みたらエラーとおもわれるものがでました。 以前にはしっかりと登録もしたはずなんですが どうすればいいでしょうか。
- 279 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 16:45:11 ]
- パソコン買い換え
- 280 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 08:29:53 ]
- 最後の手段っぽいけど、Windows Installer CleanUp ユーティリティを使う、とか。
サポート技術情報を文章番号290301で。
- 281 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 13:38:53 ]
- SetFilePointer(hFile,1,NULL,FILE_BEGIN);
ReadFile(hFile,buf,3,&readsize,NULL); buf[3] = ('\0'); 教えてください。 上のように書いて、hFileのファイルの先頭3バイトを読み そこにヌル文字を加える、これで先頭3バイトを受け取りたいんです。 でも、これだと2バイト目+3バイト目+ヌル文字になってしまいます。 相当馬鹿なことしてるかもしれませんが・・・
- 282 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 14:07:26 ]
- >>281
>SetFilePointer(hFile,1,NULL,FILE_BEGIN); 先頭から読みたいなら0じゃない? SetFilePointer(hFile,0,NULL,FILE_BEGIN);
- 283 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 14:23:25 ]
- この世はすべて1から始まっている
という世界ですな
- 284 名前:281 mailto:sage [2007/03/01(木) 14:36:34 ]
- >>282
どうもです。できました。 かなり馬鹿なことしてたんかな? また、質問するかもしれないんでよろしくお願いします。
- 285 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 20:15:19 ]
- ここでいいかどうかよく判らないですが、質問です。
Web ブラウザから起動される Java アプレットがあり、そこに表示されている情報を 現在作成しているツール(Visual C++ .NET, ダイアログ)から読み取ろうとしています。 ・アプレットのクラス名を指定して FindWindow() ・EnumChildWindows() で子ウィンドウを列挙 ・子ウィンドウに対して GetWindowRect() や GetWindowText() という感じで、ラベル(SunAwtLabel)のキャプションは GetWindowText() で取得できるんですが エディットボックス(Edit)の現在の値が取れません(""となります)。 また、コンボボックス(ComboBox)もあるんですが、これは値の取り方すら分かりません。 エディットボックスとコンボボックスの現在の値を取得するには、どうしたらいいでしょうか?
- 286 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 21:13:20 ]
- みためがエディットボックスとコンボボックス
- 287 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 23:40:19 ]
- VC2005ってPDBの埋め込みできないの?
- 288 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 09:45:51 ]
- SetFilePointer(hFile,1,NULL,FILE_BEGIN); //(1)先頭3バイト読む
ReadFile(hFile,buf,3,&readsize,NULL); // bufはchar buf[3] = ('\0'); SetFilePointer(hFile,0,NULL,FILE_CURRENT); //(2)先頭から4バイト目を読む(1)の続きを読みたい ReadFile(hFile,buf,1,&readsize,NULL); buf[1] = ('\0'); if (buf==0x01) { MessageBox(hWnd,"aaa","bbb",MB_OK); //(3)4バイト目は01だからメッセージが出るんじゃ? } 度々質問ですが、 こんな感じで、まず(1)で先頭から3バイトバイナリを読みます。 次に(2)で(1)の続き(先頭から4バイト目)を読みます。 例えば、バイナリで「41 42 43 01」なら(1)はABCになると思います。 でも、(3)のメッセージが出ません。 if の所の比較が変なんでしょうか?
- 289 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 09:46:54 ]
- C++とDelphiどっちが簡単なわけ
- 290 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 09:54:02 ]
- >>288
> SetFilePointer(hFile,1,NULL,FILE_BEGIN); 0から数え始めるからこれでは最初の1バイトを飛ばすことになる > SetFilePointer(hFile,0,NULL,FILE_CURRENT); 無意味 > if (buf==0x01) 上を治したとして、buf[0]に書き込まれているはずだからif (buf[0] == 0x01)では?
- 291 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 10:00:12 ]
- 実験ならいいけど
こまぎれで読んだらパフォーマンス悪そうだな
- 292 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 10:04:37 ]
- 実験する場合はデバッガ使った方がいい
- 293 名前:288 mailto:sage [2007/03/02(金) 10:07:08 ]
- >>290
thanxです、buf[0]だったんですね。 それにしてもこのスレで教えてもらうたびに 自分の実力の無さを感じてしまう。
- 294 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 11:05:57 ]
- 実力以前の話だから気にするな
- 295 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 11:20:40 ]
- イイハナシダナー( ;∀;)
- 296 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 18:14:24 ]
- イイハナシダナー( ;∀;)
- 297 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 18:30:16 ]
- イナバウアー( ;∀;)
- 298 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 21:30:16 ]
- >>289
GUIアプリを作るなら Delphi>>>(超えられない壁>>>VC++(MFC)
- 299 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 23:32:56 ]
- やりたいことができなくなったらVC++へ。
- 300 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:23:56 ]
- www.kumei.ne.jp/c_lang/
初心者でここを見ながらVisual C++2005の勉強してるのですが、 現在時刻を表示するのに case WM_TIMER : GetLocalTime(&st); wsprintf(str,"%02d:%02d:%02d",st.wHour,st.wMinute,st.wSecond); でstatic char str[256]に格納して WM_PAINTでTextOutでこの文字列を出力しようとするとVisual C++では文字化けしてしまいます。 borland c/c++コンパイラでコンパイル実行させるとちゃんと時間が表示されます。 これを直すにはVCの何処を弄ったら良いのでしょうか?
- 301 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:35:44 ]
- ひろってきたソース弄ってるのは勉強とは言わない
- 302 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:38:25 ]
- >>300
プロジェクトのプロパティ → 全般 → 文字セット → マルチバイト文字セットを使用する にしてみる。 または、 wsprintf(str, TEXT("%02d:%02d:%02d"), st.wHour, st.wMinute, st.wSecond); にしてみる。
- 303 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:38:50 ]
- 第一引数にはLPTSTRを渡さないと
- 304 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:38:58 ]
- >>301
十分勉強だろ
- 305 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:47:06 ]
- >>302
「strの宣言をstatic TCHAR str[256];に直す」が抜けている。 これくらい警告やエラーになりそうな気がするんだがな。 常に/W4 /Wp64付けておけ。
- 306 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:05:01 ]
- 糞サイトの無料サポートをほいほい引き受けるお人良しがいたとは
- 307 名前:300 mailto:sage [2007/03/04(日) 22:14:39 ]
- >>302-303,>>305
ありがとうございます、出来ました! 今までbccだと通っていたので気にしていませんでしたが、 VCだと型に対してキビしいのですね。 仮引数の型を教えてくれる機能があるようなのでこれからは気をつけます>< またプロパティで警告のレベル等を変えられるのも初めて知りました。 親切に教えてくださり本当にありがとうございました。
- 308 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:42:49 ]
- >>307
単に VC8(VS2005)は、デフォがUNICODEになってて、BCCは MBCSに なっているってだけだよ。 BCCでも UNICODEにすると同じようになるはず。
- 309 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 11:59:45 ]
- Visual c++
で、ソフト作成にチャレンジしようと思うのですが、 Visual C++ 2005 Express Edition ってのが マイクロソフトからダウンロードできるんだけど、 それでいいのですか。 ここの皆さんが使っているのはこれですよね。 違ったら教えてください。 似たような名前のソフトがたくさんあって どれがどれなのかさっぱり分かりません。 どうかお願いします。
- 310 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 12:04:59 ]
- >>309
EEじゃないけど、まあそれだ。 PlatformSDKとかMSDNライブラリとかも一緒にな
- 311 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 17:15:26 ]
- ツールボックスのList Controlについて質問です。
List Controlに対する処理(後で記述)を関数化しています。 「変数の追加」でList Controlをm_listctrlとしました。 プロパティは、Viewをレポートにしてるだけです。 関数の処理を行うと「説明」のColumn部分が二つになってしまいます。 m_listctrl.DeleteColumn(1); で消しているのですが、どうしてでしょうか? Columnをうまく初期化する方法をおしえて下さい。
- 312 名前:311 mailto:sage [2007/03/06(火) 17:18:23 ]
- m_listctrl.DeleteColumn(0);
m_listctrl.DeleteColumn(1); m_listctrl.DeleteAllItems(); // 詳細表示のときのコラムのヘッダーの設定 LVCOLUMN myColumn; // 列情報を保持するオブジェクト myColumn.mask = LVCF_TEXT|LVCF_WIDTH; // pszText,cxを有効にする RECT myRect; m_listctrl.GetClientRect(&myRect); // リストビューサイズを得る myColumn.cx = (myRect.right - myRect.left) / 3; // 横幅の1/3を表題にする myColumn.pszText = "項目"; // 列タイトル文字列 m_listctrl.InsertColumn(0, &myColumn); // 0列目を確保する myColumn.cx = (myRect.right - myRect.left)*2 / 3; // 横幅の2/3を説明にする myColumn.pszText = "説明"; // 列タイトル文字列 m_listctrl.InsertColumn(1, &myColumn); // 1列目を確保する // リストビューにアイテムを設定する static LVITEM myITEM; // 初期値をクリアするためにstaticを使用 myITEM.mask = LVIF_TEXT; // pszTextを有効にする myITEM.iItem = 0; // 項目0 myITEM.iSubItem = 0; // 列0 myITEM.pszText = "リスト1"; // タイトル文字列 m_listctrl.InsertItem(&myITEM); // 設定する myITEM.mask = LVIF_TEXT; // pszTextを有効にする myITEM.iSubItem = 1; // 列1 myITEM.pszText = "ああああああ"; // 説明文字列 m_listctrl.SetItem(&myITEM); // 設定する
- 313 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 17:32:44 ]
- 何がどうなってるのかよくわからんが、
(0) で0個目を消したら1個目は前にずれるから それも消すのはまた(0)じゃないか?
- 314 名前:311 mailto:sage [2007/03/06(火) 17:36:17 ]
- すみません、追加です。
プロジェクトの内容は テンプレート:MFCアプリケーション アプリケーションの種類:ダイアログベース 「ユニコードライブラリの使用する」のチェックを外す
- 315 名前:311 mailto:sage [2007/03/06(火) 17:44:06 ]
- >>313
レスどうもです。 m_listctrl.DeleteColumn(0); m_listctrl.DeleteColumn(0); で、できました! しかし、なんかもっとスッキリしたやり方はないのかな・・・。 Columnの数を計算して、ループでDeleteColumn(0);とするんでしょうか・・・。
- 316 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 17:47:58 ]
- 今見たけど、ヘルプのDeleteColumn の例はそうなってるな。
- 317 名前:311 mailto:sage [2007/03/06(火) 18:06:45 ]
- >>316
なるほど、そうなってますね。 勉強になりました。 ありがとうございます。
- 318 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 13:22:56 ]
- strcat(all,rectform.top);
all(char[]で宣言)にstrcatでフォームの高さ(位置)を入れたいんですが '.top' : 左のオペランドが 'struct' へのポインタです。'->' を使用してください。 というようなエラーが出てしまいます。 . を -> に変えると強制終了しちゃうし。 何かキャストが要るんかな? SDKです。
- 319 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 13:28:27 ]
- はい。
- 320 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 13:34:14 ]
- キャストが必要と言うより、プログラミングの基礎知識が必要かと思われます。
- 321 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:21:44 ]
- 数値と文字列の相互変換からやっとけ
- 322 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:28:54 ]
- キャストもsdkも100年早い
- 323 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 16:05:22 ]
- char tmp[20];
sprintf(tmp,"%d",rectform->top); strcat(all,tmp);
- 324 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 16:16:14 ]
- こう書くのは駄目か?
int len = strlen(all); _snprintf(tmp + len, sizeof tmp - len, "%d", rectform->top);
- 325 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 17:38:26 ]
- >>324
ダメすぎ。
- 326 名前:323 mailto:sage [2007/03/08(木) 17:42:54 ]
- お、俺のはどう・・?
- 327 名前:324 mailto:sage [2007/03/08(木) 17:43:09 ]
- ほんとだ、323に影響されてallとtmpをごっちゃにしてる
すまん
- 328 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 18:00:32 ]
- >318が低レベル過ぎてそれに対するフォローしても妥当かどうかの判断しようがない件。
- 329 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 18:35:12 ]
- エラーが出たらまずキャストって誰に教わったんだか
- 330 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 18:38:25 ]
- strcat使うべきところかどうかもあやしい
- 331 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 19:56:32 ]
- どうみても厨房です。本当にありがとうございました。
|

|