[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/05 22:03 / Filesize : 248 KB / Number-of Response : 984
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★初心者にVisual C++を教えるスレ★ Part32



1 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:16:11 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
www.hyuki.com/writing/techask.html

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5辺り。

452 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:26:34 ]
>>445
PAINTSTRUCT ps;
CDC* pDC = BeginPaint(&ps); にする。

もっとも、そんなことしなくても、スタティックコントロールの背景色の変更は、
親ウィンドウの CWnd::OnCtlColor() で簡単にできるんだが・・・。

453 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:35:14 ]
すみません、このスレでいいのか分からないんですが、質問させてください。

全くのプログラム初心者に近い人間で、HSPをちょっと触ったことがある程度なんですが
C++を使ってみたいと思いました。
色々なサイトを回ってみたりしたのですが
開発環境の作り方がさっぱりわかりませんでした・・・orz
ttp://codezine.jp/article/detail/207?p=1
このページを参考に物を作りつつ勉強していこうと思ったのですが
最初の一歩目で躓きましたorz

どこか環境の作り方などが載っているサイトなどがあれば教えて頂けないでしょうか。
もし書き込むスレッドが間違っていたら教えて頂きたいです。
宜しくお願いします。

454 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 01:30:29 ]
まずは窓のそばに観葉植物を置いて・・・。
という話じゃないとは思うんだが、開発環境って具体的には何を指してるんだ?

455 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 02:52:51 ]
>>452
ありがとうございました。Ctlも調べてみますどうもです

456 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 23:29:36 ]
>>453
エスパー的に答えれば
フリーのVisual C++ 2008 Expressをダウンロードしてインスコ(環境出来上がり)
でもそのレベルじゃ記事読んでも理解できないから
Cはある程度わかっているとして
猫でも読んでWin32APIの基本は少なくとも勉強する
メッセージループ プロシージャなど
ってことでOK?

457 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 23:39:56 ]
今、猫でもわかるのCのところを見てみたら、スクリーンショットがVCの1.5とかそのあたりのやつじゃないか。
書かれたの、10年以上前だし。

www.amazon.co.jp/dp/4891005769
www.amazon.co.jp/dp/4891005823

↑このあたりの本でも買って勉強したほうがいいんじゃね?

458 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 23:47:01 ]
その辺のってCLI系のヤツだろ
それやるならC#でよいと思うがな

個人的には色々本買うより
初心者であってもCがある程度分かってるなら
Petzold本読むのを進める

459 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 23:52:53 ]
>>458
ああ、本当だ。.NET Frameworkって内容紹介に書いてあるな。
でもHSPをちょっとかじった程度だと、プログラミングWindowsとかムリだろ。

460 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 00:39:07 ]
Express Edition
c++ です。
フォームアプリケーションでファイルを開いて、フルパスからファイル名を抽出しようとしていて、
ググったところ、char ポインタ型で抽出していたので、System::Stringをcharポインタ型に変換してから抽出したのですが、実際に何度か連続で実行したところ
エラーが発生しました。恐らくポインタの開放か初期化でミスってると思うんですが…
ケータイからなのでソースは勘弁していただきたいので、System::String で直接ファイル名を抽出できないでしょうか?
スレ汚しすいません。



461 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 00:41:58 ]
>>460 です。
VisualStudio2008と書くのを忘れていました

462 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 01:19:27 ]
>>460
System::String は使ったことがないので考え方だけ。以下のコードでできるかどうかは不明。
文字列の最後に出てくる \ の位置を求めて、先頭からその位置までの文字列をばっさり捨ててる・・・つもり。
検証は、まかせる。(笑)

String filename = pathname.Remove( 0, pathname.LastIndexOf('\\')); // pathname は フルパスが入っている String



463 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 01:37:27 ]
>>462
最後の¥が残ってしまったものの抽出自体は成功しています!
後は自力でできそうです!
わずか一行で実装できるとは思いませんでした。
ありがとうございます。

464 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 01:39:31 ]
System::IO::Path::GetFileName使えばいいだけの話じゃないの?

465 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 01:47:13 ]
>>464
そんな便利な関数あったんですね…
すいません調べ不足でした。
>>463
ちなみに先ほどのは、ラストの¥の位置を表しているのでインクリメントしてあげれば解決しましたね。
お二方ありがとうございました。

466 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 02:52:40 ]
>>463
>後は自力でできそうです!
そりゃできるだろ。^^;

String filename = pathname.Remove( 0, pathname.LastIndexOf('\\') + 1); // + 1 を追加

たったこれだけの修正ができなかったら、C++を勉強する前に
まずはCの基本から身につけたほうがいいと思うぞ。

