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


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

VisualC++相談室 2
751 名前:728 != (732 == 736) :2001/06/08(金) 16:57
>>748
まったくお恥ずかしい。
オオボケかましました。

お騒がせして申し訳ない(^^;

752 名前:デフォルトの名無しさん :2001/06/08(金) 16:58
>>728
おまえ偽者だろ

753 名前:この業界から逃出した男 :2001/06/08(金) 17:13
>>743
http://www.nt.sakura.ne.jp/~miwaki/progtips/window/wndbase.shtml
ここのページ見てごらん。
やり方が書いてある。

754 名前:       :2001/06/08(金) 18:26
すいません、
プロパティーシートに置いたラジオボタンの位置の値を
コントロールからの値で初期化し、ラジオボタンが変化したら
そのインデックスをまたコントロールに戻したいのですが、
どうすればいいのでしょう?

755 名前:743 :2001/06/08(金) 18:27
>>747
メソッドではないプロシージャ関数を予め Foo のコンストラクタに渡して
得られたインスタンスを、そのプロシージャ関数の中で使って、
Fooのメソッドのプロシージャ相当を呼び出す。
というややこしいスパゲッティな方法を思いついてとりあえずうまくいきました。

>>753
ありがとうございます。
まさに知りたかったエレガントなやり方が載ってるのでそっちを参考にしてみます。

756 名前:デフォルトの名無しさん :2001/06/08(金) 22:51
タスクバー内のボタンにそのプログラムのアイコンを表示したい場合ってどうすればいいのでしょうか?
WS_SYSMENU フラグを追加すれば、WNDCLASSに指定したアイコンがタスクバーに書かれることは解ったんですが、
これを設定してしまうと他の部分で不具合が出てしまいました。
なるべく、これを利用しない方法があるといいんですが。

※WS_SYSMENU を設定しなくてもAlt+Tabメニューでは指定したアイコンが表示されますが、
下のタスクバーでは表示されてくれません。

757 名前:デフォルトの名無しさん :2001/06/08(金) 23:22
BITMAPINFOHEADER構造体の中のターゲットデバイスのプレーン数って
何なんですか?

758 名前:デフォルトの名無しさん :2001/06/09(土) 00:24
>756
左上のアイコンはコントロールボックス(システムメニュー)という。
これを付けるか付けないかがWS_SYSMENU
オーバーラップウィンドウ等はこれが必ず含まれる。
ここにアプリケーションアイコンが使われているだけで、特別にアイコンを出しているわけではありません。
つまり WS_SYSMENU を使わずアイコンを出している状態というのは通常あり得ません。
下のタスクバー?
・Windowsのタスクメニューバー
・ステータスバー
意味がよくわかりませんが指定のアプリケーションアイコンが出されているだけだと思われます。
というか、この質問だとたぶんみんなに怒られます。

759 名前:デフォルトの名無しさん :2001/06/09(土) 00:35
>757
biPlanes =1以外使ったこと無し。
biBitCount が1プレーンあたりのビットカウントとなっているので
カラービット数=biBitCount/biPlanes
ということで、2ドットずつカラー指定するデバイスとかが奇跡的に存在したら使用するんとちゃいますか。
超大昔のパソコンにそんなのもあったような気が。

760 名前:デフォルトの名無しさん :2001/06/09(土) 00:43
ちと>>743>>753とも絡むのですが、リソースを参照し、ダイアログ上の
全てのコントロールも含めた形で、ダイアログボックスをCreateWindowEXで
作成する方法ってあるのでしょうか?

FindResourceやらLoadResourceやら使って、ダイアログリソース情報を
取り出すまでは出来たのですが、そのダイアログ上にある他の
リソースの取得方法が分からないのです。

要するにダイアログで>>753をやりたいのですが…

761 名前:デフォルトの名無しさん :2001/06/09(土) 00:55
たまに耳にするんですがVCLってなんですか?

762 名前:デフォルトの名無しさん :2001/06/09(土) 00:57
>>759
ハード的にR,G,Bのそれぞれのメモリが独立してる場合に使うもんだと思うぞ。
9801のGDCとかEGCみたいな。AGDCなんてのもあったか。

>2ドットずつカラー指定

これは普通に存在するだろ。YCbCrをネイティブで実装してたり。
普通は輝度:色差X:色差Yは4:2:2だから32bitをY:16bit/Cb:8bit/Cr:8bitで
分けてたりとか。
MSX2+の自然画モードなんかは4:1:1だったから、カラー指定は実質4ドット
ずつだった。

763 名前:デフォルトの名無しさん :2001/06/09(土) 00:59
>>761
どこで耳にしたんですか?

764 名前:デフォルトの名無しさん :2001/06/09(土) 01:16
>>760
つまりこんなのを読み込んで直接作るってことっすか?
gDir.rc---------------------------------------------

IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 217, 55
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "バージョン情報 gDir"
FONT 9, "MS Pゴシック"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
LTEXT "gDir Version 1.0",IDC_STATIC,40,10,119,8,SS_NOPREFIX
LTEXT "Copyright (C) 1900",IDC_STATIC,40,25,119,8
DEFPUSHBUTTON "OK",IDOK,178,7,32,14,WS_GROUP
END

----------------------------------------------------

切れるちゃうから次へ

765 名前:764つづき :2001/06/09(土) 01:17
>>760
ダイアログの場合は CreateDialogIndirect() というのを使って
DLGTEMPLATE というムチャクチャな構造体をちまちま使ってつくるようになってます。
ウィンドウプロシージャの指定だけなら753と同様の方法でよいと思われますが。
CDialog は CWnd の派生クラスなので。
ちょっとやりたいことが不明。

766 名前:760 :2001/06/09(土) 01:27
>>765
レスどうもです。MFCを使わずに、が前提でして…言い忘れててすいません。
DLGTEMPLATEの情報までは取得できるのですが、そこから先、cdit数分の
ダイアログボックス上アイテムを取得する方法が分からず困ってます。

ヘッダ読むと_DialogSplitHelperとかいう、APIには無い裏技みたいなの
使ってるんですよね。ここで詰まってます。どうしたものやら…。

767 名前:デフォルトの名無しさん :2001/06/09(土) 01:29
sageてしまった

768 名前:デフォルトの名無しさん :2001/06/09(土) 01:57
>>766
もしかするとATLがらみっすか?それだと辛い。
ま、いーとしてこんなのが出てきました。
やったこと無いんでどーだかわかりませんが
(hDialogTemplate は LoadResource()から取得)
LPCDLGTEMPLATE lpDialogTemplate = (LPCDLGTEMPLATE)LockResource(hDialogTemplate);
BOOL bResult = CreateIndirect(lpDialogTemplate, pParentWnd, NULL, hInst);
UnlockResource(hDialogTemplate);

769 名前:756 :2001/06/09(土) 03:07
WNDCLASS は WS_POPUP のみ指定してあります。
この場合だと、タスクバーには
[ApplicationTitle]
とアイコンが無い形で表示されますが、これを
[■ApplicationTitle]
のように表示したいのです。(アプリのキャプションがApplicationTitle、■はアイコンです。)

フルスクリーンのアプリで、WS_SYSMENUを付加してしまうと、
フルスクリーンに切り替わった瞬間に見苦しいウィンドウの枠が表示されたり、
(条件は良く解らないのですが、フルスクリーンなのに)枠をドラッグできたりしてしまいます。

>>758
結論としてはWS_SYSMENUが無い場合、タスクバーの表示を
[■ApplicationTitle]
のようにすることは出来ないということでしょうか?

ちなみにタスクバーとは
・Windowsのタスクメニューバー
として書かせていただきました。

770 名前:デフォルトの名無しさん :2001/06/09(土) 03:31
>>769
そうゆうことだと思っといて下さい。
ウィンドウ枠の不穏な動きは多分 WS_CAPTION を指定していないからだと思います。
WS_BORDER も指定されていないとのっぺらぼーなウィンドウができますが、WM_NCPAINT がコーディングされていないと、気分でキャプションが出たり消えたりします。
標準的には WS_OVERLAPPED か WS_POPUPWINDOW(前述のWS_S〜とWS_B〜とWS_C〜の複合版)あたりがいいと思います。
あとは思考錯誤。

771 名前:訂正 :2001/06/09(土) 03:34
×WS_POPUPWINDOW(前述のWS_S〜とWS_B〜とWS_C〜の複合版)
○WS_POPUPWINDOW(前述のWS_S〜とWS_B〜とWS_P〜の複合版)

772 名前:769 :2001/06/09(土) 03:59
>>770
ありがとうございます。
実験してみます。

773 名前:デフォルトの名無しさん :2001/06/09(土) 05:33
VC6でビルドした実行ファイルをエディタで開いてみたら、
なぜか以前見たウェブのHTMLファイルの一部が紛れ込んでいた。
何度リビルドしても必ず削除したHTMLファイルの一部が紛れ込んでしまう。
VC6ってビルドするときにわざわざFATを無視したディスクの内容を連結す
る機能でもあるの?

774 名前:名無しさん :2001/06/09(土) 06:43
>>773
あるんじゃないの?
1バイトでも一部だし。

775 名前:デフォルトの名無しさん :2001/06/09(土) 10:48
ATLを勉強したいのですが何かいい本、ホームページなどが
あったら教えてください。

776 名前:名無しさん :2001/06/09(土) 17:15
>>773
俺もその症状あったよ。
自分で作ったexeファイルの中に2chのログのデータが入ってたのは笑った。

777 名前:RIP_MAPIRO :2001/06/09(土) 17:38
>>775
ATL COM プログラミング SE

他にもATL&COMを冠した本があるからチェックしてもよいかも。
そつなく広範囲を網羅しているみたいだからこれを選択した。VC++
でのプロジェクトの作り方&解説が親切で気に入っている。
 あとは、SDKのSamplesは結構勉強になる。

778 名前:775 :2001/06/09(土) 18:04
>>777
ありがとうございます
早速購入してみます

779 名前:デフォルトの名無しさん :2001/06/09(土) 20:55
SendMessageを使ったときに送ったメッセージが現在の処理よりも
優先されると考えていいのでしょうか、だめなのでしょうか?
例外はあるのでしょうか?

780 名前:デフォルトの名無しさん :2001/06/09(土) 22:23
>>779
「優先される」という言葉が意味不明気味だけど、同じスレッドなら、
WindowProc への関数コールみたいに処理される。別スレッド(プロセス)
だと先方のメッセージキューに積まれて、処理されるまで呼び出し側には
帰ってこない。

781 名前:779 :2001/06/09(土) 22:54
>>780
返答アリガトウございます。どこかの掲示板で、中にはSendMessage
で送られたメッセージが現在の処理よりも先に処理されないものが
あると書いてあったような気がしたので聞いてみました。

782 名前:デフォルトの名無しさん :2001/06/11(月) 04:17
VisualC++6のgetchって、日本語入力対応してないみたいなんですけど、
入力させる方法ってありますか?
コンソールから"あ"を入力させようとすると、
"@a"になってしまいます。
@はALT+漢字
aはあと入力した時。
(打鍵したキーの文字がそのまま入る)

783 名前:デフォルトの名無しさん :2001/06/11(月) 04:26
とりあえず何を言っているのかよくわからない。
getchって元々日本語云々で使用する関数では無いぞ

784 名前:783 :2001/06/11(月) 04:32
>>784
要はコンソールからバッファリングをせずに入力させたいんです。
例えば、getc使うと行単位になってしまうでしょ?
(tab打鍵で入力文字補完とかさせたいんで。)

785 名前:783 :2001/06/11(月) 04:43
ちなみにDOSコンパイラでやるとなんの問題もありません。

786 名前:783 :2001/06/11(月) 04:51
テスト用のソース載せます。
#include <stdio.h>
#include <conio.h>
int main() {
  int c;
  while ((c = getch()) != 0x1b) {
    printf("%x", c);
    putch(c);
  }
  return 0;
}

787 名前:782 :2001/06/11(月) 04:54
まちがえた・・。
わたしは783じゃなくて782です

788 名前:デフォルトの名無しさん :2001/06/11(月) 05:17
>>782
DOS と Windows の PC側からのFEPのとらえ方の差です。

789 名前:782 :2001/06/11(月) 05:23
>>788
ですので、コンソールからバッファリングをせずに、
漢字入力させる方法がわかればいいんですが。

790 名前:デフォルトの名無しさん :2001/06/11(月) 06:03
getchって、キーが押されてないときは
「押されてない」って値ですぐに返って
きたんじゃなかったかな。
786のコードだと、そういういらない値まで…

というところから、788氏の言うことに続く。

791 名前:782 :2001/06/11(月) 06:14
>>790
べつにgetchにこだわっているわけではありません。
同様の動作が行なえれば良いので。
(789は、その辺を含ませた発言だったのですが)

792 名前:デフォルトの名無しさん :2001/06/11(月) 06:38
786のコードはWin2000 + Atok14で、漢字入れてもきちんと動いたぞ。
VCじゃなくて、Win9Xが腐ってるんじゃねーのか?

793 名前:792 :2001/06/11(月) 06:43
>>792
その様です。
どうすればいいんでしょう。

これも関係ありそうです。
http://www.microsoft.com/japan/support/kb/articles/J024/2/11.htm
(この説明、良く分からないんですが・・・。)

794 名前:デフォルトの名無しさん :2001/06/11(月) 07:57
>>793

#include <stdio.h>
#include <conio.h>

#define ismbblead(a) (0x81<=a&&a<= 0x9F)||(0xE0<=a&&a<=0xFC)

int main() {
char c[3];
c[3]='\0';
while ((c[0] = getch()) != 0x1b) {
if(!ismbblead(c[0])
{
printf("%x", c[0]);
putch(c[0]);
}
else
{
c[1] = getch();
printf("%x%x", c[0],c[1]);
puts(c);
}

return 0;
}

じゃあ、納得いかないってこと?

795 名前:デフォルトの名無しさん :2001/06/11(月) 09:03
>>793
日本語がおかしいと思ったときは、英語を確認しましょう。
http://support.microsoft.com/support/kb/articles/Q146/4/48.asp
>are unable to receive DBCS characters composed by IMEs.
>DBCS 文字を受け取ることができます。
おいおい‥‥どこのヴァカか訳しやがったんだ?
要するに、Win9Xでは仮名漢が16bitだからどうしょうもない、って事。
>This behavior is by design
で、それは仕様とか言い張るし。

796 名前:デフォルトの名無しさん :2001/06/11(月) 10:16
void MyView::OnPrepareDC(CDC *pDC, CPrintInfo *pInfo)
{
if(pInfo && pDC->IsPrinting()) {
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),
pDC->GetDeviceCaps(LOGPIXELSY));
pDC->OffsetWindowOrg(0, 0);
pDC->SetWindowExt(80, 80);

まぁ、こんな感じで処理を行っているんだけど、
プレビュー時は思った通りに拡大されるんだけど、印刷がなぜかできません。
上記のコードをコメントにすると出るんだけど・・・?
 どうすれば、拡大印刷ができるのでしょうか?

797 名前:デフォルトの名無しさん :2001/06/11(月) 10:16
void MyView::OnPrepareDC(CDC *pDC, CPrintInfo *pInfo)
{
if(pInfo && pDC->IsPrinting()) {
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),
pDC->GetDeviceCaps(LOGPIXELSY));
pDC->OffsetWindowOrg(0, 0);
pDC->SetWindowExt(80, 80);

まぁ、こんな感じで処理を行っているんだけど、
プレビュー時は思った通りに拡大されるんだけど、印刷がなぜかできません。
上記のコードをコメントにすると出るんだけど・・・?
 どうすれば、拡大印刷ができるのでしょうか?

798 名前:デフォルトの名無しさん :2001/06/11(月) 15:38
ツリービューでエクスプローラのようにファイルの階層を表示させたのですが、
ツリーを展開させると多少ちらつきがはいります。本物のエクスプローラでツリーを
展開させると、展開した部分より上は再描画していないようで、下の部分は
スクロールのときによく使われるScrollWindowで下にずらしたような感じに
思えました。CTreeViewクラスなどをつかって同じようなことはできるのでしょうか?
あるのでしたらヒントだけでもください。
またはSDKのように一からツリービューを使って、このような処理をできるのでしたら
教えてください。

799 名前:798 :2001/06/11(月) 20:11
まじでだれか教えてください。
お願いします

800 名前:デフォルトの名無しさん :2001/06/11(月) 20:19
>>799
やるとすれば OwnerDraw じゃない?
普通に使っても、そんなにチラチラするとは思えないんだけど…
なにか余計な Redraw 掛かってない?

801 名前:792 :2001/06/11(月) 20:47
>>794
おそらくそのコードがうまく働くのはNTか2000ですよね?
9xだとIMEの変換結果がgetchに渡ってこないので、
ismbbleadの漢字判定まで辿り着けないんです。

いろいろコンソール系のAPIを試した結果、
(最初に)SetConsoleMode(hstdin, ENABLE_PROCESSED_INPUT|ENABLE_MOUSE_INPUT);

ReadConsole(hstdin, ch, 1, &len, 0)
こういう風にReadConsoleを使うと漢字を取り出せる事までは
わかったんですが、そうするとこんどはカーソルキーや
HomeEndDelなどキーが無効になってしまいました。

訳が分かりません。泣きたくなってきました。
(なんでgetchごときにこんなに手間がかかるのでしょうか。)

802 名前:798 :2001/06/11(月) 21:02
>>800
たいしてちらつきはないのですがエクスプローラーのまったく
ちらつかないのにすごいと思って聞いてみました。

803 名前:798 :2001/06/11(月) 21:03
>>800
たいしてちらつきはないのですがエクスプローラーのまったく
ちらつかないのにすごいと思って聞いてみました。

804 名前:デフォルトの名無しさん :2001/06/11(月) 22:48
VisualC++6.0なんですが、
1)和が一定(ここでは4)となる自然数の列を全て列挙するプログラムを教え
てください。
2)再帰を用いたプログラムと、再帰を用いないプログラムの比較・検討を行っ
てください。
1番は
#include<stdio.h>

void abs_sum( int n, int w);
int main()
{
int w =2,n =3;
abs_sum( n, w);
return 0;
}
void abs_sum( int n, int w)
{
void in_abs_sum( int total_length, int n, int w);
in_abs_sum( n,0,w);
}
void in_abs_sum( int total_length, int pos, int w)
{
int i, j, called =0;
if ( pos >= total_length ){
putchar( '\n');
return;
}
for ( i =0;i <= w;++i){
if ( called++ ){
for ( j =0;j < pos;++j){
printf(" ");
}
}
printf("%2d",i);

in_abs_sum( total_length, pos +1,w-i);
}
}
これを参考にせよとのことなんですが。よくわかりません。
教えてください。

805 名前:デフォルトの名無しさん :2001/06/11(月) 23:13
>>803
う〜ん、変更かからないはずのリージョンを
有効化してやるとか?
でも、普通かかってそうだけど・・・

806 名前:デフォルトの名無しさん :2001/06/11(月) 23:15
>>804
タダでボクチンの課題を片付けてくれる人募集ですか。
いい根性だ。

807 名前:デフォルトの名無しさん :2001/06/11(月) 23:21
VisualC++って末尾再帰展開してくれんの?

808 名前:デフォルトの名無しさん :2001/06/11(月) 23:38
>>804
比較検討っていわれてもなー
しかもVC++ってゆうよりはただのCじゃん。
MFCとかもつかっていいの?

809 名前:デフォルトの名無しさん :2001/06/12(火) 00:15
>>803
エクスプローラのあれは...

810 名前:デフォルトの名無しさん :2001/06/12(火) 00:21
>>809
何?

811 名前:804 :2001/06/12(火) 00:34
>>808
比較検討ってゆーのは別に気にしなくてもいいです。
MFCとかはあんま使わない方がいいと思います。

812 名前:デフォルトの名無しさん :2001/06/12(火) 00:36
>MFCとかはあんま使わない方がいいと思います。

何故このスレで?

813 名前:デフォルトの名無しさん :2001/06/12(火) 00:49
えっと、↓なんですが、
SendMessage(hEdit,EM_EXLIMITTEXT,0,10000000);
何故かうまく機能しません。

EM_EXLIMITTEXT訳わかりません。
容量の制限とっぱらいたいんですが・・・。
誰かわかる方がいらっしゃれば教えていただけませんでしょうか。

814 名前:デフォルトの名無しさん :2001/06/12(火) 04:09
通常WM_NOTIFYは親ウインドウに通知されますが、
これを自ウインドウで検知する方法はありますか?

それもフックやサブクラス化「以外」の方法でお願いします

815 名前:デフォルトの名無しさん :2001/06/12(火) 05:51
親のプロシージャで自ウインドウにSendMessageすればいいだけじゃないのか?
(なんでサブクラスを避けるのかは謎だが)

816 名前:デフォルトの名無しさん :2001/06/12(火) 06:54
>>813
NT以外だと制限はなくならないんじゃなかった?

817 名前:デフォルトの名無しさん :2001/06/12(火) 09:57
>>813
EDITコントロールの仕様。
NT/2000以外では64kbまでしか扱えない。

818 名前:デフォルトの名無しさん :2001/06/12(火) 10:24
>>813
リッチエディットを使いましょう

819 名前:デフォルトの名無しさん :2001/06/12(火) 12:36
BOOL a = TRUE;

a = !a; // (a == FALSE)
a = !a; // (a == TRUE)

こういう使いかたしてもいいのでしょうか

820 名前:デフォルトの名無しさん :2001/06/12(火) 13:58
>>819
そういう使いかたしてもいけない理由がありません。

821 名前:819 :2001/06/12(火) 14:34
>>820
a = 0;
a = !a

で a == TRUE になる保証はあるのでしょうか?

822 名前:デフォルトの名無しさん :2001/06/12(火) 14:56
#define TRUE 0
ミタイナマヌケナヘッダダッタラドウスル?

823 名前:デフォルトの名無しさん :2001/06/12(火) 15:15
#define TRUE 0
#define FALSE 0

とか、

#define TRUE 1
#define FALSE 2

のような、キチガイじみたヘッダでなければ大丈夫。
それがたとえ、

#define TRUE 0
#define FALSE 1

であっても、>>819の使い方には問題ない。

824 名前:819 :2001/06/12(火) 15:54
#define TRUE 1
#define FALSE 0
のときに
a = FALSE;
a = !a;
にすると a == 1 になっているのでしょうか?

825 名前:デフォルトの名無しさん :2001/06/12(火) 15:57
非ゼロじゃないの

826 名前:デフォルトの名無しさん :2001/06/12(火) 17:00
>>821
Boolean の値の比較はしない方がいい。
そのまま、もしくは論理否定の条件式だけ。

827 名前:デフォルトの名無しさん :2001/06/12(火) 17:12
>>819
厳密にtrueとfalseしかとらないbool型だとして、
>>824の等式を実行すると、1がbool型として計算され、
a==trueの評価がされて、結果として真が返ることになると思う。
この場合はa==1の式は真になるけどaが1かどうかはわかんないってことに。

ただVCのBOOL型ってどうも胡散臭いんで、どうなるんだろうね。

828 名前:デフォルトの名無しさん :2001/06/12(火) 17:38
>>827
デムパ君ですか?
>>824のは等式でなくて代入文に見えますが。
うさんくさいとか言う前にヘッダ見たら?

829 名前:デフォルトの名無しさん :2001/06/12(火) 19:05
>にすると a == 1 になっているのでしょうか?

>>824の聞きたいことはこれだろ?
俺には等式に見えるが。

830 名前:デフォルトの名無しさん :2001/06/12(火) 19:09
>>829
だからヘッダ見ろって。

831 名前:デフォルトの名無しさん :2001/06/12(火) 19:09
>>829
だからヘッダ見ろって。

832 名前:デフォルトの名無しさん :2001/06/12(火) 19:23
>>831
だからヘッダ見ろって。

833 名前:デフォルトの名無しさん :2001/06/12(火) 19:24
>>833
だからヘッダ見ろって。

834 名前:デフォルトの名無しさん :2001/06/12(火) 19:25
>>835
だからヘッダ見ろって。

835 名前:名無しさん :2001/06/12(火) 19:28
http://dasaji.postpetclub.nu/
に有るような、オリジナルフォントを作成したいのですが
VCでどのように作るのでしょうか?

836 名前:デフォルトの名無しさん :2001/06/12(火) 19:29
>>830
だからヘッダ見ろって。

837 名前:デフォルトの名無しさん :2001/06/12(火) 19:31
>>835
フォントエディタを書く

838 名前:名無しさん :2001/06/12(火) 19:37
スレッド個別にたてちゃうぞ!?

839 名前:デフォルトの名無しさん :2001/06/12(火) 20:19
Win2kマシンにVCをインストールしてて、Win9Xマシンでもデバッグしたいとき、
もう一個買ってインストールしなきゃ駄目ですか?

それともいちいちアンインストールしますか?

840 名前:デフォルトの名無しさん :2001/06/12(火) 20:23
>>839
同時に使うのはだめだそうです。
二つにインストールしたら片方を使うときは
片方を使ってはいけない

841 名前:デフォルトの名無しさん :2001/06/12(火) 20:24
>>839
同時に使うのはだめだそうです。
二つにインストールしたら片方を使うときは
片方を使ってはいけない

842 名前:デフォルトの名無しさん :2001/06/12(火) 20:24
>>839
同時に使うのはだめだそうです。
二つにインストールしたら片方を使うときは
片方を使ってはいけない

843 名前:デフォルトの名無しさん :2001/06/12(火) 20:24
>>839
同時に使うのはだめだそうです。
二つにインストールしたら片方を使うときは
片方を使ってはいけない

844 名前:デフォルトの名無しさん :2001/06/12(火) 21:14
>>843
ヘルプには一台に付き1セット購入が原則だって・・・・・

一台にOS二個いれろってことかぁ・・・

845 名前:782 :2001/06/12(火) 21:49
>>801
の方法でカーソルキーとかも有効にする方法って、誰も知りませんか?
(>>801に至るまでの経緯 >>782-795)

846 名前:814 :2001/06/12(火) 23:23
>>815
親側(というか親クラス)に「子ウインドウにNOTIFYしなければならない」
という縛りを付与したくないのです。一日調べてましたがやはり
無いみたいです。残念。

関係ないですけど、私は一台にWin2kとWin98を入れ、VC++6を
両方のOSにて、全く同じフォルダ(CommonFilesはさすがに別)に
インストールしてますが、今のところ(6ヶ月間)不具合は出てません。
容量節約になるしやってみてはいかがでしょ。

847 名前:デフォルトの名無しさん :2001/06/12(火) 23:31
>>839
リモートでデバッグしてみたら?

848 名前:813 :2001/06/13(水) 07:10
みなさんありがとうございました。

849 名前:デフォルトの名無しさん :2001/06/13(水) 22:53
ag

850 名前:デフォルトの名無しさん :2001/06/14(木) 00:23
CToolBarを継承するにはどうすればいいのでしょうか?
クラスウィザードは使えないのでしょうか?

851 名前:デフォルトの名無しさん :2001/06/14(木) 01:24
    ┏━━━ / |━━━━━┓
    ┗┳┳━ |_| ━━━┳┳┛
      ┃┃ /  ヽ     ┃┃
    ┏┻┻ |======| ━━┻┻┓
    ┗┳┳ ヽ__ ¶_ ノ ━━┳┳┛
      ┃┃ (/)     ┃┃
      ┃┃ (/)     ┃┃
    凸┃┃ (/)     ┃┃凸
    Ш┃┃ (/)     ┃┃Ш
    .|| ┃┃ (/)     ┃┃.||
  ∧_∧   (/) ∧_∧  ∧ ∧
  ( ・∀・)  (/)(´∀` )  (゚Д゚ )  MFC 氏にますように
  (つ  つミ (/)(⊃⊂ ) ⊂  ⊃
  |_|_|_I(/)_|_|_|__|  |
  /////ノ,,,,,,ヽ ////||  |〜
////////////  |∪∪
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
|        奉  納        |

852 名前:デフォルトの名無しさん :2001/06/14(木) 01:27
>>846
MFC 使ってるなら REFLECT で出来るけど。クラスウィザードで
頭に = 付で出てくるアレね。

853 名前:デフォルトの名無しさん :2001/06/14(木) 17:49
MFC超初心者です。
MFCのキー入力はわかるのですが、ウェイトの設定方法がよくわからないです。
どなたかスロットゲームのソースを頂けないでしょうか?
スロットゲームのソースを見れば本当によく理解でき、勉強できると思うんです。
本当にめんどくさいこと書いて恐縮なのですが、どうかよろしくお願いします。

854 名前:デフォルトの名無しさん :2001/06/14(木) 19:02
>>851
かわいそうにMFCが使えないんだね
あんに簡単なのに

855 名前:デフォルトの名無しさん :2001/06/14(木) 19:08
>>851
おいおい煽るなよ・・・どうせプログラマーなんて
10年後には必要なくなるのに・・・

856 名前:851じゃないけど :2001/06/14(木) 19:09
>>855
必要なくなるわけないだろ!

857 名前:デフォルトの名無しさん :2001/06/14(木) 19:10
>>853
ここに逝けばわかるぞ(藁
http://piza.2ch.net/test/read.cgi?bbs=tech&key=992508442

858 名前:デフォルトの名無しさん :2001/06/14(木) 19:31
>>855
まったく無くなるとは思わないけど、確実に開発から
保守、メンテナンスへと仕事は移っていくと思う。

859 名前:デフォルトの名無しさん :2001/06/14(木) 19:58
  ∧ ∧ プーッ., ;:
 (,,゚ 3..゚)・:;∵。
 (つ目);:・ ;::;

860 名前:デフォルトの名無しさん :2001/06/15(金) 13:06
CSocket使おうと思って、ダイアログベースのアプリ作ってるけど、
OnInitDialogでCreateしてやってもエラーが起きます。

で、エラー内容確認しようと
if(m_Sock.Create(port)!=0)
{
 err=GetLastError();
}
としてもerrには0しか入りません。


なんででしょ?

861 名前:デフォルトの名無しさん :2001/06/15(金) 13:26
AfxSocketInitしてるかい?

862 名前:デフォルトの名無しさん :2001/06/15(金) 13:26
>>860
エラーが起きてないから。

863 名前:デフォルトの名無しさん :2001/06/15(金) 14:27
>>862
ごめん,そのとおりでした(^^;

で、続きとして、

データをRecieveするとき、準備すべきバッファのサイズって、
どうやったら分かりますか??

864 名前:デフォルトの名無しさん :2001/06/15(金) 17:04
Afxってどういう意味ですか?

865 名前:デフォルトの名無しさん :2001/06/15(金) 17:04
Afxってどういう意味ですか?

866 名前:デフォルトの名無しさん :2001/06/15(金) 18:07
>>863
DATAGRAM なら下位レイヤが何かにもよるけど、上位レイヤはわかって
るんだろうから、そのプロトコルで送られてくる最大サイズ。

STREAM なら、バッファ長は自分で決める。というか、この質問が出る
ってことは、ソケットライブラリの使い方に関する基本があやふやっぽい
ので、漏れが(質問に答えて)これ以上面倒なことになる前に winsock FAQ
とか全部読むと良いと思う。

867 名前:デフォルトの名無しさん :2001/06/15(金) 18:42
>>866
STREAMで使ってます。
確かに今日初めて使いましたが(^^;

とりあえず、今まで失敗してたのはプログラムミスだったので
解決しました。どもどもです。

868 名前:デフォルトの名無しさん :2001/06/15(金) 18:50
C言語はおぼえたのでVCをやりたいのですがまず何から始めればいいの
でしょうか?

869 名前:デフォルトの名無しさん :2001/06/15(金) 18:50
C言語はおぼえたのでVCをやりたいのですがまず何から始めればいいの
でしょうか?

870 名前:デフォルトの名無しさん :2001/06/15(金) 18:50
C言語はおぼえたのでVCをやりたいのですがまず何から始めればいいの
でしょうか?

871 名前:デフォルトの名無しさん :2001/06/15(金) 18:50
C言語はおぼえたのでVCをやりたいのですがまず何から始めればいいの
でしょうか?

872 名前:デフォルトの名無しさん :2001/06/15(金) 19:03
>>868-871
MessageBox("Hello. World.");

873 名前:デフォルトの名無しさん :2001/06/15(金) 19:05
その他の引数は自分で調べろな。

874 名前:デフォルトの名無しさん :2001/06/15(金) 19:19
HDDがクラッシュしてVC++6.0を、再インストールせねばならなくなってしまいました。
このとき、sp1も、一緒に逝ってしまわれました。
sp3なら素のVC++6.0に直接インストールできそうなんですが、これって問題ありませんか?
回線細いのでspのダウンロードはキツイです。

875 名前:デフォルトの名無しさん :2001/06/15(金) 20:24
>>874
雑誌についているサービスパックをインストールすべし。
サービスパック == バグ直し
だからできるだけ新しいのを入れたほうがよし。

876 名前:デフォルトの名無しさん :2001/06/15(金) 20:25
>>874
雑誌についているサービスパックをインストールすべし。
サービスパック == バグ直し
だからできるだけ新しいのを入れたほうがよし。

877 名前:875 :2001/06/15(金) 20:49
sp3だけは手元にあるのですが、
sp1->sp2の時はたしかsp1がインストールされていないと、
sp2をインストールできなかったと記憶しています。

sp3を素の状態のVC++6.0に入れようとしても警告やエラーが
でなかったので、なんか気になってしまって。
クラッシュ直後でビビリ入ってます・・・

878 名前:デフォルトの名無しさん :2001/06/15(金) 20:57
sp4って無かったっけ?

879 名前:デフォルトの名無しさん :2001/06/15(金) 21:08
今はSP5だな。

880 名前:875 :2001/06/16(土) 00:35
>>877
おまえ誰やねん?
sp3,sp4,sp5ならもんだいなかったぞよ

881 名前:デフォルトの名無しさん :2001/06/16(土) 12:10
SDIでDOC/VIEWで作ってます。
ファイルオープンダイアログがWin2000でも以前の形式のダイアログが
出るんですが、これをWin2000形式のダイアログにするにはどうしたら
イイんでしょうか?

882 名前:デフォルトの名無しさん :2001/06/16(土) 13:12
VC++でファイルを2つに分けてビルドしたいのですが
どうしたらよいのですか?

883 名前:デフォルトの名無しさん :2001/06/16(土) 13:40
>>882
dos上でという意味?

884 名前:デフォルトの名無しさん :2001/06/16(土) 13:40
>>882
dos上でという意味?

885 名前:デフォルトの名無しさん :2001/06/16(土) 13:45
>>882
cl /Feoutput.exe file1.c file2.c

886 名前:883,884 :2001/06/17(日) 01:08
>>885
dos上でなのか?

887 名前:デフォルトの名無しさん :2001/06/17(日) 01:22
コンソール窓って言えや

888 名前:デフォルトの名無しさん :2001/06/17(日) 01:44
>>881
CFileDialog は OPENFILENAMEのフックが固定定義されておりそのせいだと思われます。
Win32APIで GetOpenFileName() でデフォルト表示させりゃいいと思われます。(今2000でないので試せないが)

889 名前:デフォルトの名無しさん :2001/06/17(日) 18:07
>>883
いや、DOS上とかじゃなくて
extern宣言やってもエラーになるから
VCの使い方間違ってるのかと思って聞いてみました。

890 名前:883 :2001/06/17(日) 18:30
>>889
多分使い方が間違っていると思われり
プロジェクトを作ってそのプロジェクトに
ファイルを追加していますか?

891 名前:uuu :2001/06/17(日) 18:47
自分は、簡単なプログラムなら、VC++で組んだことがあるので、
カシオペアA-51のソフトを自作してみたくなり、eMVT3.0のCD-ROMを取り寄せてみました。

そして、http://www.microsoft.com/japan/windowsce/cetools/downloads/hpcsdk.htm
から、mplatsdk.exeをダウンロードしてインストールしたのですが、
選択肢にCE2.0が出ません。

HPC2.0の開発をしているかた、どうか解決策を教えてください。

892 名前:デフォルトの名無しさん :2001/06/17(日) 19:44
Windows CE Toolkit for Visual C++ 5.0または6.0 が必要なのでは?

893 名前:デフォルトの名無しさん :2001/06/17(日) 19:44
Windows CE Toolkit for Visual C++ 5.0または6.0 が必要なのでは?

894 名前:889 :2001/06/17(日) 21:59
>>890
はい、追加してます。
コンパイルはできるのですが
リンクのところでエラーになります。

895 名前:デフォルトの名無しさん :2001/06/17(日) 23:19
>>894
設定のリンク先に付け加えたの?

896 名前:uuu :2001/06/18(月) 00:28
>>892-893
そうなんですか?
WinCEFANの情報ではeMVT3.0とmplantsdk.exeさえあればOKとあったのに…

897 名前:895 :2001/06/18(月) 00:36
>>889
エラー内容を書いてくれれば原因がわかると思うけど

898 名前:デフォルトの名無しさん :2001/06/18(月) 07:17
http://piza.2ch.net/test/read.cgi?bbs=jisaku&key=977945208
参照せよ!

899 名前:895 :2001/06/18(月) 08:24
>>898
俺が教えて君だってのか

900 名前:889 :2001/06/18(月) 23:04
>>895
あ…
付け加えてなかったです。

901 名前:デフォルトの名無しさん :2001/06/19(火) 01:17
あるデータをファイルに出力するプログラムなんですが、
unix上(gcc利用)でコンパイル・実行した時の結果と、
win上(vc++6利用)でコンパイル・実行した時の結果の大きさが
違うのです。

win -> 90024bytes(出力データのサイズ)
unix-> 90015bytes(出力データのサイズ)

正しいのは90015bytesの方です。
なぜサイズが異なるんでしょう?
解決策を教えてください ヽ(´Д`)ノ

--------------------------------------------出力部分のコード---------------------
〜略〜
void RTViewMgr::prnpgmhdr(void){
  cout << "P5 " << 2 * dotsize << " " << 2 * dotsize << " 255" << endl;
}

〜略〜
for(略){
  if(obj.rayhit(ray, &hit))
    cout << hit.intensity(lsrc, dIntensA);  // intensity()の返り値はu_char型
  else
    cout << static_cast<unsigned char>(0);
}

902 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

903 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

904 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

905 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

906 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

907 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

908 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

909 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

910 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

911 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

912 名前:sage :2001/06/19(火) 01:18
a
a
a
a
a
a
a
a
a
a
a
a@
@
@
@
@
@
@
@
@
@
@

913 名前:デフォルトの名無しさん :2001/06/19(火) 01:21
プログラマ板のage荒しがこっちにも来ましたか?

914 名前:デフォルトの名無しさん :2001/06/19(火) 11:14
いさチビ女さん
そろそろ新しいスレに

915 名前:デフォルトの名無しさん :2001/06/19(火) 21:08
任意のディレクトリ内の特定の拡張子を持つファイルの個数を数える
プログラムを作りたいんですが、いちばん簡単な方法は何でしょうか。
やっぱり、FindFirstとかFindNextとかで、検索するのがいちばん簡単?
ちなみに、サブフォルダ内は検索対象にしません。

916 名前:デフォルトの名無しさん :2001/06/19(火) 21:10
>>915
おっぱいぼいん

917 名前:915 :2001/06/19(火) 21:12
>>916 はあ?

918 名前:デフォルトの名無しさん :2001/06/19(火) 21:17
>>915
不可視のComboBoxを作って、CComboBox::Dir

919 名前:915 :2001/06/19(火) 21:39
>>918
ご回答ありがとうございます。

意味がよくわかりません。もう少し詳しくお願いします。

920 名前:デフォルトの名無しさん :2001/06/19(火) 21:48
>>918
あぁ?CComboBox::DirをMSDNで調べろ。

921 名前:デフォルトの名無しさん :2001/06/19(火) 21:56
VCだったら2ちゃんよりニュースの方がいいよ
真面目に困ってる人にはね

922 名前:  :2001/06/19(火) 21:58
>915そだね。ツーカ分かってる方法があるならそれでやれよ

923 名前:915 :2001/06/19(火) 22:07
はい、すみません

924 名前:デフォルトの名無しさん :2001/06/19(火) 22:14
16bitカラーモードではパレットを作る必要はないのでしょうか?
16bitカラーモードでは色はどのようになっているのでしょうか?

925 名前:デフォルトの名無しさん :2001/06/19(火) 22:55
>>924 BITMAPINFO の bmiColors[0] 〜 bmiColors[2] に
RGB (BGRだっけ) のそれぞれのビットマスクが入ってる。

926 名前:デフォルトの名無しさん :2001/06/19(火) 23:26
>>915
dir *.ext /b /s
を実行して、その結果の行数を数える。

927 名前:デフォルトの名無しさん :2001/06/19(火) 23:57
>>926
ばかじゃないの、死ね。
本当に、ばかだな。頭悪いよ。はげ

928 名前:デフォルトの名無しさん :2001/06/20(水) 00:02
↑も無教養に見える。

929 名前:>926 :2001/06/20(水) 00:05
wcがないとね

930 名前:デフォルトの名無しさん :2001/06/20(水) 00:41
トイレ?

931 名前:デフォルトの名無しさん :2001/06/20(水) 21:30
ビットマップのデータってどうやって保存するんですか?

932 名前:デフォルトの名無しさん :2001/06/20(水) 22:37
>>930
……ネタにしては、つまらない。本当に知らないのなら http://unxutils.sourceforge.net/
行って下さい。

933 名前:デフォルトの名無しさん :2001/06/21(木) 10:32
設定がハイカラー(16ビット)以上のときはビットマップを読み込んだとき
パレットはつくるひつようはないんでしょうか

934 名前:なー :2001/06/21(木) 16:31
>933
パレットはいらないけど、マスクしなきゃいけないのでその分はbitmapinfoheaderの後につけてあげなくちゃいけないよ。

935 名前:なー :2001/06/21(木) 16:36
ACCESSとかの mdbって2000になって だいぶかわったみたいなんだけど、
実際のところはどうなんでしょう?
前はセカンダリのスレッドからはアクセスしちゃだめとか、
あったけど、今もかわらずなのでしょうか?
というか、2000になっての変更点ってどういうのがあるんでしょう?
解説とかあるページがあったら、教えてくださいませ。
他力本願で申し訳ないのですが・・・

936 名前:デフォルトの名無しさん :2001/06/22(金) 00:30
void *operator new(size_t size){
/*省略*/
}

void *operator new [](size_t size){
/*省略*/
}
void inithoge(long num){
char *p = new char[num]
}
■■■■■■■■■■■■■■■■■■■■■
このような時、new[]ではなくnewの方に飛んでしまうんですが、
これって仕様ですか?

VC++6.0

937 名前:デフォルトの名無しさん :2001/06/22(金) 03:19
VC6ではnew[]演算子およびdelete[]演算子は定義されていません。
内部で勝手にnew/delete演算子に置き換えています。

938 名前:936 :2001/06/22(金) 07:36
>>937
ありがとうございます。

939 名前:デフォルトの名無しさん :2001/06/22(金) 10:28
現在ダイアルアップでつながっている番号をこっそり変えたいのですが
ばれないようにやるいい方法はないでしょうか

940 名前:>>939 :2001/06/22(金) 11:18
NTTハクしてISPの電話番号かえさせるとか
おまえ物凄いこといってるな

941 名前:デフォルトの名無しさん :2001/06/22(金) 11:20
初期化ファイルに対する操作についての質問です。
指定した初期化ファイル(.INI)で、特定のセクションを、セクション名毎削除するには
どうしたらよいのでしょうか?
WritePrivateProfileSectionで書き込みデータをNULLにしても、セクション名だけは残って
しまいます。

942 名前:デフォルトの名無しさん :2001/06/22(金) 11:40
>>941
WritePrivateProfileString()を使え。
第2引数をNULLにするのぢゃ。

943 名前:デフォルトの名無しさん :2001/06/22(金) 11:49
>>939
エロサイトでよくおとせる(おとさせられる)Q2のアレのことか?

944 名前:941 :2001/06/22(金) 13:04
>>942
ありがとう。成功しました。

945 名前:939 :2001/06/22(金) 13:34
>>943
そうです。
巡回ソフトに組み込んでおいてこっそり番号変えられないかと

946 名前:いさましいチビの女 :2001/06/22(金) 14:02
900を超えたので新スレッドを作りました。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=993186053&ls=50

947 名前:デフォルトの名無しさん :2001/06/23(土) 17:19
かちゅーしゃ用
http://piza.2ch.net/test/read.cgi?bbs=tech&key=993186053

948 名前:デフォルトの名無しさん :2001/06/23(土) 23:27
>>947
ありがたい、まじで


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