467 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:56:30 ]
VisualStudio2008
express、Windowsフォームです。
一つのイベントに対して複数のイベントを組むのは、どうすればいいのでしょうか。
具体的にはtoolStripのButtonをクリックした時に、名前をつけて保存と上書き保存と切り替えたいのですが…

468 名前:デフォルトの名無しさん [2008/12/20(土) 23:43:49 ]
Visual C++2008 ExpressEditionで、実行したときに全角文字が〓に文字化けしてしまうんですがどうすれば正しく表示されるんでしょうか?

プログラムはこれです。

#include <iostream>
using namespace std;
int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};
void k(){
if(m[p]==0)for(i=0;i<8;i++){
for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;
if(c&&m[v]==t){
a+=c;v=p;
if(d)do m[v]=t,v+=r[i];while(m[v]!=t);
}}}
char*h="・○●\n" ;
int main(){
for(i=1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;
for(;;a=d=0){
for(p=9;p<82;++p)k(),cout<<h[m[p]*2];
if(a)for(d=a=s=p=8;a==8;k())t-2?(cin>>p>>i),(p+=i*9):++p;
else if(s)s=0,cout<<"pass"; else break;t=3-t;
}
return 0;
}

469 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 00:40:30 ]
>>468
[構成プロパティ]-[全般]-[文字セット]がUnicodeがどうのこうのってなってね?
マルチバイトがどうのこうのってのに設定すれば多分動くんじゃね?

470 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 14:06:11 ]
VC++2008EE SDK です。
hToolBar = CreateWindowEx(WS_EX_TOOLWINDOW, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_VISIBLE | CCS_ADJUSTABLE | CCS_NORESIZE, 50,200,200,20, hWnd, NULL, hInst, NULL);

ツールバーに背景色を設定したいのですがやり方がわかりません。
教えてください。




471 名前:デフォルトの名無しさん [2008/12/21(日) 19:25:33 ]
>>470
SetWindowLongPtr
GCLP_ HBRBACKGROUND

472 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 19:33:26 ]
void型の構造体からデータを取得したいのですがやり方がわかりません教えて

473 名前:デフォルトの名無しさん [2008/12/21(日) 21:07:43 ]
VS2005もしくはVC++6.0でリソース(ダイアログ、アイコンなど)を編集する実行ファイルの名前はなんなんですか?

474 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:23:56 ]
msdev.exe

475 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:27:06 ]
VS2008です。
右にTextBox(MainText)、左にパネル、パネルの上にTextBox(LineText)
LineTextにはMainTextの行数を表示してあります。
こんな風↓

パネル|MainText
1 |文字
2 |文字
3 |文字

でMainTextがスクロールするときには、同時にパネルをスクロールしたほうが、いいでしょうか?
LineTextをスクロールしたほうがいいでしょうか?
また、どうスクロールしたらいいでしょうか?

476 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:49:13 ]
>>474
VS2003も?

477 名前:470 mailto:sage [2008/12/21(日) 23:15:22 ]
>>471
サンクス。

478 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 03:52:50 ]
453です。暫く忙しくてPC触れず、返信が遅れました、すみません。

>>454
すみません、言葉が足らなかったようで。
開発支援ソフトというか、ソースを書いて、実行して・・・という動作を行うソフトを探していました。
こういったソフトを何というか、用語等が分からなくて・・・すみません。

>>456
直感で欲しかった返答を頂き、有難うございます。
少しずつ調べていく感じで、時間がかかっても一歩ずつ進んでいこうと思います。

>>457,458,459
参考書を探してみたのですが、書店で見てもイマイチどれがいいのか分からなくて・・・
購入して意味が分からない、というのも問題だと思ったのでいろいろネットを見回っていました。
Petzoldという本がどれかは分からないのですが、また今度探してみようと思います。

皆様、返信ありがとうございました。
試行錯誤で少しずつ勉強してみようと思います。

479 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 04:13:52 ]
CListCtrlでレポートスタイルにアイコンを表示するにはどうすればいいんでしょうか

DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | LVS_REPORT;
m_ListCtrl.Create(dwViewStyle, rectDummy, this, ID_FileListCtrl)

m_ListCtrl.InsertColumn(0, _T("NAME"), LVCFMT_LEFT, 100);
m_Images.Create(IDB_NAME, 16, 0, RGB(255, 0, 255));
m_ListCtrl.GetHeaderCtrl()->SetImageList(&m_Images);

ここまで来たんですが、どうしても表示されません、教えてください。

480 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 09:51:36 ]
InsertItemの引数



481 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 10:41:23 ]
すいません忘れてました。

m_ListCtrl.InsertItem(0, _T("TEST"), 2); // BMPの3つ目のイメージを期待

Insertはこうかいてます

482 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 10:57:31 ]
SetImageList()呼んでないんじゃない?

483 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 10:58:50 ]
つーか、ヘッダに載せたいの?

484 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 11:20:43 ]
確認しましたが、SetImageListは呼んでません
リストコントロールの0列目の頭にアイコンを付けたいんです。
BMPは16で区切って8インデックスあるので
2番目は空では無いとおもうんです

485 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 11:30:14 ]
いや、ちょっと使い方に問題があると思うけどアイコンなくっても
アイコンのある筈の場所が空白になるだけだから、それは確認できるはず。
で、
m_ListCtrl.GetHeaderCtrl()->SetImageList(&m_Images);
これは
m_ListCtrl.SetImageList(&m_Images);
じゃないのか?

486 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 11:31:41 ]
m_ListCtrl.SetImageList(&m_Images, LVSIL_SMALL);
こうか

487 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 11:39:19 ]
うおーーーできたーー
GetHeaderってなんだったんだーーーー
ありがとう。まじありがとう。
無駄に難しくはまり込んでいた・・・

488 名前:デフォルトの名無しさん [2008/12/22(月) 20:19:26 ]
VCで作ったwindowsのプログラムを全く別のパソコンで動かすにはどうしたらいいのでしょう?
ソリューション構成のとこをreleaseにして、できたexeファイルと画像と音声リソースを
同じディレクトリに入れて、USBメモリで他のパソコンに移して実行しても、
アプリケーションの構成が正しくないとかいうエラーが出てしまいます。
どなたかアドバイスお願いします

489 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 20:22:15 ]
まずは、正確なメッセージを貼るところから始めよう。

490 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 20:23:37 ]
次に、そのメッセージでググってみよう。




491 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 20:26:05 ]
アプリケーションをスタティックリンクするか、「他のパソコン」にランタイムをインストールするといいかも。

492 名前:デフォルトの名無しさん [2008/12/22(月) 21:11:11 ]
ググッてみたら解決方法がいっぱい出てきました。
出てきたページを参考にランタイムを入れてみようと思います。
ありがとうございましまろ

493 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 22:48:23 ]
>>478

プログラミングWindows 第5版 (Charles Petzold著)

Win32APIを勉強する上ではバイブル的本だと思うが
君が理解できるかどうかは俺にはわからん
ただ訳もよくできてるから 初心者が読んでても結構楽しいぜ
それなりの値段だから 大きめの本屋で目を通してみると良い
とりあえず上巻だけでOK

494 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 23:55:22 ]
VC++2003を使用しています
テキストファイルやmp3等のリソースエディタでは埋め込みが不可能なものを
リソースとして埋め込み、使用するにはどのようにしたらいいのでしょうか
ググった所ビルドアクションを埋め込まれたリソースにするという事はわかったのですが、
追加したファイルのプロパティを確認しても項目がその他しか出ていませんでした
どうかよろしくお願いします

495 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 00:01:29 ]
VisualStudio2008 c++ です。
Regex::Matchesでパターンマッチした文字の位置を取得して、その列をSelectにすることできる?

ABC
ABC
ABC

↑これでAをMatchesで取得したとして、3つ目のAを指定したら3列目が選択される。みたいに
わかりにくくてごめん。

496 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 00:20:34 ]
>>494
「カスタムリソース」でググってみ。

497 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 01:22:00 ]
>>496
カスタムリソースで調べてやってみたら埋め込みリソースが成功しました
本当にありがとうございます

498 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 22:33:03 ]
VC++上でコンソールアプリケーションを実行したときに
printf()の出力先(標準出力)を、VC++の出力窓にすることはできます?
(OutputDebugString()を使わずに・・・)


499 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:10:04 ]
printfってオーバーライドできたっけ?

500 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:12:56 ]
>>498
標準出力の出力先はSetStdHandle()で切り替えられるけど、VCの出力窓のハンドルって取得できるのかな?
調べたらできるかもしれない。



501 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:18:42 ]
なんでんなこと死体んだ

502 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:19:09 ]
>>498
printfをオーバーライドして中身にOutputDebugString書いちゃ駄目なの?
あくまでOutputDebugStringは使っちゃ駄目?

503 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:26:20 ]
Regex::Matchesで検索した文字列の位置って、Forで地道に文字数カウントしかないの?
MatchCollectionのメンバで位置取得とかできないの?

504 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 03:17:52 ]
#define printf (vsprintfしてOutputDebugStringする自作関数)

505 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 04:24:18 ]
自己解決した。スマソ

506 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 13:21:28 ]
質問です。
Visual C++ 2005 Expressを使っているのですが、
EXEファイルのプロパティから見られる「バージョン情報」を追加するには
どうすればいいんでしょうか?

507 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 14:14:08 ]
>>506
リソースファイルを作ればいい
marigold.sakura.ne.jp/devel/windows/verinfo/index.html


508 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 19:49:37 ]
>>507
ありがとうございます。そちらを参考にして一応設定し、「バージョン情報」タブが
表示されるようになりました。

ですが、何も設定していないのに「言語」という項目が「英語(米国)」という値で
自動的に設定されてしまうのですが、この「言語」の項目を「日本語」にするには
どうすればいいのでしょうか?

ためしに
VALUE "言語", "日本語\0"
と記述すると項目は追加されるのですが、「言語」「英語(米国)」は残ってしまいます…

509 名前:508 mailto:sage [2008/12/25(木) 20:01:21 ]
自己解決できました。TranslationとStringFileInfoのBLOCKの値に
関係してたんですね

510 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:41:53 ]
VC++2008で、エディットボックスに入力された値を%と仮定して、
演算を行いたいと思っています。

15 と入力されていれば、1.15で演算

現在、取得した値に100加算し、100除算するようにしているのですが、
桁落ちが発生してしまい、変数に格納される値が1.1499…となってしまいます。
桁落ちを発生させず、正しく1.15として変数を格納するためにはどのようにすればよろしいでしょうか。

CString strBuf;
double d;
((CEdit*)GetDlgItem(iID))->GetWindowText(strBuf); // strBuf="15"
d = atoi(strBuf); // d=15.00000000

d = 100 + d/100; // d=1.149999999



511 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:56:37 ]
整数で計算して下さい

512 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 03:14:09 ]
結果出力、つまり文字列に変換するときに丸めればいい。
偶数丸めとか四捨五入とか。

513 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 06:37:33 ]
1ドル15セントみたいな概念は理解できないんだな

514 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 07:10:36 ]
100 + d/100

515 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 07:19:30 ]
たぶん、( 100 + d ) / 100 と書きたかったんじゃないか?

516 名前:510 mailto:sage [2008/12/26(金) 09:32:30 ]
(100+d)/100の間違いでした。
四捨五入で試して見たいと思いますが、
少数で演算はやめておいた方がよさそうですかね。
計算式が少し複雑なものだったので、楽できればと思ったのですが。

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


517 名前:デフォルトの名無しさん [2008/12/26(金) 11:57:21 ]
CString型の文字列に格納されている文字を1文字ずつ取り出したいです。

ただし半角なら1バイト単位で、全角なら2バイト単位で、という風に分離したいです。

半角だけなら、Strcpyでcharの配列にコピーした上で、
str[0] str[1]...という風に取り出せますが、

全角が混じっていると、1バイト目、2バイト目と分離されてしまいます。

その文字が半角か全角かを判断して、半角なら1バイト、全角なら2バイト同時に取り出すロジックを作りたいです。
こんな感じの関数として。

CString ripString(CString src,int index){ //ソースとなる文字列、n文字目

/*〜処理〜*/

return 文字列;
}

たとえば"あaいbうcえdおe"という文字列を入れると、

CString str="あaいbうcえdおe";

ripString(str,0) →結果 "あ"
ripString(str,1) →結果 "a"
ripString(str,2) →結果 "い"
ripString(str,3) →結果 "b"
 ・
 ・
 ・
 
こういうことをするのに良い方法はありますか?

518 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 12:05:49 ]
CharNext, IsDBCSLeadByte

519 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 12:09:47 ]
>>517
CString::GetAt( int iChar)

520 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 12:18:56 ]
>>517
#define _UNICODE




521 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 19:48:42 ]
初めてDLL作ろうとしたのですが、依存関係を設定してビルドするとなぜか〜〜.libが見つかりませんとでて失敗します。
〜〜.dllってどのようにすれば使えるのか教えてください。
dllファイルの作成自体は成功しています。


522 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 20:37:37 ]
>>521
google dll 作成方法

523 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:03:56 ]
散々調べてから2ちゃんで質問したんですが・・・
とりあえず自己解決しました。
Project Test   ←dllを使うプロジェクト
Project Test_dll ←dllのプロジェクト
という感じで、Test_dll.libができるのかと思ってたら、Test_dll.dllとTest.libの名前でファイルが作成されてました。

はじめにTestのソース内で#pragma comment(lib, "Test.lib")を試したところ
出力ファイル名が入力ファイル名が一致しています。というエラーが出たので、(名前も対応していないので)
Test.libがTest_dll.dllのアタッチとは関係ないものだと早とちりしていました。
結局Test.libをTest_dll.libにリネームして、リンクすることでビルドに成功できました。

524 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:11:02 ]
ただ出力ファイルのdllの名前はプロパティから変更できたのですが、出力されるlibファイルの名前が変更できません。
みなさんは毎回手動でリネームしているのでしょうか。

525 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:52:49 ]
libが必要になる方法なんかで作らないもん
面倒だし

526 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 23:24:50 ]
ビルド後のイベント

527 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:28:01 ]
リンカの詳細にインポートライブラリってのがあるべや

528 名前:デフォルトの名無しさん [2008/12/28(日) 20:13:39 ]
モードレスダイアログのコンボに対して、親ウィンドウから値をセットするにはどうしたらいいんでしょうか。
Win32 VC++です。

モードレスダイアログに
setData(char* text)
{
ComboBox_AddString(hwndDialog, text);
}
親から
dialog.setData(text);
UpdateWindow(hWndDialog);



529 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 21:01:37 ]
うまくいかないのなら、その経過も書いてよ

530 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 22:13:09 ]
親から送る
ComboBox_AddString( GetDlgItem( hWndDialog, IDC_COMBOBOX), text);



531 名前:デフォルトの名無しさん [2008/12/28(日) 23:12:16 ]
>>530
おっしゃるとおりにやってみたのですが、現象は変わりませんでした。
現象は、モードレスダイアログにあるコンボの中身が空のままです。
ただ、 num = (int)SendMessage(GetDlgItem( hWndDialog, IDC_COMBOBOX), CB_GETCOUNT, 0, 0);
でみると要素数numはちゃんと増えています。
WM_PAINTを拾ってInvalidateRectで再描画する必要があるのでしょうか。


532 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 23:29:03 ]
>モードレスダイアログにあるコンボの中身が空のままです。
ポインタ操作間違えて文字化けしているだけじゃないのか?

533 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 23:50:08 ]
そもそもどこの時点でしけてんだよ
まず、モードレスダイアログ自身に同じ処理を書くと成功すんのか?それ

534 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 02:31:03 ]
コンボボックスのリストの部分のサイズどうなってる?
コンボにフォーカスして↑↓キー入れてみたらちゃんと追加されてるとか

535 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 17:54:28 ]
ボタンが無効かどうかを調べるにはどうすればいいんですか?

536 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 18:08:08 ]
IsWindowEnabled()

537 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 18:24:57 ]
ありがとうございますっ

538 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 22:10:54 ]
Visual C++ 2005 Express+Windows Platform SDKの環境なのですが、
実行時にメニューバーの表示/非表示を切り替えたいのですが、
どういった方法がありますでしょうか?

539 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 22:18:26 ]
メニューバーをツールバーコントロールで作成しておいて、
EnableWindow( hWndToolBar, ( IsWindowEnabled( hWndToolBar) == FALSE);

540 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 22:19:21 ]
しまった、カッコが一個たらね。



541 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 04:46:19 ]
別の方法で解決しましたが、レスありがとうございました


542 名前:デフォルトの名無しさん [2008/12/31(水) 22:52:19 ]
どうやって解決したのか書いてけよ
クソだな
根っからのクソ
育ちが悪すぎる
親、何?誰?かなりクソでしょ?
教育失敗してる

543 名前:デフォルトの名無しさん [2008/12/31(水) 23:51:34 ]
今やるならC#で始めるほうがいいよな>初心者
ペゾルド本もC#だし。

544 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 02:50:34 ]
ネコ以下でした…

545 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 11:15:15 ]
vcprojからnmakeに変換する方法があれば教えてください。

546 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 13:00:22 ]
VC6はメニューにあるね

547 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 13:14:00 ]
2002以降無くなったな、便利だったんだが・・・

548 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 13:49:40 ]
>>546,547
レスありがとうございます。
探して見つかったら報告します。

549 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 21:57:36 ]
#include <fstream>
char *textdata;
void main(){
ifstream fin;
fin.open("test.txt",ios::binary);

この後、textdataにtest.txtのデータをコピーしたいのですが
test.txtはeofの後にもデータがあります。
それも含めて、ファイルの最後までデータを読み込みコピーするには
どうすれば良いですか?

550 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 22:13:27 ]
そういう関数の中でeofチェックしてるはずだから
eofチェックしない処理を自作する。



551 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:41:29 ]
できません

552 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 07:50:04 ]
>>549
eofのあとにデータがあるんじゃなくて、eofの判定をミスってるだけだろ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<248KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef