★初心者にVisual C++を教えるスレ★ Part14
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGお兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
http://www.geocities.co.jp/Beautycare/4965/public/template.html
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
前スレ
★初心者にVisual C++を教えるスレ★ Part13
http://pc5.2ch.net/test/read.cgi/tech/1089011118/l50
0002デフォルトの名無しさん
NGNGPart13 http://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 http://pc5.2ch.net/test/read.cgi/tech/1083585833/
Part11 http://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 http://pc5.2ch.net/test/read.cgi/tech/1074933908/ ※
Part09 http://pc5.2ch.net/test/read.cgi/tech/1068983609/ ※
Part08 http://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 http://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 http://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 http://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 http://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 http://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 http://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 http://pc3.2ch.net/tech/kako/1023/10235/1023530449.html
※「いや〜、ごめんなさい」により、紛失の可能性
// 関連
■MFC相談室 mfc11.dll■
http://pc5.2ch.net/test/read.cgi/tech/1088084875/
Win32API質問箱 Build22
http://pc5.2ch.net/test/read.cgi/tech/1092524669/
鬱だ氏のう DirectX (Part 14)
http://pc5.2ch.net/test/read.cgi/tech/1088594869/
C++相談室 part34
http://pc5.2ch.net/test/read.cgi/tech/1092018643/
C/C++の宿題を片付け作戦指令 30代目
http://pc5.2ch.net/test/read.cgi/tech/1091954342/
0003デフォルトの名無しさん
NGNG猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/
Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
http://www.google.co.jp/
//このスレの前身 VisualC++相談室 過去スレ
part 1 http://piza.2ch.net/tech/kako/970/970607517.html
part 2 http://piza.2ch.net/tech/kako/981/981630730.html
part 3 http://piza2.2ch.net/tech/kako/993/993186053.html
part 4 http://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 http://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 http://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 http://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 http://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 http://pc5.2ch.net/tech/kako/1036/10368/1036897197.html
0004デフォルトの名無しさん
NGNG市ね
0005デフォルトの名無しさん
NGNG乙
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG意味不明
0008デフォルトの名無しさん
NGNGウイザードでDLLのプロジェクトを作成する。
cppとdefを書き換える。
コンパイルする。
0009デフォルトの名無しさん
NGNG環境:Visual Studio 6
C++にある、setというコンポーネントを使おうとしてます。
勉強段階として、次のデータ型を
---
///データ型
typedef struct{
stringid;
stringname;
stringdetail;
} DATA;
template<typename DATA>
bool operator<(DATA const &a, DATA const &b){
return a.id < b.id;
};
---
以下のsetに次々と登録していきたいと考えています。
set<DATA> idlist;
が、次のようなエラーが出てしまいます。
error C2667: '<' : 2 個のオーバーロード関数があいまいで最適な変換ができません。 (新しい機能 ; ヘルプを参照)
error C2593: 'operator <' があいまいです。
idの部分を、intに変えた場合はうまくいきました。
なぜ、stringにするとダメなのでしょう…?
何かご存知の方がおられましたら、ご教授の程お願いいたします。
0010デフォルトの名無しさん
NGNGbool operator<(DATA const &a, DATA const &b){
return a.id < b.id;
};
ってか、stringのあとにちゃんと空白を入れろと。
0011デフォルトの名無しさん
NGNGありがとうございました。できました。
template宣言いらないのか…
空白をTABにしていたので、消えちゃいました;;
次から気をつけます(^^)ゞ
0012デフォルトの名無しさん
NGNGVisual C++ 6.0 Professional Editionで作ったものって売っても問題ないの?教えてください
使用許諾書のを読んだけど、問題ないみたいが。
0013デフォルトの名無しさん
NGNGネット上で拾ったDLLモジュールのソースをコンパイルして使用したいのですが
VCTK2003+PSDKの環境で
VCTKの方のコンパイラを使用してます
cl /c AutoAcce.cpp
link /dll AutoAcce.cpp /DEF:AutoAcce.def
それで以下の結果に終わってしまいます。
何がいったい原因なんでしょうか?
Creating library AutoAcce.lib and object AutoAcce.exp
AutoAcce.obj : error LNK2019: unresolved external symbol __imp__KillTimer@8 referenced in function "void __stdcall DefaultEquip(struct HWND__ *,unsigned int,unsigned int,unsigned long)" (?DefaultEquip@@YGXPAUHWND__@@IIK@Z)
AutoAcce.obj : error LNK2019: unresolved external symbol __imp__SetTimer@16 referenced in function "int __stdcall OnSend(unsigned char *,int)" (?OnSend@@YGHPAEH@Z)
AutoAcce.dll : fatal error LNK1120: 2 unresolved externals
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG・開発環境を VC++ 6.0 から VC++ .NET に移行した
と、開発環境の変更だけの更新内容を見かける事があるのですが
VC++ 6.0 から VC++ .NETへ移行することで
起動の早さ等、ユーザー側に何らかの影響を及ぼすのでしょうか?
VC++素人の質問ですみません、よろしくお願いします
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGmanegedで書き直した場合なら、実行にCLRランタイムが必要になるし
起動速度なんかも大分かわってくるんじゃないの?
0018デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/B00009PJOC/qid=1093782111/sr=1-2/ref=sr_1_10_2/249-3678490-8701153
対応OS:Win2000Sv/Win2000AdvSv/Win2000Profesl/WindowsXp Home/WindowsXp Pro/Win2003Sv STD/Win2003Sv
になってるのですがMe、98では使用不可でしょうか?
0019デフォルトの名無しさん
NGNGインストール出来ません
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNGでは「インストールできます」ってことにしておきますね
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG(MRU?)
そのファイル名を取得できる方法をお教えください。
0024デフォルトの名無しさん
NGNGVC6.0付属MFCには、CWinAppのprotectedメンバにm_pRecentFileListがある。
MSDNには載ってないけど多分これ使えばいいんじゃね?
0025デフォルトの名無しさん
NGNGレジストリから漁ったりなんかしちゃったりして
0026デフォルトの名無しさん
NGNGRADIUSサーバにRADIUSプロトコルで送信し、
ユーザの認証を行うRADISUクライアント用のAPをVCで作ろうと思っています。
Active DirectoryでRADIUSを叩けるという話を聞きまして、
調べてみたのですが、ADSIでActive Directoryにアクセスするという所までわかったのですが、
具体的にどのようなことをすれば良いのかわかりませんでした。
そこでみなさんの知恵をお借りしたいのですが、ご存知無いでしょうか?
参考になるサイト、書籍やアドバイスがございましたら、ご教授くださいませ。
宜しくお願い致します。
開発環境は
Windows2000pro
Visual Studio.NET
です。
0028デフォルトの名無しさん
NGNG俺の脳内ソースだと、ProはOKなはず
0029デフォルトの名無しさん
NGNGその画面には、[OK]ボタンがデフォルトボタンになってます。
また、リストビューが表示されています。
このリストビューを、サブクラス化してエンターキーを押した場合に、
ダイアログを出そうと考えています。
ところが、エンターを押すとデフォルトボタンの[OK]が実行されてしまいます…
どうしたらいいでしょうか…
試しに、スペースキーを入れてみましたが、スペースはうまくいきます。
サブクラス化した一部です。
switch(message) {
case WM_KEYDOWN:
switch(wParam){
case VK_RETURN:
MessageBox(hWnd, "えんたー", NULL, MB_OK);
break;
case VK_SPACE:
MessageBox(hWnd, "すぺいす", NULL, MB_OK);
break;
:
:
0030デフォルトの名無しさん
NGNGOnOK()
で
//CDialog::OnOK();
とコメントアウトする
適当な処理をそこに足す
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG#include<stdlib.h>
int main(void){
FILE *fp;
if((fp=fopen("sintai.dat","w"))==NULL){
printf("File not open\n");
exit(1);
}
int i;
struct sintai {
char *name;
int height,weight;
};
static struct sintai a[]={
{"nagata" ,180, 85},
{"nisimura" ,185, 95},
{"nakanisi" ,175, 80},
{NULL,0,0}
};
for (i=0 ; a[i].name != NULL; i++){
printf("%s\t%d\t%d\n",a[i].name,a[i].height,a[i].weight);
fprintf(fp,"%s\t%d\t%d\n",a[i].name,a[i].height,a[i].weight);
}
return 0 ;
}
これはstruct sintai a[]を初期化してsintai.datへ書き出すプログラムですが
これの逆をする場合、つまりsintai.datが 先に与えられている条件でsintai.datを読み込んで
struct sintai a[]へ代入する場合はどうすればいいでしょうか
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGメモ帳を終了させてから notepad.exe をバイナリエディタで読み込み保存しろ
003628
NGNGすみません。環境説明が足りなかったです…
おっしゃるとおり、SDKなのでOnOKの処理はありません。
デフォルトボタンはリストビュー以外では有効にしておいて
リストビューでのエンターに対してのみ、ダイアログを表示したいのです。
この手の動きをするアプリはいくつかあるので、実現可能なはずなのですが…
0037デフォルトの名無しさん
NGNG教えてください。
m(__)mお願いします。
0038デフォルトの名無しさん
NGNG自分で.cppファイル解析して書くしかない。
ヘッダ間違って消したのか?
0039デフォルトの名無しさん
NGNG他の人が作ったファイルの機能などを取り込みたい、
でもそっちにもメインウィンドウがあってしかも機能がウィンドウに密着している(と思う)
このウィンドウは全然要らないので
必要な関数だけを読んでコードを書きました。
コンパイル、ビルドにはエラーはありません。
実行時に
Debug Library
Debug Assertion Failed!
というエラー
多分メインウィンドウが重複しているとかだと思うのですが..
もっと詳しく書かないとアドバイスもらえませんかね。
0040デフォルトの名無しさん
NGNGAssertしたならその行がわからないと。
「再試行」でその行に止まるからそれを見て自己解決か再投稿。
ソース抜き出し再利用とかでは気をつけないとよくある。
0041デフォルトの名無しさん
NGNGコピー前にクリップボードに "retun 1;"がはいっていて
"hoge()"を選択して
おそらくCtrl+Cを押すと
retun 1;hoge()
がクリップボードに入ってる時がたまにあるんだわ。
これって、Ctrl+C以外を押したときになるの?
それとも、VC以外の機能?
004241
NGNGVC6
WindowsNT4
です。
他に常駐は「紙」
インストールしているエディタは、
秀丸と
EmEditorと
サクラエディタと
xyzzy
です。
0043デフォルトの名無しさん
NGNGVC++のエディタ上での事?
0044デフォルトの名無しさん
NGNGはい。
ショートカットキーでコピペすると
たまに、古いクリップボード内容がくっついてるんです。
何か別のキーを押してたのかもしれません。
そんな機能ってあります?
0045デフォルトの名無しさん
NGNG(´ー`)y−〜〜
0046デフォルトの名無しさん
NGNG今、数十回やってみたけど、そんな事一度も起こらんよ。
とりあえず、SPはあててるの?
0047デフォルトの名無しさん
NGNGこれって違法ですよね?
004829
NGNGデフォルトボタンをやめて確認しようとしたところ、
VK_RETURNに入りませんでした!
つまり、デバッガで、VK_RETURNとVK_SPACEのMessageBoxにブレイクポイントしても
スペースは止まるが、エンターだと止まらないのです…
調べてみたのですが、MFCの場合は「PreTranslateMessage」を使う
ということはわかったのですが、SDKの場合はどうすれば良いのでしょう?
0049デフォルトの名無しさん
NGNGどうすればよいのでしょうか?
0050デフォルトの名無しさん
NGNGアプリ作れますか?
作れるか作れないかで結構です。
それによって、VCかBCBにするか決めるので・・・
0051デフォルトの名無しさん
NGNGよいのでしょうか?
#include<A>
#include<B>
#include<C>
A,B,C全て異なるフォルダから参照することはできますでしょうか?
0052デフォルトの名無しさん
NGNG意味わからんがとりあえず貼っとく。
ttp://forums.belution.com/ja/vc/000/262/27.shtml
0053デフォルトの名無しさん
NGNG出来る。
でもBCBの方が遥かに楽。
でも仕組み知っておきたいならMFCか。
BCBは、これ以上バージョンアップしない予感だし
仕事ではVCが遥かに多い。
とりあえず
両方知っとけ。
0055デフォルトの名無しさん
NGNGエクスプローラ上で、ファイルやフォルダのアイコンの上で右クリックすると、
「開く」「印刷」「検索」などの項目で構成されるメニューが表示されますよね。
項目を非表示させる、あるいは項目名が灰色表示で選択できない、というプログラムを
作りたいです。
イメージとして、作りたいと思うプログラムが起動されているとき、項目の非表示、
あるいは灰色表示で選択できなくなり、起動されていないときは普通に表示されて
選択ができる、というものです。
VCのシェルプログラミングに関するサイトをいろいろ見たのですが、イメージに
ぴったり合うサイトが発見できませんでした。
メニューに項目を追加する、というものならたくさんありましたが…。
どなたかやり方、あるいは参考リンクをご存知でしたら教えてください。
0056デフォルトの名無しさん
NGNGEnableMenuItem(item, MF_GRAYED);
005755
NGNGありがとうございます。
それで、関連して2つ質問があります。
(1)EnableMenuItemの第一引数に設定する情報ですが、afxres.hをインクルードして、
ID_FILE_XXX、又は、ID_EDIT_XXXで始まる定数を設定すればよいですよね?
(2)作りたいと思うプログラムは、MFCのダイアログベースでやりたいです。
試しに新規にプロジェクトを作成後、クラスウィザードでOnRButtonDownを追加して、
以下のように組みました。
(例:ファイルを右クリックしたときに、「開く」を無効にしたい場合)
void CClickDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
CMenu *hMenu;
CWnd* cwParent = GetParent();
DWORD dwStyle = cwParent->GetStyle();
hMenu = cwParent->GetSystemMenu(FALSE);
hMenu -> EnableMenuItem(ID_FILE_OPEN, MF_GRAYED);
CDialog::OnRButtonDown(nFlags, point);
}
上でビルドして実行ファイルが立ち上がっている状態で、あるテキストファイルのアイコン上で
右クリックしました。
しかし、「開く」の項目が無効になりませんでした。
これは、ソースの組み方そのものがおかしいのでしょうか?
ダイアログベースでできるのであれば、プロジェクト新規作成後からの手順を
教えていただけたらうれしいです。
0058デフォルトの名無しさん
NGNGちょっと意図する事がよく分からないんですが、
要するに、自分の作ったプログラムから
エクスプローラのポップアップメニューを制御したという事ですか?
↓にシェル関係の情報が紹介されてるので参考までに。
ttp://www.asahi-net.or.jp/~GV4J-SGUR/narik/susucyu.htm
0059デフォルトの名無しさん
NGNGjavaはそれなりに出来ますがc++自体初心者です。
MFCアプリケーションだとすでに、ヘッダーファイルやcppファイルなどが
作られていますがその中の文法がわかりません。
2,3さつ本持っていますが、どれもコンテンツの加え方みたいなものしか書いていません。
中で何が行われているかわからないと、この先壁にぶち当たるような気がしていて
とりあえず、中でどういう順番で何が行われているか理解しようと思っています。
こういう自分にお薦めのvisual c++.netの本がありましたら教えていただけないでしょうか?
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG自分も最初はMFCどころかC++の文法も分からなかったけど
C/C++の文法を覚えてからMFCでのプログラミングを練習したよ。
最初は、ホント滅茶苦茶なコードしか書けず何度何度も破綻したけど、
色々な書籍やサイトなどの文献を読み漁って(時には2chでの質問も)
諦めずにやっていたら、いつの間にやらそれなりにまともなコード書けるようになってたよ。
今では、公開しているソフトがそこそこ評価してもらえるくらいになったよ。
ちなみに、自分で「まとも」だと思えるアプリが作れる様になるまで3年くらいかかったけどね…
006362
NGNG>こういう自分にお薦めのvisual c++.netの本がありましたら教えていただけないでしょうか?
ごめん、ここの部分のレスがなかったね…
う〜ん、自分の場合は書籍よりもWebの方が有意義な情報が多かったような気がするなぁ。
0064デフォルトの名無しさん
NGNG1冊目 MFCによるWindows95プログラミング
ウィザードの吐き出したソースの変更ではなく
1からスクラッチでソースを起こす方式で
SDK的にMFCを解説
Win32APIの知識は無くても読める
C++の知識は必要
2冊目 MFCアンサーブック
前半にドキュメントビューアーキテクチャの解説がある
MFCのフレームワークが理解出来る
0065デフォルトの名無しさん
NGNGMFCによるWindows95プログラミングは、MFCによるWindowsプログラミングとして、改訂版がでてますよ。
0066デフォルトの名無しさん
NGNGソースファイル
|_MainFrm.cpp
_SOFT.cpp
_SOFTDoc.cpp
_SOFTView.cpp
_stdafx.cpp
ヘッダーファイル
|_MainFrm.h
_Resource.h
_SOFT.h
_SOFTDoc.h
_SOFTView.h
となっていて、MainFrm.cppの中でCMainFrame::OnCreateやCMainFrame::PreCreateWindow
など、MainFrm.hの中にあるメソッドについて何か操作をしているようですが、
これは一体何をしているのでしょうか?
あと、上記のソースファイルの中ではclassが定義されていませんが、classがある時と
ないときで何が変わるのでしょうか?
006766
NGNGあ‥メソッドを上書きしているのですか?
006855
NGNGやりたいことはそのとおりです。
教えていただいたURLですが、実はシェルプログラミングの別件の調査で、
少し前に発見していました。
コーディングをするならEnableMenuItemを使うのではなく、レジストリ操作で
やる方法になるんですか…。
0069デフォルトの名無しさん
NGNG単純なテストプログラムを作ってみたんですが、どうもうまくいきません。
どうすればいいか教えて下さい。
説明が難しいのでワークスペースごとUPしてしまいました。
ごく短いVC++6、WinAPIのプログラムです。
ttp://gamdev.org/up/img/1157.zip
こんな事も分からない俺…orz
よろしくお願いします。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG意図的に作られたものではないにせよ、実質ウィルス。
007269
NGNGそうじゃなくてアフォプログラムでPCバグったとか
そういう意味だったらすいません。。。
0073デフォルトの名無しさん
NGNG007469
NGNG新しいのをUPしようとしたけど(どっちにしろまともに動かないけど)
やっぱ恥かしいので止めときます。
>>70>>71
とりあえず氏ね。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGマウスボタンON時は、マウスポインタが矩形内にあるか判断した上でフラグをTRUEにする。
マウスボタンOFF時は、フラグをFALSEにする。
で、その変数がTRUEの場合だけ、マウス移動と連動して矩形を移動させれば良いのでは?
007769
NGNG69でUPしたのはなんだかでたらめのやつをUPしてしまったんですが
76と同じ意味の事をやってるつもりのバージョンでもできないんですよねぇ。
WM_MOUSEMOVEは使いたくないし。。。
0078デフォルトの名無しさん
NGNGどの辺りが分からないのかをハッキリさせないと
多分誰も答えてくれないと思うよ。
0079デフォルトの名無しさん
NGNG標準出力の起動しないアプリケーションで
よくprintfが描いてあるのですが、これはどういった効果のためでしょうか?
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNGデバッグのときだけ認識するようですがこれはなんなのでしょうか
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNG標準出力の起動しないってどういう意味だ?
デバッグ用の出力だろ。
コンソールアプリでなくても標準出力はできるぞ。
パイプ開くツールから起動してログ取ったりする。リダイレクトも出来るだろ。
008469
NGNGすいません。昨日の部分はうまくいったんですが別の問題が発生したので改めて、、、
APIで矩形を描いてそれをマウスで掴んで動かす実験をしてます。
GetAsyncKeyStateでマウスボタンの押下状態を取得してるんですが、
外からボタンを押したまま矩形に接しただけでも矩形を掴めてしまって困ってます。
(連射しながら近づいているような扱いになっているためフラグとか使うのも無理っぽい)
ウィンドウメッセージのswitchを使わずに、
きちんと矩形内でマウスボタンを押下する以外には掴めないようにできないものでしょうか?
なにか方法があったら教えてください。お願いします。
↓ソースです。(VC6++です)
ttp://gamdev.org/up/img/1162.zip
0085デフォルトの名無しさん
NGNGstatic int oldX,oldY;;
static bool bDrag=false;
//左ボタンが押されてたら移動
if(bDrag) move(mouseX-oldX,mouseY-oldY);
if (GetAsyncKeyState(VK_LBUTTON) & 0x8000){
//カーソルが矩形内にあるかどうか判定
if (mouseX>=wndX && mouseX<=wndX+wndW &&
mouseY>=wndY && mouseY<=wndY+wndH){
bDrag=true;
}
}
else bDrag=false;
oldX=mouseX;
oldY=mouseY;
0087デフォルトの名無しさん
NGNGif (!bDrag&&GetAsyncKeyState(VK_LBUTTON) & 0x8000)
0088デフォルトの名無しさん
NGNGあだめだ
0089デフォルトの名無しさん
NGNGint oldX,oldY;;
static bool bDrag=false,bFst=false;
//左ボタンが押されてたら移動
if(bDrag) move(mouseX-oldX,mouseY-oldY);
if (!bFst&&GetAsyncKeyState(VK_LBUTTON) & 0x8000){
bFst=true;
//カーソルが矩形内にあるかどうか判定
if (mouseX>=wndX && mouseX<=wndX+wndW &&
mouseY>=wndY && mouseY<=wndY+wndH){
bDrag=true;
}
}
else{bFst=bDrag=false;}
oldX=mouseX;
oldY=mouseY;
0090デフォルトの名無しさん
NGNG|_A.h
|_B.h
とあって、ヘッダーファイルAの中ではclass Aが定義されていて、ヘッダーファイル
Bの中ではクラスBが定義されています。
ここで、
#include "B.h"
class A : public BとしてクラスBを継承したいのですが
どうしても、C2054 の「定義されていない基本クラスが宣言されています」の
エラーが出てしまいます。
逆に、ためしに
#include "A.h"
class B : public A
とやると、エラーはでません。この理由がわかりません。この場合クラスAとBの
違いは何が考えられるでしょうか?
0091デフォルトの名無しさん
NGNGif (!bFst&&GetAsyncKeyState(VK_LBUTTON) & 0x8000){
bFst=true;
//カーソルが矩形内にあるかどうか判定
if (mouseX>=wndX && mouseX<=wndX+wndW &&
mouseY>=wndY && mouseY<=wndY+wndH){
bDrag=true;
}
}
else if(bFst){bFst=bDrag=false;}
0092デフォルトの名無しさん
NGNG恐らくだが、
先行宣言 でぐぐれ
009392
NGNG0094デフォルトの名無しさん
NGNG原因を突き止めるためにsimplifyしてみたら?
----- A.h -----
#include "B.h"
class A : public B {};
----- B.h -----
class B {};
ここまでやれば通るでしょ?
009669
NGNG色々お世話様でした。助けてくれた方ありがとうございました。
0097初心者
NGNG目的は、すでにあるテキストファイルを次々に読み込んでその中の一部のデータだけを
まとめて一つのファイルに出力したいのですが・・・、
次々にファイルを読み込む命令で,
fpopen(fp,"ファイル名+number","r");
みたいな形でnumberの部分for文で次々に変えていきたいのですが
うまくいきません(T_T)
strcatやstrcpyを使うことは考えたのですがint型はchar型では渡せないとかなんとかの
エラーが・・・。雑な説明ですがどうぞご教授願います。
0098デフォルトの名無しさん
NGNGsprintf
0099初心者
NGNG試してみます!
ご返事ありがとうございます!!
0100デフォルトの名無しさん
NGNGそんなに難しい事かな?
以下のコードで出来るよ(確認済み)。
static POINT BoxPos;
static POINT OldCurPos;
static BOOL DrgFlag;
POINT CurPos;
GetCursorPos(&CurPos);
ScreenToClient(hWnd, &CurPos);
if(GetKeyState(VK_LBUTTON) & 0x80){
if(!DrgFlag){
if(CurPos.x >= BoxPos.x && CurPos.x <= BoxPos.x + 64 &&
CurPos.y >= BoxPos.y && CurPos.y <= BoxPos.y + 64){
DrgFlag = TRUE;
OldCurPos.x = CurPos.x - BoxPos.x;
OldCurPos.y = CurPos.y - BoxPos.y;
}
}
}else{
DrgFlag = FALSE;
}
if(DrgFlag){
BoxPos.x = CurPos.x - OldCurPos.x;
BoxPos.y = CurPos.y - OldCurPos.y;
}
0101デフォルトの名無しさん
NGNGA1.cpp
ヘッダーファイル
B1.h
をビルドするとエラーが出ませんでした。後にソースファイルにA2.cppを追加したらエラーが
でました。そしてその後A2.cppを消して再ビルドすると以下のエラーが出て
どうしても解決しません。
error LNK2020: 未解決のトークン
fatal error LNK1120: 外部参照1が未解決です。
調べると、変数が見つからないという類のエラーらしいのですが、だとしたら
一度通ったコードが通らなくなる理由がわかりません。
誰か教えてください!
0103100
NGNGああ、それが問題だったのね… 解決したなら、もう必要ないとは思うけど
以下修正コード。ちょっと汚いけど。
BOOL GetLBtnState(void)
{
static BOOL flag = FALSE;
if(GetKeyState(VK_LBUTTON) & 0x80){
if(!flag){ flag = TRUE; return TRUE; }
}else{
flag = FALSE;
}
return FALSE;
}
void Main(void)
{
static POINT BoxPos, OldCurPos;
static BOOL DrgFlag;
POINT CurPos;
GetCursorPos(&CurPos);
ScreenToClient(hWnd, &CurPos);
if(!DrgFlag && GetLBtnState()){
if(CurPos.x >= BoxPos.x && CurPos.x <= BoxPos.x + 64 &&
CurPos.y >= BoxPos.y && CurPos.y <= BoxPos.y + 64){
DrgFlag = TRUE;
OldCurPos.x = CurPos.x - BoxPos.x; OldCurPos.y = CurPos.y - BoxPos.y;
}
}else if(DrgFlag && !(GetKeyState(VK_LBUTTON) & 0x80)){
DrgFlag = FALSE;
}
if(DrgFlag){ BoxPos.x = CurPos.x - OldCurPos.x; BoxPos.y = CurPos.y - OldCurPos.y; }
}
0104デフォルトの名無しさん
NGNGあるダイアログボックスの中に、Edit Controlを4つ、ボタンを1つ用意し
ボタンを押した瞬間に、Edit controlに入れられた値をパラメータとする四角形
をビューウィンドウに描画するようにしたいのですが、
Onpaint関数だと、ボタンを押した瞬間には描画してくれません。
又、Invalidate();を使うとビューウィンドウではなく、ダイアログボックスの中に
描画されてしまいます。
何か良い方法はありませんでしょうか?
0105デフォルトの名無しさん
NGNG0106104
NGNGvoid CChildView::OnBnClickedOk()
{
Invalidate();
OnPaint();
}
ボタンが押された時に呼び出される関数OnBnClickedOk()の中で上のように
書くとダイアログボックスの中に描画されてしまいます。
RedrawWindow()やupdatewindow()でもうまくいきません。
OnBnClickedOk()メソッドの中で再描画をコードしてはいけないのでしょうか?
0107デフォルトの名無しさん
NGNGOnPaint()が、CChildViewのメンバ関数だからじゃね?
描画すべき親の関数を呼び出してみては?
0108デフォルトの名無しさん
NGNG矩形表示用のウィンドウと値設定用のダイアログがあるのかな?
それなら値を格納する変数はとりあえずグローバルにしておいて
ダイアログのボタンを押したときに表示用ウィンドウ側に、
WM_PAINTメッセージでも送ってやったらどうだべ?
で表示用ウィンドウ側ではそのデータを元に矩形を描くと。
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNGcout <<を使えば、そこを通る値が確認できデバッグしやすいのですけど、
MFCでコレに近いことってできませんかね。
ある場所を通る値を簡単に出力できるような方法がないですかね?
0111デフォルトの名無しさん
NGNGtrace
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNGバイナリリソースにして埋め込んでは伺か?
0114109
NGNG0115デフォルトの名無しさん
NGNGというのは、どこまで制御が及ぶんですか?
#pragma once
#include "a.h"
#include "b.h"
#include "c.h"
だと、"a.h" "b.h" "c.h"全てに制御されますか?
0116デフォルトの名無しさん
NGNGLoadResource(hModule, FindResource(hModule, lpName, lpType));
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNGできました。ありがとうございます
0119デフォルトの名無しさん
NGNG挟むんですか、なるほど。
ありがとうございます。
0120デフォルトの名無しさん
NGNGMDIのプログラムで別スレッドで1秒ごとにデータを受けながらそれを表示する
というようなプログラムを作っていたのですが、たまにその表示が固まってしまい
更新しなくなってしまいました。(このときCPU稼働率が100%になっていた)
これは 「for」もしくは「while」の条件文がどこかでおかしくなっている、と判断して
よいのでしょうか?
上の二つ以外にも可能性がありえるとしたら教えてください。
Win2k/VC6++
0121デフォルトの名無しさん
NGNG↓
0122デフォルトの名無しさん
NGNGそうじゃないの?
0123デフォルトの名無しさん
NGNG直接コーディングでSetDlgItemText(hdc,IDC_A,"aaaa\r\naaa")
とすると自動で改行表示さます。
しかし、別のエディットボックスに同じように「aaaa\r\naaa」と手で入力し、
それをGetDlgItemTextして、
その文字列をIDC_Aにセットすると改行されないのは
どういう仕組みなんでしょうか。
0124デフォルトの名無しさん
NGNGsinやcos、tanを使いたいのですが、
error C2668: 'sin' : オーバーロード関数の呼び出しを解決することができません。
などというエラーが出てしまいます。
変数=sin(数値);
という形にしているのですが使い方が違うのでしょうか?
0125デフォルトの名無しさん
NGNG数値の型がまずいんじゃね?
0126デフォルトの名無しさん
NGNG前者はキャリッジリターン(0x0d)と改行(0x0a)の文字コードになる。
後者はただの「\r\n」という文字列。
0127デフォルトの名無しさん
NGNGkakudo(float型)=sin(20);
という形にしていますが、PIも使えないようなのでラジアン云々の計算すらできないです。
0129デフォルトの名無しさん
NGNGoops..
ありがとうございます。
sin・cos・tanはエラーが出なくなりました。
・・・その中に使う円周率のPIが使えないのですが、PIの前後に何か付くのでしょうか?
error C2065: 'PI' : 定義されていない識別子です。
3.14159・・・でも誤差は僅かなのですがほぼ正確な円周率を使いたいです。
0130デフォルトの名無しさん
NGNGttp://www1.coralnet.or.jp/kusuto/PI/super_pi.html
自分で求めれ
0131デフォルトの名無しさん
NGNG自分でやらないと駄目なのか(;´Д`)
0132デフォルトの名無しさん
NGNG#define PI 3.141592653589793
とツールチップでヒントが出るので、どっかに定義されてはいるみたいだな
ただ、どのヘッダーをincludeすれば良いのかは分からない・・・
(なら、ヒント出すなよ・・・)
0133デフォルトの名無しさん
NGNGソースコード中の「\r\n」と通常(この場合エディットボックス)の「\r\n」は意味が違うよ。
エディットボックスに入力された「\r\n」はプログラムと違ってエスケープシーケンスとして認識出来ないよ。
だから、エディットの「\r\n」はコード上での「\\r\\n」と同義になるよ。
0134デフォルトの名無しさん
NGNGselectのcase内で宣言したR[][]をグローバル変数R2[][]に入れるという作業をしたいのですが
>: error C2059: 構文エラー : ']'
「R2[][]=R[][];」をするとこうなりました。
*R・R2は2×2の行列
行列の中に行列を入れると言う動作は1発でできないのでしょうか。
できないならできないで2重ループで1つずつ処理すれば大丈夫そうだけど・・
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG検索なりで探せよド素人が。
0137デフォルトの名無しさん
NGNGよろしくお願いします。
DHCP環境のWin2000/XPマシンがあります。
このマシンの
・IPアドレス
・サブネットマスク
を取得したいのですが、どのようにすればよろしいのでしょうか?
固定IPなら、gethostbynameが使えるのですよね。。。
今日一日、ネットで私なりに色々検索したのですが、分かりませんでした。
手がかりだけでも良いので、ご教授よろしくお願いします。
0138デフォルトの名無しさん
NGNGレスありがとうございます。
構造体・・・かorz
0139137
NGNGhostsファイルに自分のホスト名とIPアドレスがあれば、と言うことですよね。
そのIPアドレスが固定じゃない(hostsにIPアドレスが記述されていない)DHCP環境では、
どうしたら良いのか。。。
0140デフォルトの名無しさん
NGNGmemcpyでいいやん
0141デフォルトの名無しさん
NGNG> このマシンの
> ・IPアドレス
> ・サブネットマスク
そもそもそれ違ってるだろ
システムにアドレスがあるんじゃなくてアダプタに付いてるもんなんだから
0142デフォルトの名無しさん
NGNGmemcpy(R2,R,2)?;
0143デフォルトの名無しさん
NGNGMSDN読め
0144デフォルトの名無しさん
NGNGとりあえず組みなおした後適当に試してみます。
0145デフォルトの名無しさん
NGNG凄い質問だなw
さて問題です。織田信長はどうでしょう?
みたいな。
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGPIってどこで定義されてるか、どのようにすれば
分かるのでしょう?
0148デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNG0152147
NGNG難しそうですね。
そんなに重大問題では無いので、きっぱり諦めます。
0153デフォルトの名無しさん
NGNG#define D3DX_PI ((FLOAT) 3.141592654f)
0154137
NGNGそうですね。
では表現を正しくして、複数LANカードがささっているDHCPマシンの
・IPアドレス
・サブネットマスク
を知るには、どうすれば良いのですか?
0155デフォルトの名無しさん
NGNGttp://homepage2.nifty.com/spw/tips/GetIpTable.html
0156デフォルトの名無しさん
NGNGダイアログボックス内に配置したスタティックテキストに線を描画させることが出来ません。
スタティックテキストのIDは「IDC_CANVAS」としました。
*.exeファイルを実行すると、ウィンドウは開かずにダイアログボックスのみを開くようにしてあります。
//関係のある部分のみ抜粋
/* global変数 */
HDC hdcMemCanvas; /* キャンバスのメモリデバイスコンテキストのハンドル */
HBITMAP hbmCanvas; /* キャンバスのビットマップのハンドル */
HBITMAP hbmDefCanvas; /* キャンバスのデフォルトビットマップのハンドル */
/* ここまで */
BOOL CALLBACK DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){
/* case WM_INITDIALOG内 */
HWND hwndCanvas; /* キャンバスのウインドウハンドル */
HDC hdcCanvas; /* キャンバスのデバイスコンテキストハンドル */
RECT rectCanvas; /* キャンバスの矩形 */
/* キャンバスのためのメモリデバイスコンテキストを作成する */
hdcCanvas = GetDC(hwndCanvas);
hdcMemCanvas = CreateCompatibleDC(hdcCanvas);
ReleaseDC(hwndCanvas, hdcCanvas);
/* キャンバスのためのビットマップを作成する */
GetClientRect(hwndCanvas, &rectCanvas);
hbmCanvas = CreateCompatibleBitmap(hdcMemCanvas, rectCanvas.right, rectCanvas.bottom);
/* ビットマップを選択する */
hbmDefCanvas = SelectObject(hdcMemCanvas, hbmCanvas);
/* case WM_INITDIALOG内はここまで(以下の処理は省略) */
Draw(hWnd);
} /* DialogProcここまで */
0157156(続きです)
NGNGDraw(HWND hwndDlg){
MoveToEx(hdcMemCanvas, 30, 30, NULL);
LineTo(hdcMemCanvas, 200, 200);
SendDlgItemMessage(hwndDlg, IDC_CANVAS, STM_SETIMAGE,
(WPARAM)IMAGE_BITMAP, (LPARAM)hbmCanvas);
}
スタティックテキストの位置と、線を描画する座標は合っています。
どこがオカシイのでしょうか?ご教授願います。
0158137
NGNGうわぁー。これで解決するかもしれません!
早速試してみます。
ありがとうございます。
0159デフォルトの名無しさん
NGNGスタティックコントロールの派生クラスを作って
そこのPaintかなんかで描画した方が簡単なような
0160デフォルトの名無しさん
NGNGどうしたらいいのだろうか。処理の意味的にビュークラスやアプリクラスには入れられない。
メニュー処理、ダイアログ表示、処理実行等、ドキュメント変更にかかわるもの全てドキュメントクラス上にあります。
MFCのアプリってのはこういうものなのでしょうか?
0161デフォルトの名無しさん
NGNGhdc=GetDC(GetDlgItem(hDlg,IDC_EDIT));//(GetDlgItem(コントロールの親ハンドル,コントロールのID)
MoveToEx(hdc, 30, 30, NULL);
LineTo(hdc, 200, 200);
って感じに簡単にエディットボックス内に線が引けた。
0163デフォルトの名無しさん
NGNGバックアップできますか?
0164デフォルトの名無しさん
NGNG.cppファイルに関数の中身を書くというのはよく行うこと
なんでしょうか。
みなさんはどのようにファイルをまとめていらっしゃいますか?
かなり気になる==
もしいいサイトあったら教えてほしいです。よければお願いします。
0165デフォルトの名無しさん
NGNGテンプレート以外は普通そうしないか?
0166デフォルトの名無しさん
NGNGそんな感じで問題ないと思うけどね。
余程短いコードならヘッダに直接書いちゃう事もあるけど。
0167デフォルトの名無しさん
NGNG釣りか?
ドキュメントが処理ではなく、ドキュメントへ「通知」すると考えれば、
自然と各ビューに処理が分散される。
そもそもコマンド系がアプリやメインフレームに少なかったり、
ダイアログの処理がダイアログになかったりするなら、
なにか根本的な考え方に問題がある。
0168デフォルトの名無しさん
NGNGアプリは GetViewList/GetDocumentListとか、Application.Exit Application.Clone とかだけでいいと思うんだが。
0169デフォルトの名無しさん
NGNGレスありがとうございました。
そうですか。なんかちょっと別の方法を期待してたのですが。
でも、そうと分かればしばらくその方法でいこうと思います。
慣れるまで。
続けて質問すみません。
WM_のウィンドウメッセージをキューから削除するような関数って
有りませんか。ちょうど、SendMessageやPostMessageの逆みたいな
関数。本やリファレンス調べてみたけど見つからない。
有りそうな関数だと思うんだけど。やろうとしているのは
ウィンドウ作成時にWM_ACTIVATEを呼びだすのを止めたいのですが。
でもでも、DefWindowProcに送らなくても大丈夫か。。?
実装してるコードが気になるが、リファレンスで探してみるも
また見つからない。検索の仕方難しい。
フラグで処理すればいいかも知れないが、何かとできない処理が
見つかればすぐにフラグが思い付く私は、、、、(ry
長文スマソ。。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGSetCapture()を使ったのですが、全然WM_MOUSEMOVEとかのメッセージがきません・・・
0172デフォルトの名無しさん
NGNGtimerセットして、GetCursorPos()で監視とかではダメ?
0173デフォルトの名無しさん
NGNGマウスフック
SetCaptureはドラッグしている間しか効かなかった気がする。
0174デフォルトの名無しさん
NGNG受信したものを表示させるところで行き詰っています。
char型の受信バッファをエディットボックスにいい感じに表示するにはどーすれば良いですか?
受信バッファ rcvBuf
エディットボックスのID IDC_EDITrcv
といった感じで、
ReadFile(hComm, rcvBuf, dwCount, &dwRead, NULL);//ファイルからデータを読み取る(char)
CString aiu;
rcv = rcvBuf;
SetDlgItemText(IDC_EDITrcv,rcv);
と、今はこんな感じです。
何やら無理やりCStringにしてるんですが、charのままエディットに表示できたりしないですか?
あと、これでも表示されるんですが、0x40と16進で表示させたいにもかかわらず ・@と文字コードで表示されてしまいます。
ご覧の通り初心者ですが、何かアドバイスお願いします。
0175174
NGNGReadFile(hComm, rcvBuf, dwCount, &dwRead, NULL);
CString rcv;
rcv = rcvBuf;
SetDlgItemText(IDC_EDITrcv,rcv);
0176デフォルトの名無しさん
NGNG普通にこうじゃないの?
SetDlgItemText(IDC_EDITrcv, rcvBuf);
0177176
NGNG0179174
NGNGすんません、普通に
ReadFile(hComm, rcvBuf, dwCount, &dwRead, NULL)
SetDlgItemText(IDC_EDITrcv,rcvBuf);
で表示できますね。無駄にCStringにしてました。意味なかったっぽいです。
↑これでchar型のままエディットボックスに表示できたのはいいんですが、
やはり、文字コードの・@と表示されてしまいます。
ちなみに、
SetDlgItemInt(IDC_EDITrcv,dwCount);
とすると、16と表示され、受信データは16バイトのはずなのですが、先頭の40しか表示できていないのも気になります。
まずは@の文字コードを40と表示できるようになってから16バイトすべて表示させてやろうと考えております。
何度も書き込み申し訳ありません。
0180デフォルトの名無しさん
NGNG通常の数字やアルファベットはそのまま表示して、特定のコードだけ
16進で表示しようとしてるんかね?
01815歳の女をレイプマン SS
NGNG0183デフォルトの名無しさん
NGNG>>172さん>>173さん
どうもありがとうございました。
フックでやってみます
0184179
NGNG>通常の数字やアルファベットはそのまま表示して、特定のコードだけ
>16進で表示しようとしてるんかね?
そうです。
@にならないように、0x40、もしくは40とエディットボックスへ表示するにはどうしたら良いでしょうか。
0185デフォルトの名無しさん
NGNGsprintf(mojiretu, "0x%x", suuji)
0186184
NGNGReadFile(hComm, rcvBuf, dwCount, &dwRead, NULL)
sprintf(rcvBuf,"0x%x",rcv)
SetDlgItemText(IDC_EDITrcv,rcv);
ということでしょうか。
何はともあれアドバイスありがとうございます。
現在は開発環境が無いため、明日朝一でアドバイスを元に試行錯誤してみます。
0187デフォルトの名無しさん
NGNG逆だよ。一桁づつしか変換できないし。
sprintf(rcv, "%#x", rcvBuf[0])
SetDlgItemText(IDC_EDITrcv, rcv);
0189デフォルトの名無しさん
NGNG1、 TypeA& func() { return *new TypeA; }
2、 game->fire(new CBullet(iX+12,iY-6,0,-10,game));
↑のコードはどっちもネットで見つけたものなんですが、どこにもdeleteが書いてないんですがこれってメモリリークにならないんですか?
0190デフォルトの名無しさん
NGNGただ、際限なく増えつづけるような悪質なものとは限らない。
後者はfireの中でdeleteしてるかもしれないしなんともいえない。
0191デフォルトの名無しさん
NGNGレスどうもです。
やっぱりリークするんですか。
ネットに載せるくらいだから間違いないんだろうな〜と思ってたんですが、そうでもないみたいですね・・・。
すっきりしました。
0192デフォルトの名無しさん
NGNGリークするかどうかは、newのオーバーライドやその後のコードによるんだよ。
参照にしたものからわざわざポインタを取り出してdeleteする事もできるし、
ヒープ以外から確保するようにnewをオーバーライドしているかもしれない。
ついでに言えば使い方次第ではdeleteしなくても間違いじゃない。
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGウィンドウを作らずにダイアログボックスのみを開くプログラムを作成しています。
プログラム実行と同時に線を描画させたいのですが、上手くいきません。
・global変数として「HDC hdc_field」を作成。
・ダイアログプロシージャ関数の case MW_INITDIALOG 内で hdc_field = getDC(hWnd);
�@↑のgetDCの命令の下に、線を描画させる関数を配置。
�A線を描画させる関数を、ダイアログボックスに配置したボタンを押したときに呼ぶ関数内に配置
�Aでは線が描かれるのですが、�@では線が描かれません。
同じ関数を呼び出しているのに、どうしてなのでしょうか?
また、プログラム実行と同時に線を描画させるにはどうしたら良いのでしょうか?
(ウィンドウを開くプログラムではこのような問題は生じなかったのですが…)
よろしくお願いします。
0195デフォルトの名無しさん
NGNGWM_INITDIALOGが送られてくる時点ではまだダイアログは画面に表示されてないから何描いても無駄。
WM_PAINTに処理書くとか、WM_INITDIALOGでWM_APP+nをpostしてそこで描くとか。
0196デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGこれからVC++とMFCというやつで色々作って行こうと思ってます。
ベクターとかで公開してそこそこダウンロードしてもらえる様な物を作るのが当面の目標です。
この版見ているとMFCが難しいと言う意見が多いんですが
実際自分でちゃんとしたアプリが作れる様になるには平均的にどのくらいかかるもんなんですか?
その辺は人によりけりだというのは百も承知ですが
参考までに最低でもこの位の期間が必要だというのを教えていただければ幸いです。
0199デフォルトの名無しさん
NGNGMFC使った事なくても、JavaAppletとかで画面イベントに慣れていれば1ヶ月くらいでいけるかも。
0200198です
NGNGレスどうもです。
下積みですか。でも自分は下積みどころかプログラムするのも初めてなんですよ・・
こんな感じだとやっぱり結構時間がかかるんでしょうね・・
それともう一つお聞きしたいのですが
ボーランドのC++ビルダーとかは使いやすいと言う意見が多いのですが
具体的にどの辺がMFCと比べて使いやすいのか教えて頂けると助かるのですが。
場合によってはそちらの方に乗り換えようかとも考えていますので。
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGそういう考えかたならVBを勧める
0203デフォルトの名無しさん
NGNGVC買ったけど使えなくて挫折する
どっちもよく聞く話
0204デフォルトの名無しさん
NGNG相当に時間がかかるし、エネルギーも必要。大抵の人は挫折を途中にはさみ
ながら、紆余曲折を経て目的に到達というところだろう。
趣味でなく、学生とか仕事だとしたら、向けられるエネルギーも多いだろうから
一気に行ける場合もあるかも知れない。
いずれにせよプログラミングってのは、ただパソコンいじるのと別次元の難しさ
があるから、あんまり甘い期待を持たないことだ。
0205デフォルトの名無しさん
NGNG#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
を書けばうまくいくのですがBorland C++だとうまくいきません。
リンクができないところが原因だと考えています。設定の仕方を教えてください。
また時間の精度として1msを必要としていてマルチメディアタイマーを使っています。
もし他に何かいい方法をご存知でしたら教えてください。詳しくお願いします。
0206デフォルトの名無しさん
NGNG厚かましいお願いなんですが、VC++6.0のMSDNコレクションのCDの中身を
アップしてくださいませんか?ヘルプが使えなくて困っています。
だめならそのCDが売っている所を教えていただけると嬉しいです。
0207デフォルトの名無しさん
NGNGBorland C++の事など知ったこっちゃありません
0208デフォルトの名無しさん
NGNGパフォーマンスカウンタ使えば?
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNGもしよければなにか具体的に使用したプログラムの例はありますか?
0211デフォルトの名無しさん
NGNG#include <iostream>
#include <windows.h>
using namespace std;
int main(void)
{
LARGE_INTEGER freq, now, old;
UINT r = 60;
QueryPerformanceFrequency(&freq);
while(!(GetKeyState(VK_RETURN) & 0x80)){
cout << "fps: " << r << endl;
QueryPerformanceCounter(&now);
while(now.QuadPart - old.QuadPart < freq.QuadPart / r){
QueryPerformanceCounter(&now);
}
QueryPerformanceCounter(&old);
}
return 0;
}
0212名前は開発中のものです。
NGNG犯罪を犯せというお願いですか。
凄いですね。
厚かましいとかいう次元の問題ではないですね。
夏ですね。
0213デフォルトの名無しさん
NGNG>>3
0214デフォルトの名無しさん
NGNG親切にしていただきありがとうございます。試してみます。
0215206
NGNG秋葉原を探してみます。
0216デフォルトの名無しさん
NGNGだから、なんで>>3じゃダメなんだ?
0217デフォルトの名無しさん
NGNGBorland C++ではまたエラーがでてしまいました。>>211さんはVisual C++ですか?
もしBorland C++でのやり方を知っていたら教えてください。
0218デフォルトの名無しさん
NGNGVisual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
0219デフォルトの名無しさん
NGNGMFCとかATLは無理だけど、PlatformSDKのドキュメントなら
PSDK Updateについてくるからそれ使えよ。
他のが見たければMSDN Library Online使うしかないけど。
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGみなさんがプログラミングを始めたきっかけとかどういった感じに勉強したかを教えてください。
0222デフォルトの名無しさん
NGNG当然まず環境から揃えなきゃならんけど。
0223デフォルトの名無しさん
NGNGべーマガを書店で見掛けたから。
0224デフォルトの名無しさん
NGNG消防のころ電気屋でパソコンを見て欲しくなった。
買ってもらえなかったんでチラシの裏にBASICでプログラム書いてた。
(チラシの裏でゲームはできなかったので。)
0225デフォルトの名無しさん
NGNGとりあえず入れ物から行く人が多いんじゃないかな?
まずVC買って、自分のカネで用意したからにはそれなりにやろうという気になるし。
後は書籍だろ。他人の推薦とかより立ち読みして自分に合ったの見つける方が良い
とオレは思うけど。
0226デフォルトの名無しさん
NGNG選択した範囲のインデントを整形してくれるショートカットキーって
どうやるんでしたっけ?
なんかやり方忘れたのか、はたまた効かなくなってるのか・・・
for(;;){
a=0;
}
↓(Alt + ?)
for(;;){
a=0;
}
こうなるヤツです。
0227デフォルトの名無しさん
NGNGオプション
テキストエディタ
0228デフォルトの名無しさん
NGNG私も買ってもらえなくて(小3くらい.),
べーマガとか月刊マイコンなんか買ってリストを読んでたなぁ.
さすがに224さんみたいに処理系手に入る前に自分で書くようなことはしなかったですけど.
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNGちがうんです><
スマートインデントじゃなくて、後からインデントを一発で整形するヤツです!
みんな使わないのかなぁ・・・
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG自宅でも勉強しようとVC++.net2003を購入したんですが
Win32コンソールでソース書いて開始してもコマンドプロントが実行後すぐに
終了してしまいます。
どこか設定で終了させないようできるのでしょか?
#include <stdio.h>
void main(void)
{
printf("テストです。\n");
}
などと書いても一瞬表示されて自動終了します。
コンパイルもビルドもエラーはありません。
会社で使っているVC++6.0では表示されたあと何か
キーを押すと終了されるようなっています。
ちなみに会社も自宅もWinXPです。
0233デフォルトの名無しさん
NGNGありがとう!それを手掛かりに、
オプション→キーボード マップ スキームを「Visual Studio 6」
に設定したら直りました。
快適快適☆
0236デフォルトの名無しさん
NGNGコンパイルするには何かコツがあるんでしょうか?
いま手元にソースや環境がないので詳細な例とか
エラーメッセージとか出せないので申し訳ないんですが、
class MyClass {
template <class Type>
static bool fetchValue(Type & value);
}
こういった感じのコードをコンパイルできないんです。
gccとかVisual C++ .NETでは通るのに。。
何か関連する情報をご存じでしたら教えていただけませんか?
0237232
NGNGVC++6.0のときのようにワークスペースを切り替えできるようなものはVC++.net2003ではどのように設定すればいいのでしょうか?
ソリューションエクスプローラからスタートアッププロジェクトに設定でことをすませておりますが、
以前のようにワークスペースをメニューバーから簡単に切り替えられないものかと思います。
どうぞご教授お願いします。
0238デフォルトの名無しさん
NGNGVC6はテンプレートに完全に対応してないとか聞いたが
0239デフォルトの名無しさん
NGNGtypoだと思うけど
template <class Type>
class MyClass {
...
でしょ?
とりあえず必要十分なソースを出してくれ。
話はそれから。
0240デフォルトの名無しさん
NGNGメンバテンプレートって言ってるから>>236であってると思うけど。
0241239
NGNGなるほど、それで分かった。
VC6 はメンバテンプレートには対応してないんだ。
俺、VC6 しか使ってないから、>>239みたいのでも
メンバに使ってればメンバテンプレートって言うのかと思ってたよ。orz
>>236さん、あきらめてください。
0242デフォルトの名無しさん
NGNGただ、
MyClass::fetchValue<char>(0);
という感じで、型指定をしている場合は通らないハズ。
自動的に型を判別出来る場合は通る。
0243デフォルトの名無しさん
NGNGclass MyClass {
public:
template <class Type>
static bool fetchValue(Type & value)
{
value = Type();
return true;
}
};
int i;
MyClass::fetchValue(i);
VC++6SP6で通ったけど素直に.NETに移行した方がいいと思う。
0244デフォルトの名無しさん
NGNGメニューの所が窪んだ感じ(視覚的に)なって、動きには関係ないんですが、
どうにかあの窪み(?)を無くせませんか?
VC++2003です。
0245虎夫
NGNG割り込みによって一定時間ごとにデータを取得しております。
このとき割り込みの周波数を100[Hz]に設定すると、
プログラムは0.01秒毎にタスクを行います。
(PCのCPUが十分であると考えて)
たとえばタスクA,B,Cを割り込みの1周期に1度行うとすれば、
Aのタスクは0.01秒ごとに遂行されます。
しかし、もしBというタスクが常に2秒かかるタスクだとすれば、
それぞれのタスクは2.01秒に1回しか遂行されません。
これはあれ程度しかたありません。
現在私の悩んでいる問題は、
A,Cというタスク(1回に1msもかからない)を0.01秒ごとに
遂行して、ある条件の時にBというタスクを行いたいとすると、
今のままでは、A,Cは普段0.01秒に1度タスクが遂行されますが、
Bが遂行されるときにはタスクが2秒(Bの遂行時間)待ちが生じます。
こんなとき、BをA,Cとは並列に遂行させ、
常にA,Cを0.01秒ごとに遂行させるにはどうすればよいでしょうか?
(ここで、Bが遂行中に次のBの命令がくることはないとします。)
0246デフォルトの名無しさん
NGNG>MyClass::fetchValue<char>(0);
>
>という感じで、型指定をしている場合は通らないハズ。
げ、まさにそれです。
>>243
みたいに <> を付けないで呼び出せばよかったんですね。
情報ありがとうございました!
ただ、
class MyClass {
public:
template <class Type>
static Type fetchValue(const MyInstance & instance, const string & key);
};
int i = MyClass::fetchValue<int>(instance, key);
こんなことはVC++6ではできないということなんですよね。。。
0247デフォルトの名無しさん
NGNG>こんなことはVC++6ではできないということなんですよね。。。
うむ。
VCToolKitとか、VC2005Expressβとか落として使ってみるのも手だけど、
おそらく、たくさんコードを書き換えないと動かない予感......
0248デフォルトの名無しさん
NGNGプログラミング以前の問題
0249デフォルトの名無しさん
NGNGA,Cの処理は10ms以内に収まるのであれば割り込みトリガそのもので
シーケンシャルに動かして、Bの処理は割り込みトリガからスレッド起動で
処理するとか。A,CとBは同期してる必要がなければ、ね。
0250デフォルトの名無しさん
NGNG何かサンプルコードとかがあって、わかりやすいHPあれば教えて下さい。
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG�d。勉強してきま
0254デフォルトの名無しさん
NGNG最適は人によってそれぞれ。
よって答えることは不可能。
0255デフォルトの名無しさん
NGNG例えば、coutで"数値を入れてください"と表示させて
数値を入れた後に"数値を入れてください"の部分が消え
数値を入れた後の答えだけがでるようにするにはどうすればいいのでしょうか?
それとdos画面でreturn 0;とcoutの間に改行を入れるにはどうしたらいいですか?
ご教授お願いします。
0256デフォルトの名無しさん
NGNG完全なスレ違い
それはVisual C++ではなくてC++
0257デフォルトの名無しさん
NGNGsystem("cls");
0258デフォルトの名無しさん
NGNG失礼しました。
>>257
できました!!ありがとうございます。
0259偏差値37
NGNGプログラミング経験は無いです。
よろしくおねがいします。
0260デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_core_.2f.o.asp
の/Oオプションって複数していできるんですか?
例えば「/O2 /Ot」とか?
0261デフォルトの名無しさん
NGNGただし、組み合わせによっては無効になるものもある。
0262デフォルトの名無しさん
NGNGA, B, Cという3つのプロジェクトがあって、
BはAのソースとヘッダを、CもAのソースとヘッダを
自らのものと混ぜて一緒にコンパイルしたいのです。
このとき、BやCのソリューションエクスプローラに
Aのソースとヘッダを登録しないとだめなのでしょうか。
Aの構成を変えたときに、BとCの両方を変更するのが
面倒くさくて…。
0263デフォルトの名無しさん
NGNGネイティブコードでも使えるようなこと書いてあったんですが、どうすればいいんでしょうか。
ちなみに使えないというのは、プロファイラを有効にして実行しても何も起こらないって意味です。
誰か助けてください。
0265デフォルトの名無しさん
NGNG経験だと.NETアプリって重いから移行したくない…。
日曜プログラマみたいな自分でも移行してたほうがいいですか?
0266デフォルトの名無しさん
NGNGVC.NETは.NETアプリだけでなく、
従来通りのWin32ネイティブのアプリも作成可能
VC6 = Win32アプリ
VC.NET = Win32アプリ or .NETアプリ
移行の必要はさほどないと思います。
0267デフォルトの名無しさん
NGNGWin2000/VC++環境にて、LANアダプタのDHCPの設定(Enable/Disable)は
どのようにすれば取得できるのでしょうか?
色々調べたのですが、解りませんでした。
ご教授、宜しくお願いします。
0268偏差値37
NGNGという本を買ってきました。
0269デフォルトの名無しさん
NGNGで何よ?
0270デフォルトの名無しさん
NGNGhttp://hp.vector.co.jp/authors/VA023882/review.html
新VisualC++6.0入門 ビギナー編 林晴比古
> やさしすぎて、内容的には、MFCプログラミングのほんの触りだけという感じなので、
> この本だけで何かを創るのは不可能でしょう。
> また、サンプルソースの所々にちょっと不適切と思われる部分が見られます。
0271偏差値37
NGNG3部に分かれてますね。
・VC++.NETの操作法
・VC++.NETを使ったプログラミング
・C++の説明
の3つです。。。Amazonのレビューにもありましたがマニュアルって感じです。
書店でVC++.NETの本を探したのですが他の本は体系だてて説明していないのでこれにしました。
0272デフォルトの名無しさん
NGNG同じ本持ってるけど、結構いい
0273デフォルトの名無しさん
NGNGダイアログボックスベースのファイルを作っています。
*.exeファイルのアイコンの設定方法がわかりません。
ウィンドウベースの場合では、int WINAPI WinMain関数中に
WNDCLASSEX wcl;
char iconName[] = "IDI_ICON1";
wcl.hIcon = LoadIcon(NULL, iconName);
とすることでアイコンを設定できますが、ダイアログボックスベースの場合は
どこに、どのように既述をすればよいのでしょうか?よろしくお願いします。
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGhIcon=(HICON)LoadImage〜
って感じでアイコン読み込んで
SendMessage(hDlg,WM_SETICON〜
でメッセージ送ればできるのではないだろうか。多分。
0276デフォルトの名無しさん
NGNGGetAdaptersInfo関数かなあ。
複数ネットワークカードがささってる場合の処理に気をつけた方が
よさそう。(IP_ADAPTER_INFOのNextに次のへのポインタ、など。)
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGいいんだけどさ・・・・ちっともシニア編が出ない訳よ。
近刊ってなってから1年経つんだけど、もう出すの辞めたの?
頼むよ晴比古クン。
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNGclass Data : public Photo{
protected:
Point pt;
}
class Photo{
protected:
PhotoData *pData;
char FileName[128];
public:
void LoadPicture(){
WinLoadPicture(pData, FileName);
}
void Draw(){
WinDraw(Data::pt, pData); //ここ
}
}
こんな感じの使い方がしたいです。即席で作ったので間違ってるかも。
へぼへぼ。
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGPhotoで
virtual Point& getPoint() = 0;
ってやってDataで
Point& getPoint() {
return pt;
}
って実装させればいいじゃん。
0284デフォルトの名無しさん
NGNG#define _WIN32_WINNT 0x0500
としてるのですが、コンパイル時に
error C2065: 'WS_EX_LAYERED' : 定義されていない識別子です
となって、コンパイルできません
WinUser.hの中を検索したのですが、WS_EX_LAYERED というものが見つかりませんでした・・・
わかるかた、よろしくお願い致します
0285デフォルトの名無しさん
NGNGPhotoクラスをそのまま使い、Dataクラスは
Data1、Data2とかそれぞれ固有のメンバを持つ
クラスを作成しようとしてます。
だから、Dataクラスが基本で、Photoクラスを
派生にしました。
うーん、やっぱり派生クラスでデータを吐き出して
基本クラスで読み込むしかないのかなぁ...
それとも、継承を逆にするか、もう一回考え直します。
質問する事で頭の中が整理されたような気がします。
する前はパニック状態でした。ありがとうございました。
自分で考えるしか無さそう...
0286284
NGNGWindowsXP、VC++6.0 です。
0287デフォルトの名無しさん
NGNGMS行って最新のPlatform SDKダウンロードして来い
0288デフォルトの名無しさん
NGNGCDからインスコしただけのVCのヘッダには
当然入っていない。VC++6でしょ?
0289284
NGNG重ね重ね申し訳ございません
ttp://www.microsoft.com/msdownload/platformsdk/sdkupdate/
で Select All SDKs でインストールしましたが、同じエラーが出てしまいます・・・
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG#ifndef WS_EX_LAYERED // 念の為、トラブル回避
#define WS_EX_LAYERED 0x00080000
#endif
↑を、自分のソースにコピペすればいいよ。
0292デフォルトの名無しさん
NGNGtemplate<class D> class Base {
public:
void Draw() {
static_cast<D*>(this)->Draw();
}
};
class Derived : public Base<Derived> {
public:
void Draw()
{
// 略
}
}
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGありがとうございます。
0295デフォルトの名無しさん
NGNGスタートメニュー -> Microsoft Platform SDK -> Visual Studio Registration -> Register PSDK Directories with Visual Studio
0296デフォルトの名無しさん
NGNG・・・がビルドしようとしたら以下のようなリンクエラーが出ました。
error LNK2001: 外部シンボル "__imp__AlphaBlend@44" は未解決です
fatal error LNK1120: 外部参照 1 が未解決です。
こういった場合どうすればいいんでしょうか?
誰か知っている方がいましたら教えていただけませんでしょうか。
お願いします。
0297デフォルトの名無しさん
NGNGstring str;
for(i=0; i<30; i++) {
str.insert(str.length(),filename[i]);
str.insert(str.length(),"\n");
}
Edit_SetText(hEdit, str.c_str());
とゆう感じでエディットボックス?に文字列もセットしたんですけど、文字列が全部つながって一行に表示されるんですけどどうしたらいいのでしょうか・・・
multilineにしちるし編集する時にはエンターで改行も出来ます
0298285
NGNGはっきりとは理解できないのですが(勉強不足)
派生クラスのメソッドが基本クラスになってる(?)。すごい
ある一つのメンバが基本クラスにコピーされているのでしょうか
結局、継承を逆にするとスムーズにいかないので派生のメンバを
渡すことにしました。というか、継承してないです。。。
基本クラスをメンバに持たせたらごく自然に上手くいきました。
お騒がせしました。恥。。。ホントすみません。
0299デフォルトの名無しさん
NGNG"\r\n"
0300デフォルトの名無しさん
NGNGmsimg32.libをリンクしろ
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGあとinsertより
str += filename[i];
と書いたほうが見やすいと思う。
0303デフォルトの名無しさん
NGNG>>302
お〜ありがとうございます m(_ _)m
勉強になりました
0304デフォルトの名無しさん
NGNGどもども。出来ました〜。
0305284
NGNGProgram Filesの中探してたらありました!どうもありがとうございます
>>291さん
直接書くっていう方法もあったんですね。今後何かあったらやってみます。
>>295さん
私のではなぜかスタートメニューにありません・・・
0306デフォルトの名無しさん
NGNGなけりゃ実物を探せよ。
つーか別ユーザのスタートメニューに入ってるんだろ。探せよ。
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG書き換えの仕方を教えてください。
0309デフォルトの名無しさん
NGNGそういう問題じゃがいも無い
0310デフォルトの名無しさん
NGNGif((GetKeyState(VK_UP) & 0x8000) && (GetKeyState(VK_DOWN) & 0x8000)){
MessageBox("!");
}
0311デフォルトの名無しさん
NGNGありがとうございます
0312デフォルトの名無しさん
NGNG説明しづらいので簡略化したソースは、
char mozi[20],ans[40];
strcpy(mozi,"ひろゆき"); //変換したい文字列を代入
//mozi配列の一文字目が'ひ'であればans配列にHとIを代入
if(strncmp ( mozi , "ひ" , 1 ) == 0 ) {
ans[0]='H';
ans[1]='I';
}
平仮名を使っているせいか関数strncmpあたりの判定がおかしくなってしまいます。例えばmozi配列を'ろゆき'にしてしまっても関数strncmpが0を返しえてしまいif文内の処理が実行されてしまします。
初歩的な質問だと思いますがアドバイスお願いします.
0313デフォルトの名無しさん
NGNGひらがなは2バイト文字だ。
0314デフォルトの名無しさん
NGNG0315312
NGNG>>313
if(strncmp ( mozi , "ひ" , 1 ) == 0 ) {
の1を2にしたらできました。2バイトってのは解ってたんですがstrncmpの使い方が悪かったんですね。
>>314
初耳だったんですがぐぐってみたら便利そうですね。早速試してみます.
0316偏差値37
NGNGダイアログベースでも出来ますか?
0317デフォルトの名無しさん
NGNGまずどういうソフトを作りたいか概要を書きます。
パルスパターンジェネレーター(以下PPG)で任意のパターンを発生させるためにテキストデータから
そのPPGに合うデータを作らなくてはなりません。そこでテキスト→バイナリー変換のプログラムを作りたいのですが
MFCで組、GUI環境で波形を確認しながら作りたいです。
何からやったらいいですか?PPGのバイナリーデータはすでにあります。
環境
Win2000 VC++6.0 です。どうか教えてくださいです。
バイナリの勉強もしなければならないので何か参考になる書物、サイトもお教えください
0318デフォルトの名無しさん
NGNG書籍ではVC++6.0は/GRコンパイルオプションを指定しなければならないとあるのですがどのように指定するのか手順が載っておらず、どうにも困っています。
そのままコンパイルすると警告が出てしまい、実行するとエラーで強制終了してしまいます。
よろしければご指導おねがいします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1074774948_34/code.txt ←ソースです。
警告:'typeid' が /GR- を使用したポリモーフィック型 'class Base' で使用されています; 動作結果は保証されません。 ←エラーメッセージです
0319デフォルトの名無しさん
NGNG開発環境でこのオプションを指定するには、[プロジェクト] メニューの [設定] をクリックします。次に、[C/C++] タブをクリックし、[カテゴリ] ボックスの [C++言語] をクリックします。
ラインタイム型チェックの詳細については、「C++ ランゲージ リファレンス」の「ランタイム タイプ情報」を参照してください。
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNGありがとうございます、実行できました
0322デフォルトの名無しさん
NGNGプロパティーウィンドウのメッセージの追加ボタン(?)
(この機能を使うと自動的に関数やメッセージハンドラが追加されるらしい)
が見当たりません。6.0でやるにはどうしたらいいですか?
0323デフォルトの名無しさん
NGNGVC++6では、ClassWizardと呼ばれる機能です。
0325デフォルトの名無しさん
NGNGありがとうございます〜!
しかし、ClassWizardの項目が選択できない(灰色)のですが…
0326デフォルトの名無しさん
NGNGプロジェクトをまるまるコピーする事が多いので、どれがどんなプログラムか
分かりにくいです。
0327デフォルトの名無しさん
NGNGできる。project fileの内容を変更すればいい。
0328デフォルトの名無しさん
NGNGやりたいことは、CListBoxへの1行ずつのログ出力です。
最新のログは常に一番下へ追加し、自動スクロールさせて
常に最新ログが見える状態にしたいのです。
また、リソース消費を抑えるために、ある一定以上の古い
ログは消去したいんです。
== ソース一部抜粋 ==
ulines++;
if(lines > 50){
m_list_log.DeleteString(0); …(1)
}
m_list_log.InsertString(-1, strLog);
m_list_log.SendMessage(WM_VSCROLL, SB_LINEDOWN, 0);
=============
上記のようにすると、(1)の処理でキャレットが一番上に
移動してしまいます。
常にスクロールバーが一番下になる方法ありませんか?
(最新が常に見える状態にする方法)
SetScrollPosとRedrawWindowの組み合わせでも出来なかったので
よい方法があれば教えてください。よろしくです。
0329デフォルトの名無しさん
NGNGm_list.DeleteString(0);
m_list.SetCurSel(49);
0330328
NGNGありがとうございます。
みごと出来ました!
0331デフォルトの名無しさん
NGNGあったら何関数を使ったら良いのか教えてください。
よろしくお願いいたします。
0332デフォルトの名無しさん
NGNGできますでしょうか?
自分で擬似タイトルバーを作成すればできると思いますが、できれば、
標準のタイトルバーで実装したいです。
GetSystemMetrics(SM_CYCAPTION);
で、タイトルバーの高さが取得できるのは、分かったのですが、
タイトルバーの高さの設定方法は、分かりませんでした。
どうぞ、宜しくお願い致します。
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNGできない。
自分でタイトルバーを書くのは、DrawCaptionと言うのがあるのでそれを使って書くしかないと思う。
0335& ◆oUgkzAA5Yw
NGNG教えていただきたいのですが。。。
0336デフォルトの名無しさん
NGNGたぶん一生つかうことないんじゃないか?
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNGIsDialogMessage
0339デフォルトの名無しさん
NGNGIsDialogMessage(hWnd, &msg)
見たいにして使ってみたんですけど[tab]を押したときにフォーカスがどこかに行ってしまいました orz
調べてみたところモードレスダイアログによく使われているんですけど
親ウィンドウ(メインウィンドウ)に直接コントロールを置いているんですけどこの関数は使えるのですか?
0340デフォルトの名無しさん
NGNGCFormViewの印刷サポートは使用できません
とでるんですが、印刷はできないんですか?
0341デフォルトの名無しさん
NGNGMSDN読めよ。
>Although the IsDialogMessage function is intended for modeless dialog boxes,
>you can use it with any window that contains controls, enabling the windows
>to provide the same keyboard selection as is used in a dialog box.
0342デフォルトの名無しさん
NGNGできますよ
0344元unixプログラマ
NGNGあるWEBサーバに接続したあとで、どうすれば、現在接続中の
クライアントのIPアドレスを知ることができるでしょうか。
IPアドレスが複数ついているマシンを使っているときはどうすれば。
0345デフォルトの名無しさん
NGNGVC++6.0(2000/XP)でRASDial関数を実行するとエラー(668)になります。
問題のソースは以下です。
===============
memset( &entry, '\0', sizeof( RASENTRY ) );
memset( &rasprm, '\0', sizeof( RASDIALPARAMS));
rasprm.dwSize = sizeof( RASDIALPARAMS);
dwSize = entry.dwSize = sizeof( RASENTRY );
lstrcpy( rasprm.szEntryName, lpRasEntryName);
dwret = ::RasGetEntryDialParams(NULL, &rasprm, &bret);
dwret = ::RasGetEntryProperties( NULL, rasprm.szEntryName, &entry, &dwSize, NULL, NULL );
lstrcpy( rasprm.szPhoneNumber, entry.szLocalPhoneNumber );
dwret = ::RasDial( NULL, NULL, &rasprm,NULL, (void *)&RasFunc,&m_hrasconn);
===============
ちなみに、ユーザ名、パスワード、電話番号は取得できています。
エラー情報から接続スピードを下げるとかそんなことが書いてありますが
普通にrasdaialで繋がるので、プログラム的に問題があると思っています。
何か設定(処理手順)で見落としているんでしょうか?
わかる方おりましたら教えてください。
よろしくお願いします。
0346339
NGNGありがとうございました!
0347デフォルトの名無しさん
NGNGどこかを設定すればよかったりするのですか?
0348デフォルトの名無しさん
NGNG*.ncbのファイルを削除するとよかったりする
0349デフォルトの名無しさん
NGNG例えば、あるフォルダFolder1にName1.txtとかName2.txtとかってあるのを
1つ選択するみたいな。
じゃあ、こんなことできますかね?
あるFolder1に3つのテキストファイルa.txt, b.txt, c.txtに対して
a.txtをひらくと残りのb.txt, c.txtも読みこめるようなことってできます??
フォルダFolder1, Folder2, ...というふうにフォルダがたくさんある中で、
これら全てのフォルダの中にa.txt, b.txt, c.txtといった3つのファイルがあるとします。
マルチにつきレス禁止
複数IPが割り当てられたクライアントの場合は
接続に使われた1つ分のIPしか分からない。
0352デフォルトの名無しさん
NGNGというか、
CDatabase を使ってOpen()をやるのだろうと思ったのですが
"afxdb.h"をインクルードするだけで
error LNK2019: 未解決の外部シンボル __beginthreadex が関数 "public: int __thiscall CWinThread::CreateThread(unsigned long,unsigned int,struct _SECURITY_ATTRIBUTES *)" (?CreateThread@CWinThread@@QAEHKIPAU_SECURITY_ATTRIBUTES@@@Z) で参照されました。
error LNK2019: 未解決の外部シンボル __endthreadex が関数 "void __stdcall AfxEndThread(unsigned int,int)" (?AfxEndThread@@YGXIH@Z) で参照されました。
何が問題なのでしょうか?
0353デフォルトの名無しさん
NGNG一面の菜の花
一面の菜の花
一面の菜の花
一面の菜の花
一面の菜の花
一面の菜の花
微かなる麦笛
一面の菜の花
上の山村暮鳥の詩を表示するプログラムをできるだけ少ない文字数で
つくりたいんですがどうしたらいいですか?
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNGint i=0;
while(i<7){
if(i==6){
printf("微かなる麦笛\n一面の菜の花");
break;
}
printf("一面の菜の花\n");
i++;
}
0356デフォルトの名無しさん
NGNGfor(int i=0; i < 7; ++i)
printf("一面の菜の花\n");
printf("微かなる麦笛\n一面の菜の花");
0357デフォルトの名無しさん
NGNGif(i==7)
printf("微かなる麦笛\n");
else
printf("一面の菜の花\n");
}
0358デフォルトの名無しさん
NGNG#define b "微かなる麦笛\n"
for(int i=0;i<7;i++)
printf(a);
printf(b a);
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNGMFC?
ウイザード使ってないのか?
0361デフォルトの名無しさん
NGNG一面の菜の花 一面の菜の花 一面の菜の花
一面の菜の花 一面の菜の花 一面の菜の花
一面の菜の花 一面の菜の花 一面の菜の花
一面の菜の花 一面の菜の花 一面の菜の花
一面の菜の花 一面の菜の花 一面の菜の花
一面の菜の花 一面の菜の花 一面の菜の花
微かなる麦笛 雲雀のお喋り 病めるは昼の月
一面の菜の花 一面の菜の花 一面の菜の花
すいませんスレ違いみたいなんですけどついでに上の詩もいいですか?
0362デフォルトの名無しさん
NGNGfor(int i=0;i<7;i++)
printf(a a a +"\n");
printf("微かなる麦笛 雲雀のお喋り 病めるは昼の月\n");
printf(a a a);
0363デフォルトの名無しさん
NGNG質問する前にROMっとけ
そういう質問向きのスレが見つかるまで質問するな
0364デフォルトの名無しさん
NGNGビルドするとこんな↑エラーが出るのですが、どうすればいいのですか?
0365デフォルトの名無しさん
NGNGコンソールアプリケーションです。
新規作成→プロジェクト→win32プロジェクト→
アプリケーションの設定→コンソールアプリケーション
0366デフォルトの名無しさん
NGNGdinput8.libでぐぐれば一発
0367デフォルトの名無しさん
NGNGSDIでスケルトンを生成し、プログラムを開始したはいいものの
マウス関連処理で困っています。
マウスのスクロールボタン(真ん中)を押して、
イベントを発生させたいのですが、クラスウィザードでメッセージを見ても
それらしきものがありません。(スクロールはありますが)
CView::OnMButtonDown を手動でインプリメントしたのですが、
機能はしてくれませんでした。
この場合、どのように対処したらよいでしょうか?
よろしくお願いします。
開発環境:VC6.0, WinXP Pro
0368デフォルトの名無しさん
NGNGハンドラの追加でフィルタを「ウィンドウ」にすれば出てくる。
0369367
NGNGありがとうございました!
0370352
NGNGどこ調べても簡単なソースだけ書いて
こうすればSQL操作ができるとかあって何か設定が必要であるかなんかはわからないんですが
SQLサーバはすでに動いています。
ユーザとデータベースも作ったのでアクセスはできると思うのですが
String *query = "SELECT * FROM table1";
SqlConnection *sql = new SqlConnection();
sql->ConnectionString="server=localhost;database=database1";
sql->Open();
SqlCommand *sqlCommand = new SqlCommand(query, sql);
sql->Openの時点でSystem.Data.dllのエラーがどうとか
この方法以外でもっとシンプルでわかりやすい方法があればそちらを使いたいのですが.
localhostのところを実際のIPアドレスに変えてもだめです
0371デフォルトの名無しさん
NGNG今日、今更PS6が出てるのに気付いてあわてて導入したんですよ。
構造体の要素を変更しても、入力候補の方で更新されないバグが直るかなー。
ぐらいの気持ちで入れたんです。
それなのに適用後、とりあえず確認のためと思い、作成中のプログラムをコンパイルしてみたら
何故かコンパイルエラーが出てしまいまして・・。
stdarg.h(48) : fatal error C1001: 内部コンパイラ エラー
(コンパイラ ファイル 'msc1.cpp', 行番号 1794)
というエラーが、2回でてしまうのですよ。
その2つが指す行は共に同じ場所で、stdarg.hの
typedef char * va_list;
という場所です。
ここから、恐らく可変長引数の周りでなにかしらの不具合が起こっていると思い、可変長引数を
ひとまずコメントアウトしてみたら(可変賞引数を使った関数は今後の為に作っておいたのですが、
メインプログラムではまだ未使用な状態でした。)今度は例のエラーが出る回数が3回に増えてしまいました。
お手上げ状態です。(´・ω・`)
尚、他のプログラムも複数試しましたが、それらはどれも問題なく動きました。
よりによって数ヶ月かけて書いてるプログラムがコンパイルエラーなのですよ(つд`)
どなたか対処法をご存知の方がいらっしゃいましたら、どうかご教授ください。
よろしくお願いします。
0372デフォルトの名無しさん
NGNG階層の深さとかに限界があるのでしょうか?
VC++(.NET 2002)では、コンパイルはとうるのですが、ただしく動作をしません。
メモリへの不正アクセスのようなエラーがでます。
しかし、まったく同じコードをIntelC++ですと問題なく動作します。
なにがご存知でしたら教えてください。
0373デフォルトの名無しさん
NGNGテンプレートクラスの中にネストしたテンプレートクラスを作ったりすると、
デバッグモードでのみSTLのヘッダでエラーが起こったりする場合があるし。
もちろん、該当クラスが依存しているところでSTLを利用していなくても。
0374デフォルトの名無しさん
NGNGclass A
class B virtual public A
class C virtual public A
class D virtual public B, virtual public C
class E virtual public B, virtual public C
class F public D, public E
というような継承をしています。
class Fから class Aの関数をコールしている場所でエラーが
発生します。
よろしくお願いします。
0375371
NGNGコンパイルモードをデバックモードにしたら正常にコンパイルできたので、
リリースモードでリビルトしてみたところ、正常にコンパイルできました。
気が動転して、足元を見損なっていました。
お騒がせして申し訳ありませんでした(´・ω・`) < こんなことに2時間費やしちゃったよ。
>>373
レスありがとうございました。
1001という数字が少しトラウマになりました(´・ω・`)
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGたとえば「Console.」を打てばその次に来る候補が
でていき長い物やよく使わないメソッドなどは大変
楽であった。このような機能はVISUAL c++ でも
搭載されているの?インテリセンス?だったっけ。
0378デフォルトの名無しさん
NGNG入力補完機能が付いていない開発環境は
今では見向きもされないだろう。
0379デフォルトの名無しさん
NGNGお前は、今、Del厨犬厨Java厨等、様々な厨を敵に回した。
0380デフォルトの名無しさん
NGNGJavaでもEclipseくらいならあるんじゃないの?無いの?
0381デフォルトの名無しさん
NGNGまじで?!ネタですか?
0382デフォルトの名無しさん
NGNG弁解しても無駄。
俺がお前の立場なら一人では出歩かない。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG込むときに終わってからではなく数文字打ているときに
候補一覧が出てくる素早さや、何のショートカットキーを
使わず自動的にとまったところでも出てくるとこがいい。
あとEMACSキーカスタマイズがついてたこと。これは俺に
とっては夢のようだ!ちなみにこれはC#トライアルバージ
ョンでC++はショートカットキーを押さないと候補が出てこ
なかった。
0385デフォルトの名無しさん
NGNGそして自分にはまだ理解できない混合モードになってしまいます。
少し前までは出ていなかったのでテキスト形式のソースプログラム上で一行ずつ実行など行えていました。
そして他のワークスペースのプログラムではデバッガはいつも通り使用できます。
混合モードとは何か、こんなダイアログが出たときどうすればいいか調べたのですがわかりませんでした。
Visual C++6.0を使っています。こんな質問ですいません。よろしくおねがいします。
0386デフォルトの名無しさん
NGNGVC6でもデバッグモードなら呼び出し履歴から
エラーの発生箇所がわかるんでない?
>混合モードとは何か、こんなダイアログが出たときどうすればいいか調べたのですがわかりませんでした。
余力があればアセンブラについて勉強すると幅が拡がるかモナー。
0387デフォルトの名無しさん
NGNG自分で書いたソース以外の所で止まってるから
0388デフォルトの名無しさん
NGNG誤って変更&保存しても、大丈夫ですか?
0389デフォルトの名無しさん
NGNG混合モードで表示されてるコードを編集してしまって大丈夫かってこと?
それだったら、混合モードじゃ編集は出来ないと思うぞ。
0390デフォルトの名無しさん
NGNG混合モードで、アセンブラが表示されるんですが、
その時ソースも開けるようになって(例えばwinfrm.cpp)
そこでは、編集も出来てしまうんです・・・
これいじると、取り返しの付かない事になりそうで・・・
どうなんでしょう?
// This is a part of the Microsoft Foundation Classes C++ library.
ちなみに、一行目には、このようにコメントされています。
0391デフォルトの名無しさん
NGNG資格試験の問題と、教本でしか見たことない
0392デフォルトの名無しさん
NGNGhttp://www.staedtler.co.jp/products/06_template/01-other-template/index.html
昔はこういうテンプレートと字消し板使ってた。
Windowsは手続き型じゃないし
0394デフォルトの名無しさん
NGNG#include <process.h>
をインクルードしてみろ。
それと、プロジェクトの設定のC/C++タブのところにあるコンボボックスから
コード生成を選び、マルチスレッド対応のランタイムライブラリを指定して
リビルドしてみろ。
解決しなかったらまたいらして下さい。
0395デフォルトの名無しさん
NGNG本も見ないでやってるとは、超初心者か?超ベテランか?
おそらく仕事でやってるんだろうけど、
本の値段より時給の方がはるかに安いのか?
0396デフォルトの名無しさん
NGNG優しさをうまく表現できない不器用な人
0397デフォルトの名無しさん
NGNGどうしたら良いのでしょうか?
よろしくお願いします。
0398デフォルトの名無しさん
NGNGアセンブラのcpuid命令で取得出来たと思う。
0399デフォルトの名無しさん
NGNGスプリットウィンドウを CSplitterWnd で複数作成して、
そのスプリットウィンドウのどこかでイベントを発生させたら、
すべてのスプリットウィンドウを更新するにはどうしたらいいんですか?
0400デフォルトの名無しさん
NGNGつーかwinfrm.cppを書込み禁止にしておけばいいし。
そうじゃなくても、あとから上書きすればいいし。
また、編集できるつっても、どーせアセンブラ言語の行は
変えられないんでしょ?
変えられたとしても、C++のソースに反映されないでしょ?
反映されたとしても、winfrm.cpp をまるごと上書きすればいいし。
また、編集
0401デフォルトの名無しさん
NGNGUpdateAllViews
0402399
NGNGありがとうございます。
こんな関数があるんですね。
これは C***View でマウスとかの取得をしても
できるものなんですか?
C***Doc.cpp の何処かに記述するんですよね?
結局やりたいことは、OpenGL の描画を同期させたいのですが。
連続質問で申し訳ありません。
0403デフォルトの名無しさん
NGNGGetDocument
0404385
NGNG>>386さん
>VC6でもデバッグモードなら呼び出し履歴から
エラーの発生箇所がわかるんでない?
そうなんですかぁ。呼び出し履歴というものをちょっと調べてみます。
>余力があればアセンブラについて勉強すると幅が拡がるかモナー。
そうなんですか。まだまるっきしCしか使えないのでちょっとしたら手を出したいと思います
>>389さん
>自分で書いたソース以外の所で止まってるから
これはそういうことなんですかー。デバッガがドコで停止したか調べてみたら
strstrをあるワークスペースAのプログラムから呼び出そうとしたときでした。
他のワークスペースBのプログラムでstrstrを実行しても平気なので、
Aのstrstrに関係する内容をいつの間にか変更していたのでしょうか。
新しくワークスペースBを用意してAの物を持ってきたら
Bではデバッガが止まる事はありませんでした。
ありがとうございました。
0406デフォルトの名無しさん
NGNGclass foo : public foo {
になったクラスのメンバ関数内でインテリセンス起動→VC6いきなり落ちる。
たのむよ〜。原因がわからなくてもう少しで最インスコしてたよ。
0407デフォルトの名無しさん
NGNGスマートポインタ(std::auto_ptrやboost::shared_ptr)の->演算子にはインテリセンスが効きません
最新のVCでも同じでしょうか?
0408デフォルトの名無しさん
NGNG0410& ◆R7PNoCmXUc
NGNGvoid DebugAssert(bool ok, wchar_t* file, int line);
#define ASSERT(b) DebugAssert((b), __FILE__, __LINE__)
こんなんしたいんですけど。。
0411デフォルトの名無しさん
NGNGプロジェクトにヘッダを追加すれば表示されるんじゃないの?
0412デフォルトの名無しさん
NGNG#define TOWSTR(s) L##s
TOWSTR(__FILE__)
0413デフォルトの名無しさん
NGNG背景の上に絵を表示させたいのですが、張り付けた部分が
下の背景の色で塗りつぶされます。
StretchBltとBitBltを混ぜて使ってます。AlphaBlendも
後から使おうと思ってます。混ぜて使うとき、注意すべき点は
何か有りませんでしょうか。多分そこから失敗してると思うので。
0414デフォルトの名無しさん
NGNGVC++5.0 の英語版はどこで買えますか?
御存知のかたいらっしゃったらご教示下さい。
0415352
NGNGこれで一応SQLデータソースに接続でき、先の問題は解決しました。
しかし...
CDatabase data;
try{
data.OpenEx( NULL, 0);
}catch(CDBException* e){
このようにして手動でデータソースを選ぶと、正常に動作します。
このときのdata.GetConnect()の内容を控え
ダイアログを出さないようにしたいのでこのようにしました。
data.OpenEx( connectstring, CDatabase::noOdbcDialog );
しかしdata.GetConnect()で取れる文字列を完璧にコピーして入れても
CDBExceptionが
「データソース名および指定された規定のドライバが見つかりません。」
noOdbcDialogを指定した場合のみ上の例外が発生します。
これは何故なのでしょうか
0416デフォルトの名無しさん
NGNGそれだけじゃちょっと厳しい気がするなあ。
とりあえず何処で描画してるかってのがまずわからんと。
0417デフォルトの名無しさん
NGNGどうせMERGECOPYとかにしてるんだろうよ。
マスクとかその辺から勉強し直せよ。
0419407
NGNGstruct S { int a; };
template<typename T> struct B {
T *v;
T * operator-> () { return v; }
};
B<S> b;
b-> // インテリセンスが効く
std::auto_ptr<S> p (new S);
p-> // 効かない
ClassViewでauto_ptrをみるとメンバに THROW0() や初期化子の _Ptr() がある!
0420デフォルトの名無しさん
NGNG旧バージョンで生成されたプロジェクトで、
新しいファイル形式に変更してビルドしてみても
proto.obj : error LNK2001: 外部シンボル ""int __cdecl D3Z_CreateDirectDraw
(struct HWND__ *)" (?D3Z_CreateDirectDraw@@YAHPAUHWND__@@@Z)" は未解決です
….\Debug/proto.exe : fatal error LNK1120: 外部参照 5 が未解決です。
とエラーが出てしまいます。
どのサンプルを実行してみても同じ状態になってしまい、
一歩も進むことが出来ません。どうすればいいのでしょうか。
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGD3Z_CreateDirectDrawのあるライブラリをリンクして下さい。
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGのような文字列をfgetsで読み込んで返した文字列の中からスペースの
後のキーワードを見つける方法を教えてください。
0425デフォルトの名無しさん
NGNG見つけてその場所より後の部分を抽出とか
色々
0426デフォルトの名無しさん
NGNGCommandLineToArgvW()を使ってみるとか
0427デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGVisualC++やる前にCかC++を勉強した方がいい。
0430デフォルトの名無しさん
NGNG勘違いしてました。
自分Cの話でした!
0431デフォルトの名無しさん
NGNGどうすればいいの?
0432デフォルトの名無しさん
NGNGLVM_GETITEMRECTとかLVM_GETITEMPOSITIONとかで
プログレスバーを作るべき座標は得られる。
0433420
NGNGどうやらDirect3z.libに有るらしいのですが、リンクの方法が解りません。
プロジェクトの設定のリンクからオブジェクト/ライブラリモジュールに
Direct3z.libと入れてみても以前のエラーメッセージと、
link.exe の実行エラーというのが表示されてしまいます。
連続質問で申し訳ありませんが、どうしたらいいのでしょうか。
0434デフォルトの名無しさん
NGNGlink.exe の実行エラーと言われても、エスパーじゃないのでわからん。
0435420
NGNGツール/オプションのディレクトリタブからも
Direct3z.libの有るファイルを設定しましたが、
依然としてエラーが出てしまっています。
…諦めて新しい本を買った方が良いでしょうか?
0436デフォルトの名無しさん
NGNGもうDirect3z.libのフルパスを書いちゃえよ
0437420
NGNGです。度々すいません。
0438デフォルトの名無しさん
NGNGを、ソースのファイルのどっかに入れてみたらどうや?
0440デフォルトの名無しさん
NGNG本についてるのはサンプルだから、そのまんま使う必用はない。
自分で新規プロジェクトの作成から順番にやっていくのが無難。
それができないと自作のプログラムは作れない。
0441デフォルトの名無しさん
NGNGぐぐれば、答えが出てるような気が......
0442デフォルトの名無しさん
NGNGサポートの対象外でも構わないから、なんとか手に入れたいのですが。
出来ることなら英語版が好ましいです。
0443デフォルトの名無しさん
NGNGYahooオークションとか中古ソフト屋を探してみれ
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGSDK, vc++6.0です。
以下のように構造体変数を宣言しました。
enum{
SET_A,
SET_B,
SET_C
} state = SET_A;
stateがSET_Aのときには0を、SET_Bのときには1を、SET_Cのときには2を返す
ような関数は存在するでしょうか?よろしくお願いします。
0446デフォルトの名無しさん
NGNGそれは構造体じゃないし、そこで関数使う必用ないし、スレ違い
0447デフォルトの名無しさん
NGNGstate == SET_A ? 0 : state == SET_B ? 1 : state == SET_C ? 2 : -1;
0448デフォルトの名無しさん
NGNGenumは0から順番に値を割り当てるんじゃなかったっけ?
0449デフォルトの名無しさん
NGNG入力範囲を 0 〜 int の最大値2147483648を指定し、入力すると範囲外の数値として
再入力を求められてしまいます。
何が間違っているのか教えていただけませんでしょうか?
環境はVS2002です
0450デフォルトの名無しさん
NGNGそういう情報はどこかに載ってないでしょうか?
例えばクラスを作るとヘッダに自動的に挿入されるこれ。
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
1000より新しいバージョンで対応してるんだなとわかります。
selectanyは_MSC_VERがいくつ以上なら対応しているんでしょうか?
0451デフォルトの名無しさん
NGNG数字いろいろ変えてやってみろ
0452デフォルトの名無しさん
NGNGintの最大値は2147483647だ。
0453デフォルトの名無しさん
NGNGしかも最初の一個だけ明示的に与えてやれば、
あとはインクリ
0454デフォルトの名無しさん
NGNG2147483648個
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGしかもintは実装依存…もしVC++以外にソースを持っていくような事が
あったら困ることがあるから最大値ぎりぎりまで使うならlong intに
した方がよいです
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNGありがとうございました、個数と最大値を見間違えていました・・・
>>456
うう、知りませんでした
ご指摘ありがとうございます
0460デフォルトの名無しさん
NGNG将来VC++のintのビット長が変わる、なんていうことないとも限らないし、
もしそうなったら、それだけで多くの箇所を変更しなければならなくなる。
少しでも危険が考えられることは、簡単な事であればなるべく安全な物に
置き換えるのがよい。
0461デフォルトの名無しさん
NGNGそう心配すんなよ。
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNGという意味の方が重要かもしれん。
0464デフォルトの名無しさん
NGNGDDX/DDVの設定ダイアログで、最大値・最小値にマジックナンバー以外を
入力出来るのかい?
0465デフォルトの名無しさん
NGNG出来なくても適当な値入れて手作業で修正すればよかろう。
0466デフォルトの名無しさん
NGNGここは初心者スレだぞ。
偉そうなことだけ言ってないで、何処を修正すればいいか教えてやれよ。
0467デフォルトの名無しさん
NGNGDoDataExchangeメンバ関数のDDV_MinMaxIntのところ。
0468デフォルトの名無しさん
NGNGいくら初心者でも分かりそうなもんだが
0469デフォルトの名無しさん
NGNG((CXxxDoc*)GetDocument())->y
でアクセスできるのはなぜですか?
メモリ的にどうなってるんですか?
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGViewについての質問です。
Viewは基底クラスをいくつかのViewから選択できますよね
ですが、エクセル見たいな入力可能なGridをViewに選択することは
できないのですか?
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNGWNDCLASSにセットするHINSTANCEはどうすれば取れるのでしょう?
そもそもこれは何のためにセットするのでしょうか?
あとでアイコンとか取得したいときに必要になるからGetWindowLongで取得できるように
WNDCLASS作成時にセットするだけですか?もし使う予定がないならNULLでよいですか?
それとも必要ですか?もしそうならdllのようにクライアントアプリケーションのプロセス内にロードされる
場合、クライアントアプリケーションのHINSTANCEを使っても良いのですか?
いろいろお聞きしますがよろしくお願いします。
0474デフォルトの名無しさん
NGNGDLL側のHINSTANE/HMODULE。
これの意義はウィンドウクラスの所有権を把握するために使うのだったと思う。
(WindowsはEXEがアンロードされるときにそこが所有するウィンドウクラスを自動的に破棄するようになっている。DLLのクラスは9x系だけ自動破棄)
>WNDCLASSにセットするHINSTANCEはどうすれば取れるのでしょう?
取り方はDllMainでグローバル変数にコピーしておくか、あるいはDllMainでウィンドウクラスを作るのが一般的だと思う。
0475デフォルトの名無しさん
NGNGtemplateのアロー演算子のoperatrorのオーバーロード
がうまくいきません。
そういうものなのでしょうか?
template <class T>
class Hoge
{
public:
T* operator->() { return m_p; }
private:
T*m_p;
};
0476475
NGNG0477デフォルトの名無しさん
NGNGCreateCompatibleDC(hdc)とでは具体的にどう違いますか?
0478デフォルトの名無しさん
NGNGどう上手くいかないんだ?
0479デフォルトの名無しさん
NGNGhdcがプリンタDCだったり情報DCだったりしたときに出来上がるDCの形式が違う
0480デフォルトの名無しさん
NGNGって、どんな DC が作られるの?
何のコンパチを作るのよ?
0481デフォルトの名無しさん
NGNGヘルプも読んでないくせに態度がでかいぞ。
0482デフォルトの名無しさん
NGNG:
char d=(TCHAR)pMsg->wParam;
if (d == 'A') …
if (d == ??)
バックスペースが押されたか判断したいんですが、
??の部分はどの様に記述すれば良いのでしょうか?
0483デフォルトの名無しさん
NGNGキーボードによって違うから気をつけろ
0484デフォルトの名無しさん
NGNG0485482
NGNG0487デフォルトの名無しさん
NGNGお気に入りに登録しました
0488デフォルトの名無しさん
NGNGif (d == 'A') … <- 右親指を立ててる顔に見えなくもない。
0489テスト
NGNG0490デフォルトの名無しさん
NGNG0491テスト
NGNG0492デフォルトの名無しさん
NGNG0493テスト
NGNG0494デフォルトの名無しさん
NGNGfp=fopen("〜.xml","a");
char * pstr = sjisToUtf8("変換する文字");
fput(pstr,fp);
ってな感じでやってます。
0495デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG友人から、「WinProcって何?」と訊かれて言葉に詰まってしまいました。
どのように説明すれば良いのでしょうか?
よろしくお願いします。
0498デフォルトの名無しさん
NGNGRegisterClass()に渡すためのもの
0499デフォルトの名無しさん
NGNG自分のIPアドレスを取得する関数って何ですか?
よろしくお願いします。
0500デフォルトの名無しさん
NGNG逝ってよしです
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGMultiByteToWideChar() で SJIS -> UTF-16
WideCharToMultiByte() で UTF-16 -> UTF-8
0504デフォルトの名無しさん
NGNG>503
0505デフォルトの名無しさん
NGNGそうですが何か?
0506デフォルトの名無しさん
NGNGこのchar型をさらに16進表示にしたいのです。
CString writeblock;
m_COMBO_writeblock.GetWindowText(writeblock);
char wb[1];
strcpy(wb, writeblock);
char Write[13] = {・・,・・,〜, wb[1], ・・, ・・,}
こんな感じで
例えば、コンボボックスの04を0x04といった感じでwbに入れてやりたい
んですが、今のままだと、34となってしまいます。
wb[1]に04となるようにしたいのですが、分かりません。
どなたか良い方法教えてください。
0507デフォルトの名無しさん
NGNGこれがエクスフローラ開くとどうしても最初に立ち上がってしまう
これって治せるのかな?
0508デフォルトの名無しさん
NGNGとりあえず"エクスフローラ"の作者かサポートに質問
0509デフォルトの名無しさん
NGNG質問なのですが、実行結果をテキストファイルに出力するには
どうしたらよいでしょうか?
100万個ほどの数値の統計を取りたいのですが、
DOSプロンプト上には最後の1000個ほどの結果しか残らないので
困っています。
初心者な質問ですが、よろしくお願いします。
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNGそれだとメモリを増設しないといけないな。
スレ違いなのでここまで。
0513デフォルトの名無しさん
NGNGとりあえずデータがテキストファイルになれば良いのだったらリダイレクトが簡単.
例えばhoge.exeってプログラム名だったら
hoge.exe > hage.txt
って感じで入力すると,画面に出力されてたものがhage.txtに出力できますよ.
0514デフォルトの名無しさん
NGNGそれはスレ違い。
ここはVC++のスレ。
0515509
NGNGとりあえず>>513の方法で出来たので、しばらくはそれでいこうと思います。
何分、Cを始めたばかりの未熟者ゆえ・・・。変な質問しちゃって
すいませんでした。とても助かりました。
0516デフォルトの名無しさん
NGNGそれは承知.ただまぁ509が解決する際の選択肢になればいいからね.
0518デフォルトの名無しさん
NGNGVC++でリダイレクトを使ったらいけないのか?
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNGリダイレクトはシェルの機能。
シェルスレでやれ。
0521デフォルトの名無しさん
NGNGネットワークプログラミング相談室 Port10
http://pc5.2ch.net/test/read.cgi/tech/1090385857/l50
0522デフォルトの名無しさん
NGNG解決方法がスレ違いの内容だからって一言もそれに触れなかったら
質問者はいつまでたっても回答を得られないぞ。バカジャネーノ。
0523デフォルトの名無しさん
NGNG509に513は問題ないでしょ?
そのあと更に509さんがリダイレクトについて質問してきて
長くなりそうだったら誘導すればいいんだし.
0524デフォルトの名無しさん
NGNGCUIのプログラム作っててCUIが使えないんじゃ話しにならん。
0525デフォルトの名無しさん
NGNGダブルクイックも出来ないで
プログラミングなんて100年早いわ。
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNGディスクトップ
ワーニング
アップリケーション
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGメリットでは?
0532デフォルトの名無しさん
NGNGstd::vector<CView*> VecView;
なんて書いたら怒られました
0533デフォルトの名無しさん
NGNGVC++なら使えるぞ
0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGC言語なら俺に聞け! Part 91
http://pc5.2ch.net/test/read.cgi/tech/1095180315/l50
C++相談室 part35
http://pc5.2ch.net/test/read.cgi/tech/1093958200/l50
【初心者歓迎】C/C++室 Ver.9【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1094494997/l50
ぼるじょあがC/C++の宿題を片づけますYO! 31代目
http://pc5.2ch.net/test/read.cgi/tech/1095075678/l50
0538デフォルトの名無しさん
NGNG入門書では下位ビットにコントロールやメニュー項目などの識別子が入っているとあるのですが上位ビットについては省かれていて非常に気になります。
0539デフォルトの名無しさん
NGNGThe high-order word specifies the notification code if the message is from a control.
If the message is from an accelerator, this value is 1.
If the message is from a menu, this value is zero.
0540デフォルトの名無しさん
NGNG素でMSDN知らなそう
http://msdn.microsoft.com/library/
0541デフォルトの名無しさん
NGNG2005をアンインストールしても直りませんでした。
元通りにもどすにはVC6.0を再インストするか、手動で一つ一つ関連付けしていくしかないのでしょうか?
0542デフォルトの名無しさん
NGNG素でMSDNってどういうものなんでしょう。。。
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGwb[1] = atoi(writeblock);
0546デフォルトの名無しさん
NGNGうそつき
0547デフォルトの名無しさん
NGNG_tcstol(writeblock, NULL, 16);
0548デフォルトの名無しさん
NGNG無理?
0549デフォルトの名無しさん
NGNGプログレスバーを配置する事もできるけど
リストアイテムの数だけ作る事になるから
何万ものウインドウを作る事になる。
0550デフォルトの名無しさん
NGNGその程度のアドバイスでできたら
1年後は優秀なクラッカーになるだろう
0551デフォルトの名無しさん
NGNGつーか最近見たよね
その同じ質問
0552デフォルトの名無しさん
NGNGNotFoundであることを取得するにはどうしたらいいでしょうか?
0553デフォルトの名無しさん
NGNG予想される検索キーワード: Iwebbrowser2
Win32API 質問箱
... 17 名前: デフォルトの名無しさん 投稿日: 2001/06/04(月) 22:55 >>15 IWebBrowser2
を使えばできる。 18 名前: 17 投稿日: 2001/06/04(月) 22:55 VC持ってるなら、CWebBrowser2
のソース見れば?汚いけど。 19 名前: デフォルトの名無しさん ...
pc.2ch.net/tech/kako/991/991576947.html - 101k - キャッシュ - 関連ページ
IEコンポーネントを使い倒すスレ
... 使用している単純なサンプルなどあればいいのですが・・・ 26 名前:
デフォルトの名無しさん 投稿日: 2001/02/27(火) 15:25 ↑ CWebBrowser2
も使ってはいけないってこと? それなら、難しくて分からないや。 27 名前 ...
piza.2ch.net/tech/kako/982/982930049.html - 63k - キャッシュ - 関連ページ
0554デフォルトの名無しさん
NGNG型や引数のポップアップが出なくなるんですが、何か対処方法あります?
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNGListView の特定のカラムにプログレスバーを入れたいけどどうすればいいの?
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNGswitch (message)
{
case WM_DESTROY:
// ウインドウが破棄されたときの処理
PostQuitMessage(0);
return 0;
default:
// デフォルトの処理
return DefWindowProc(hWnd, message, wParam, lParam);
}
↑こんな具合に。
C++を勉強していたときにはswithはbreakを記述しないとすべての処理を行ってしまうため、必ず記述するものだとあったのですが。。
0560デフォルトの名無しさん
NGNGreturnしなければね
0561デフォルトの名無しさん
NGNGブレイクとリターンでは意味合いが変わってくるような気もするのですが、どちらの手法を利用するべきなのでしょう?
0562デフォルトの名無しさん
NGNG検索してもわからなかったから質問したんですけど
0563デフォルトの名無しさん
NGNGreturnしないとDefWndowProc呼んじゃうんだよ、デフォルト処理したくない時はreturn
0564デフォルトの名無しさん
NGNGswithじゃなくてswitch break return のことなら C/C++スレへ
別にWindowsでもVC++特有の問題でもない。
0565デフォルトの名無しさん
NGNGこれを追ってみるといい
#include <iostream>
using namespace std;
void hoge (int p) {
switch (p) {
case 0:
cout << "0" << endl;
return;
case 1:
cout << "1" << endl;
break;
case 2:
cout << "2" << endl;
case 3:
cout << "3" << endl;
break;
}
cout << "last" << endl;
}
int main () {
hoge (0);
cout << "----" << endl; hoge (1);
cout << "----" << endl; hoge (2);
return 0;
}
0566デフォルトの名無しさん
NGNGそもそもbreakとreturnの意味が違うってところまで分かってんならもう少し考えたら
分かるだろうよ。switch文ならbreakっていう決まりがあるわけじゃなくて、breakの機能
が必要だからそこに入れるってことだろ。
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG普通はそういうことがあっても気にしない。
気にする人は自分で解析するんじゃないか?
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNGわかりやすいコードありがとうございます。
動かしてみたらリターンとブレイクで処理に違いがあることがわかりました。
0572デフォルトの名無しさん
NGNG何の関係があんだよ。おまいバカだろ(w
0573デフォルトの名無しさん
NGNGバ、バカだとぉぉ!!!!
キサマぁぁぁあぁ
0574デフォルトの名無しさん
NGNGまぁまぁまぁまぁ
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG時々、深く考えないでカキコしちゃうことがあって、しかもそういう時に
限っていらん所を突っつく奴が出て来るから、結局かかないでいい恥を
掻いてしまうタイプなんだと思う。まあ、犬に噛まれたと思えばよし。
0577デフォルトの名無しさん
NGNGBCBに浮気から本気になりそうな悪寒
0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNGデータの保持や操作はDocumentで管理し、Viewはユーザーとの対話/表示に専念させよう
という概念。
0580デフォルトの名無しさん
NGNGDoc/Viewなんてわかんなくても無問題
ダイアログベースから始めるべし
つーか、いきなりDoc/ViewはRPGでゆーとLV1でラスボス戦に匹敵w
0581デフォルトの名無しさん
NGNGそりゃないぜセニョール
インテリセンスが使えるのを前提でクソ長い名前をつけまくったんだよ。
いちいちコーディングのたびにネームスペースをコメントアウトして
書き終わってからまた戻してる現状・・・
0582デフォルトの名無しさん
NGNG簡単な画像ビューアーなどを作ったりしたことがある
職歴無しの現在無職の28歳なんですが
それでもPGできますでしょうか?
やっぱりNEにさせられるんでしょうか?
釣りでもネタでもないです。マジレスなので
ここだと実際にPG経験者がいるみたいなので
リアリティのある返答が期待できると思いまして。
スレ違いかもしれませんがお願いします
0583デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1095070402/
スレッドを立てるまでもない質問雑談スレ16 (マ板)
http://pc5.2ch.net/test/read.cgi/prog/1089465975/
聞くなら、この辺りがスレ的には正しいかも。
0585デフォルトの名無しさん
NGNGヒントでもかまわないので・・・
0586デフォルトの名無しさん
NGNGVC持ってるなら、CWebBrowser2
のソース見れば?汚いけど。
0587デフォルトの名無しさん
NGNGピクセルより細かく描画することってできませんでしょうか?
最初は1ピクセルで動かして2ピクセルにすると
2倍の速度になってしまうので、急なスピードアップになってしまいます。タイマー使わなくても遅いので細かくする必要があるかなと思いまして。
0588デフォルトの名無しさん
NGNGピクセル以下って何?
0589デフォルトの名無しさん
NGNGピクセルって最小単位だよ?
例えば、点を動かしたいのなら、座標、移動速度のベクトル、を点ごとに
保持し、
次の座標=現在座標+移動速度のベクトル×時間
という計算をすれば次の時間の座標が解かるでしょ
座標というデータを実数型にして、描画するときは小数点以下を切り捨てれば良い
0590デフォルトの名無しさん
NGNGプログラム一周してくるのが遅いから
1ピクセルをより早く動かすことができないのです。
かといって2倍の2ピクセルにすると速すぎるし。
別に特別重い処理をしてる訳でも無さそうです。
描画の数増やしても遅くならないし。
0591デフォルトの名無しさん
NGNGべつに整数倍で動かさなくても良かろう。
>>589の言ってるように移動量を実数倍で持てばいい。
例えば1.5づつ動くとすると
1.5 3.0 4.5 6.0 7.5…
小数点以下を切り捨てれば
1 3 4 6 7…
となって、全体でみると1.5づつ動いてるように見える。
0592デフォルトの名無しさん
NGNGy+=move_size;みたいな使い方してたのが間違いだった。
線形補間使えば、精度上がるんだ。
それともyとmove_sizeを実数型にするか。
>>588~>>591
みなさんありがとうございました。
0593デフォルトの名無しさん
NGNGcase WM_CREATE:
ic.dwSize = sizeof(INITCOMMONCONTROLSEX);
ic.dwICC = ICC_BAR_CLASSES;
InitCommonControlsEx(&ic);
hTrack = CreateWindowEx(0,//拡張ウィンドウスタイル
TRACKBAR_CLASS,//ウィンドウクラス
"",//ウィンドウの名前
WS_CHILD | WS_VISIBLE | TBS_ENABLESELRANGE | TBS_FIXEDLENGTH ,//ウィンドウスタイル
25, 7, 150, 15,//位置、大きさ
hWnd,//親ウィンドウ
(HMENU)0x10,//コントロールID
hInst,//インスタンスハンドル
NULL);
このように宣言し、
case WM_HSCROLL:
iPos = SendMessage(hTrack, TBM_GETPOS, 0, 0);
wsprintf(szStr, "%d", iPos);
SetWindowText(hEdit,szStr);
iPosはint型で、szStrはchar型です。
SetWindowTextでエディットコントロールへ
トラックバーの位置を表示しようとしたのですが、取得できていません。
初心者な質問ですみません。
0594デフォルトの名無しさん
NGNGmfcs42d.lib(dllmodul.obj) : error LNK2005: __pRawDllMain はすでに ModArtDLL.obj で定義されています
mfcs42d.lib(dllmodul.obj) : warning LNK4006: __pRawDllMain は ModArtDLL.obj で定義されています; 2 つ目以降の定義は無視されます
ライブラリ Debug/ModArtDLL.lib とオブジェクト Debug/ModArtDLL.exp を作成中
Debug/ModArtDLL.dll : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました
link.exe の実行エラー
というエラーが出てコンパイルできません。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNGDllMain()が定義されてるとか?
0597デフォルトの名無しさん
NGNGそれは消しました
0598デフォルトの名無しさん
NGNGつかえねーなお前等
0599デフォルトの名無しさん
NGNGまったくもって同意だ。
0600デフォルトの名無しさん
NGNGつかえねーなお前等
残ってる質問全部答えてみろよ。
0601デフォルトの名無しさん
NGNGCMyDialog.cpp(独自のクラス)から、CxxxViewクラスの関数を使うため、
#include "CxxxView.h" を冒頭に入れたら、
error C2143:構文エラー:':'が'*'の前にありません。
error C2501:'CxxxView::CxxxDoc' : 識別名を宣言するのに、型が指定されていません。
error C2501:'CxxxView::GetDocument' : 識別名を宣言するのに、型が指定されていません。
と怒られてしまいました・・・
どうしたら良いでしょう?
0602デフォルトの名無しさん
NGNGMFCの前にC++の勉強をお願いします。
0603デフォルトの名無しさん
NGNG#include "CxxxView.h"
の前に
#include "CxxxDoc.h"
を挿入
0605デフォルトの名無しさん
NGNGビルドする際にビルド番号の自動インクリメントを行いたいのですが、
アドインを探してみてもVC6用しか見つかりませんでした。
マクロを組むしかないのでしょうか?
0606605
NGNG0607デフォルトの名無しさん
NGNGとHBITMAPって同じ扱いができますか?
ReadFile( (HANDLE)hBMP, pBMP, 略); //キャストOK??
要はHBITMAPの色情報にアクセスしたいんです。
HANDLEでBitBltができるならHANDLE使うのもOKだけど。
0608デフォルトの名無しさん
NGNGできません。
0609デフォルトの名無しさん
NGNGどうすればいいですか?
ディレクトリのパスはCString型の変数で受け取ります。
0610デフォルトの名無しさん
NGNG検索キーワード教えてやるよ。
CFileFind
CComboBox::AddString
0612デフォルトの名無しさん
NGNGそれでプログラム走らせたら、エラー起こっちゃった。
レスありがと。
0613デフォルトの名無しさん
NGNG余計なお世話かもしれないけど、
ビットマップファイルを読みたいんだったら
LoadImage で LR_LOADFROMFILE を指定すればできるよ。
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGどうもありがとう。
BMPファイルを直接アクセスしようと試みてます。
が、なかなかうまくいかなくて。。。調べ不足気味です。
0617デフォルトの名無しさん
NGNGBMPファイルの構造
------
BITMAPFILEHEADER
BITMAPINFOHEADER
RGBQUAD[(1<<bpp)<=256 ? (1<<bpp) : 0 ]
ビットデータ
ビットは高さが正のときは下から、負のときは上から、
横幅は確か4バイトアラインになってた気がするので注意。
別にファイル直接操作しなくても
LoadImage で LR_CREATEDIBSECTION して
GetObject で DIBSECTION が取って来れるが。
0618616
NGNGhForeBMPを作成しようとしてます。
おそらくアクセスエラーだと思うんですが、
どこが間違ってるんでしょう?
あとDWORD単位でデータの改変できないのかな。
サンプルとか見てみると皆BYTE使ってるし。
最初DWORDで試みたけど同じくダメでした。
617さんレスありがとうです。
DWORD iFileSize=0;
BYTE *pReadData, *pData;
//ここは関係有りませんがpData取得の為載せました。
hForeDC=CreateCompatibleDC(NULL);
hForeBMP=CreateDIBSection(hdc,&biInfo,DIB_RGB_COLORS,(void**)&pData,NULL,0);
SelectObject( hForeDC, hForeBMP );
//ハンドルの取得
HANDLE hBMP=CreateFile(FileName,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
iFileSize=GetFileSize( hBMP,NULL );
//ハンドルから読み込み
pReadData=(LPBYTE)HeapAlloc( GetProcessHeap(), 0, iFileSize );
ReadFile( hBMP, pReadData, iFileSize, NULL,NULL );
CloseHandle(hBMP);
//色データ位置へ
pReadData=(BYTE*)(pReadData+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER));
pData=(BYTE*)(pData+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER));
0619616
NGNG//データの改変
int max=0,min=width;
for(int i=0; i<height; i++){
for(int j=0; j<width; j++){
if(pReadData[j*3+i*height]==0x00 &&
pReadData[j*3+i*height+1]==0x00 &&
pReadData[j*3+i*height+2]==0x00) { //黒なら白に
pData[j+i*height]=GaugeColor & 0xff; //B
pData[j+i*height+1]=(GaugeColor>>8) & 0xff; //G
pData[j+i*height+2]=(GaugeColor>>16) & 0xff; //R
}else{ //白なら黒に
pData[j+i*height]=0x00;
pData[j+i*height+1]=0x00;
pData[j+i*height+2]=0x00;
}
}
}
HeapFree( GetProcessHeap(), 0, pReadData );
0620デフォルトの名無しさん
NGNG"j*3+i*height"とか"j+i*height"のあたりがダメダメ。
もう一度サンプルをよく見てみ。
0621614
NGNGWin32APIとか覚えないといけませんか?
0622>>619
NGNG{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
CString fname = "c:\\test.bmp";
HANDLE hFile = CreateFile(fname, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
DWORD FileSizeH, FileSizeL;
FileSizeL = GetFileSize(hFile, &FileSizeH);
LPBYTE lpBMP = new BYTE[FileSizeL];
DWORD dwRead = 0;
ReadFile(hFile, lpBMP, FileSizeL, &dwRead, NULL);
LPBITMAPFILEHEADER pFileHeader;
LPBITMAPINFOHEADER pInfoHeader;
pFileHeader = (LPBITMAPFILEHEADER)(lpBMP);
pInfoHeader = (LPBITMAPINFOHEADER)(lpBMP + sizeof(BITMAPFILEHEADER));
int offset = pFileHeader->bfOffBits;
LPBYTE pPixcel = lpBMP + offset;
int PixBuffLen = FileSizeL - offset;
int BmpHeight = pInfoHeader->biHeight;
int BmpWidth = pInfoHeader->biWidth;
CloseHandle(hFile);
0623>>619
NGNGASSERT(pInfoHeader->biBitCount == 24);
int x, y;
LPBYTE p = pPixcel;
for(y = 0 ; y < BmpHeight ; y++)
{
for(x = 0 ; x < BmpWidth ; x++)
{
if(p[0] == 0 && p[1] == 0 && p[2] == 0)
{
p[0] = 0xFF;p[1] = 0xFF;p[2] = 0xFF;
}
else if(p[0] == 0xFF && p[1] == 0xFF && p[2] == 0xFF)
{
p[0] = 0;p[1] = 0;p[2] = 0;
}
p += 3;
}
}
HWND hWnd = GetSafeHwnd();
HDC hDC = ::GetDC(hWnd);
int lines = ::StretchDIBits(hDC, 0, 0, BmpWidth, BmpHeight, 0, 0, BmpWidth, BmpHeight, pPixcel, (LPBITMAPINFO)pInfoHeader, DIB_RGB_COLORS, SRCCOPY);
ASSERT(lines == BmpHeight);
::ReleaseDC(hWnd, hDC);
delete [] lpBMP;
}
でどうかな?
0624デフォルトの名無しさん
NGNGBMPの1行分は4バイトアラインになっていることは考慮しているかい?
0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNGというのも、参考書買ってサンプルプログラムで勉強しているんですが、
外部依存関係のところに宣言だけしてあって肝心の定義がみあたらないんです・・・。
0627623
NGNG考慮してませんでした。
とりあえずyのループで次のようにポインタ調整追加してみますた。
for(y = 0 ; y < BmpHeight ; y++)
{
for(x = 0 ; x < BmpWidth ; x++)
{
略
p += 3;
}
if((BmpWidth * 3) % 4) p += 4 - ((BmpWidth * 3) % 4);
}
へんなやり方でスマソ。もっとスマートな回答者、よろ。
0628デフォルトの名無しさん
NGNG0629616
NGNGGetFileSize関数の戻り値がいつもlongの最大値に
なってしまうんですが、どういうことなんでしょうか。
どのファイルを指定し取得しても、ファイル名をデタラメにして
取得(そしたら新規ファイルができると思ってやりました(調べて無いです))しても同じ結果で、42..(略)が戻ってきます。
原因はこれだと思いますが、コードも一応....
BYTE *pWriteData;
hForeDC=CreateCompatibleDC(NULL);
hForeBMP=CreateDIBSection(hdc,&biInfo,DIB_RGB_COLORS,(void**)&pWriteData,NULL,0);
SelectObject( hForeDC, hForeBMP );
//ハンドル取得
HANDLE hBMP=CreateFile(FileName,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD FileSizeL=GetFileSize( hBMP,NULL );
if(!hBMP) DebugMSG("File=%s:hBMP is NULL");
//ハンドルからデータを取得
LPBYTE pReadData = new BYTE[FileSizeL];
DWORD dwRead=0;
ReadFile( hBMP, pReadData, FileSizeL, &dwRead,NULL );
CloseHandle(hBMP);
0630616
NGNG//オフセット値を求めてピクセル情報の位置へ
LPBYTE pPixel[2]; //[0]:読み込み側、[1]:書き込み側
for(int i=0; i<=1; i++){
LPBYTE pData = (i==0)? pReadData : pWriteData;
LPBITMAPFILEHEADER pFileHeader = (LPBITMAPFILEHEADER)(pData);
LPBITMAPINFOHEADER pInfoHeader = (LPBITMAPINFOHEADER)(pData+sizeof(BITMAPFILEHEADER));
int offset = pFileHeader->bfOffBits;
pPixel[i] = (BYTE*)(pData+offset);
}
以上です。アラインは無視。
スプライトっぽい使い方をしたいので、元画像もしないといけないっぽいから....。このコードどうでしょうか。。。
//データの改変
LPBYTE pr=pPixel[0],pw=pPixel[1];
int max=0,min=width;
for(int i=0; i<height; i++){
for(int j=0; j<width; j++){ //黒なら任意の色へ
if(pr[0]==0 && pr[1]==0 && pr[2]==0){
pw[0]=GaugeColor & 0xff; //B
pw[1]=(GaugeColor>>8) & 0xff; //G
pw[2]=(GaugeColor>>16) & 0xff; //B
}else{ //白なら黒へ
pw[0]=0, pw[1]=0, pw[2]=0;
}
pw+=3;
pr+=3;
}
}
delete[] pReadData;
0631616
NGNG0632デフォルトの名無しさん
NGNGそれよりファイルハンドルにhBMPとか名前つけるのやめれ。
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNG・ファイルハンドルに対して"BMP"という名前は相応しくないから止めろ
・ハンガリアン記法は止めろ
・その他の理由
どれだろう
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNGBCBだと簡単にカコイイUIが作れるからそう思ったのですが
みなさんどうでしょうか?
0639デフォルトの名無しさん
NGNG作る人のセンスと能力次第
0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNGCreateFile()が失敗したときの戻り値はNULLではなくINVALID_HANDLE_VALUE だ。
どんなサンプルを参考にしたんだ。
0642デフォルトの名無しさん
NGNGJavaならカコイイUIが作れるぞ。
0643デフォルトの名無しさん
NGNGhttp://groups.yahoo.com/group/wtl/message/10066
ここスクリーンショット。
http://www.terrainformatica.com/org/j-smile/index.htm
0644デフォルトの名無しさん
NGNG釣りはやめて下さい。
0645デフォルトの名無しさん
NGNGtry {} catch(...) {}
と書くとアクセス違反のような構造化例外?もキャッチしてしまいます。
throwで投げられた例外のみキャッチする方法はないでしょうか?
例外の基本クラスを統一するとかしないと駄目ですか?
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGstd::string str;
str.sprintf("%d\t%d",1,2);
なんて出来ないの?
0648デフォルトの名無しさん
NGNG#include <iostream>
#include <sstream>
#include <boost/format.hpp>
using namespace std;
int main () {
ostringstream oss;
oss << boost::format ("%d\t%d") % 1 % 2;
string str (oss.str ());
return 0;
}
0649デフォルトの名無しさん
NGNG#include <boost/format.hpp>
using namespace std;
int main () {
string str(boost::str(boost::format ("%d\t%d") % 1 % 2));
return 0;
}
0650デフォルトの名無しさん
NGNGboostが嫌ならcout風に使うstringstreamか、それも嫌ならCStringにする。
0651デフォルトの名無しさん
NGNGusing namespace std;
int main () {
string str ((boost::format ("%d\t%d") % 1 % 2).str ());
return 0;
}
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNGどのようにすれば良いのですか?
0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNG出来る限り安くVC++を入手するには、どうすればいいんでしょう?
7000円とか、8000円とかは高くて・・・・・
0661デフォルトの名無しさん
NGNG7000円よりは安いと思う
0662デフォルトの名無しさん
NGNGwinnyなんてどうかしらん?
0663デフォルトの名無しさん
NGNGSpokeも安いけどさ、それならオークションで落としたほうがまだ安いよ?
0664デフォルトの名無しさん
NGNG前にβ版を詳しくないとか言い訳して製品版として売ってたやついたからなぁ・・。
しかもノークレームだよ。
0665660
NGNGカリキュラムを確認したところ、C言語でした。
Winnyはさっぱりわかりません。
オークションって、詐欺にあったりしませんか?
0666デフォルトの名無しさん
NGNGその話題は別スレだろ。
マルチは氏ね。
0667デフォルトの名無しさん
NGNGどうせ数値計算ぐらいだろ。
0668デフォルトの名無しさん
NGNGオークションで詐欺って、おまえみたいな無知が引っかかるんだよ。
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNGVC++ってコントロールが凄く少ないじゃないですか?
C***Viewでも数少ないですよね?
どうやってUIを作成していくのでしょうか?
なにか良さげHPありませんか?
0671トーシロ
NGNG0672デフォルトの名無しさん
NGNGさがってよいぞ
0673デフォルトの名無しさん
NGNGそう。
CUI=文字だけのインターフェース
GUI=ウインドウとか絵とかマウスとか使ったインターフェース
PUI=ロボットが見ぶり手ぶりしたり、マウスが画面の端にぶつかったりするとマウスが物理的に動かなくなったり、人の直観で操作・認識できるインターフェース。
0674デフォルトの名無しさん
NGNG少ないって何が足りないんだ?
具体的に何がないか書けよ
0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG別にどうでもいい
0677デフォルトの名無しさん
NGNGVC#みたいにフォームにポトってわけじゃないですよね?
それともCFormViewでポトってやるんですか?
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNGコントロールから選ぶんだけど.netだとどうなっているのかな。
0680デフォルトの名無しさん
NGNGVisual C++ 6.0 Standard
と
Microsoft Visual C++ .NET Standard 2003
この2個は何か違いがあるのでしょうか?
0681デフォルトの名無しさん
NGNGISO C++のサポートと
ユーザーインターフェイスかな。
0682680
NGNG買うとしたらどっちの方がいいでしょうか?
今のところ無償のを使っているのですが
かってみようかなぁと思いまして
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNGで紹介されている関数を応用してプログラムを組んでいたのですが、
コンパイルをすると this->getFiles(FileFind.GetFilePath() , bSubFolder , csFileArray );のところで
>グローバル関数にアクセスするための 'this' ポインタがありません。
>左側がクラス、構造体、共用体へのポインタではありません。
というエラーが出てしまいます。C++は入門書を持っていないのでthisの意味がよく分からないのですが、
どういう物なのでしょうか?googleで検索をかけても「"this" は一般すぎる言葉のため、 検索には使用されていません。」
と出てしまい、調べらません。
0685デフォルトの名無しさん
NGNG+thisとすれば一般的な言葉も検索できますよ。
0686デフォルトの名無しさん
NGNGおお、本当だ!!ありがとうございました。
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG参考にしたソースには書かれていなかったのですが、どのように宣言すればいいのでしょうか?
0689デフォルトの名無しさん
NGNG相手がわからないと思って適当な事言ってるだけだから気にしちゃだめだよ。
0690デフォルトの名無しさん
NGNGそのままコピペでもしたからだろ?
そのTipsはクラスのメンバ関数として作られることを前提にしてるから、
グローバル関数にしても使えない。
どこかのクラスに入れるか、this->を消せばOK
0691デフォルトの名無しさん
NGNG詳しく説明して下さい
0692デフォルトの名無しさん
NGNG実はCOMが検索できんで困ってたんだ。トンクス
0693616
NGNG>>632さんの仰る通りパス間違ってました。CreateFile関数の
場合、パスが厳しくチェックされるみたいですね。あと
戻り値がINVALID_HANDLE_VALUEというのも参考になりました。
SetPixel関数を使えばしっかり任意の色に塗られるのに
バイト単位で書き込む(pPixel[0]=0xffみたいに)と白の斜線に
なってしまうという疑問が出たのですが、ここはSetPixelでごまかしときます。。。
ともあれ、解決できたんで、ありがとうございました。
0694デフォルトの名無しさん
NGNG(゚д゚)ノ ハイ
>>690
なるほど。一箇所でしか使わないしわざわざクラスにする必要もないかなーと思って作らなかったのです。
消したらうまくいきました。ありがとうございました。
0695695
NGNG#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <winbase.h>
/**************/
/* メイン関数 */
/**************/
void main()
{
clock_t start, end;
start = clock();
void * hProcess;
int fRet;
hProcess=GetCurrentProcess();
fRet=GetProcessAffinityMask(hProcess,&dwProcessAffinityMask,&dwSystemAffinityMask);
fRet=SetProcessAffinityMask(hProcess,dwProcessAffinityMask);
//SetProcessAffinityMask(hProcess,4);
for(;;){
printf("表示\n");
}
end = clock();
printf("処理時間: %f秒\n", (double)(end - start) / CLOCKS_PER_SEC);
}
と参考書通りに書くと,dwProcessAffinityMask,dwSystemAffinityMaskが定義されていません。
とエラーがでます。何度かエラー解除を試みているのですが,エラーが消えません。
目的はDualCPUのフル稼働です。並列処理ではありません。誰か教えてください。
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGwinapp fatal error LNK1120: 外部参照 1 が未解決です。
というエラーがでます。どうしてですか?
0698デフォルトの名無しさん
NGNGコンソールプログラムを作るための設定になっているから。
0699デフォルトの名無しさん
NGNGCPU1なら0
CPU2なら1
だったかな?
0700デフォルトの名無しさん
NGNGできたのですがデバッグで、このようにでました。
'WinApp.exe': 'C:\WINNT\system32\NTDLL.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\KERNEL32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\USER32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\GDI32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\imm32.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\ADVAPI32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\rpcrt4.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
プログラム '[1760] WinApp.exe: ネイティブ' はコード 87 (0x57) で終了しました。
これはなんですか?
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGこのような内容の行は無視しても大丈夫
ついで言うと >>697
よく分からなかったらエラー番号の上にカーソル持っていって F1 キー
0704デフォルトの名無しさん
NGNG'WinApp.exe': 'C:\WINNT\system32\KERNEL32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\USER32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\GDI32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\imm32.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\ADVAPI32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\rpcrt4.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
プログラム '[1760] WinApp.exe: ネイティブ' はコード 87 (0x57) で終了しました。
と表示されます。どうしてですか?
0705デフォルトの名無しさん
NGNGマルチスレッドプログラミング相談室 その2
ttp://pc5.2ch.net/test/read.cgi/tech/1037636153/
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNG相手にする香具師もうぜぇ。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNGいい加減にしろ。向こうのスレでも答えてもらってんだろ。
0712695
NGNG#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <winbase.h>
/**************/
/* メイン関数 */
/**************/
void main()
{
HANDLE hProcess;
int fRet;
DWORD dwProcessAffinityMask,dwSystemAffinityMask;
hProcess=GetCurrentProcess();
fRet=GetProcessAffinityMask(hProcess,&dwProcessAffinityMask,&dwSystemAffinityMask);
fRet=SetProcessAffinityMask(hProcess,1);
for(;;){
printf("表示\n");
}
}
と書き直したらエラーは消えるのですが,CPUは以前と1/4しか使っていません。
どうすればCPUをフル稼働させることができますか?教えてください。
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG#include <stdio.h>
#include <windows.h>
#include <process.h>
#include <stdlib.h>
#include <time.h>
static
void task(void* id){
SetThreadAffinityMask(GetCurrentThread(),1UL<<atoi((char*)id));
clock_t start=clock();
printf("タスク%sの開始\n",id);
while(clock()-start<15*CLOCKS_PER_SEC){
//何か
}
printf("タスク%sの終了\n",id);
}
main(){
HANDLE t1=(HANDLE)_beginthread(task,0,"1");
task("0");
WaitForSingleObject(t1,INFINITE);
return 0;
}
0715デフォルトの名無しさん
NGNG0716695
NGNG試してみたいと思います。
0717デフォルトの名無しさん
NGNGが出てこなくなりました。どうしたら表示できますか?
かれこれ1時間近く探してます・・。・゚・(ノД`)・゚・。
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNGという設定ダイアログを最近よく見かけるようになりました。(WinAMPやOpenJane等で使われている)
こういうダイアログは自作なのでしょうか?
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNGいやそういう意味ではなく
ツリービューを配置したダイアログを作成して、ツリー項目が選択されたら子ダイアログを右側に表示
とかそういうコードをシコシコ書いているのか、
SHBrowseForFolderみたいに一発で表示できるとか、
MFC等のライブラリにそういうものがあるのかな、と。
0722デフォルトの名無しさん
NGNGなっている。
>ツリービューを配置したダイアログを作成して、ツリー項目が選択されたら子ダイアログを右側に表示
とかそういうコードをシコシコ書いている
たぶんそうでしょう。これ自体は数行で書けるから技術的な問題は
ほとんど無いかと。
0723デフォルトの名無しさん
NGNGOpenJaneは確かデルファイでオープンソースでは?
winampのリソース見てみたけど、右側のダイアログはこんな感じ。
(左側は実際のWinampの設定画面)
http://v.isp.2ch.net/up/3c1e4e393976.png
0724デフォルトの名無しさん
NGNG明らかに見た目も機能も(右クリックへの対応など)ばらばらなのに同じAPIで実現されてるわけ無いだろ。
0725デフォルトの名無しさん
NGNGあれって、
CListCtrlから派生クラスを作成(例えばCListCtrlEx)するんですよね?
そのCListCtrlExをViewに選択するときってどうするんですか?
プロジェクト作成時のViewはCViewでも良いのでしょうか?
0726デフォルトの名無しさん
NGNG漢なら自作するに決まってるだろ。
コモンダイアログすら使うことは許さん。全て自前で書け。
0727デフォルトの名無しさん
NGNGみたいなバカはシカトでOKだよ
そのCListCtrlExクラスのインスタンスを作成してCreateを呼べばCViewに表示されるよ
0728デフォルトの名無しさん
NGNGBCBじゃだめ?
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGリソースエディタでは256色までのBitMapファイルしか
取り込めないのでしょうか?
クライアントに32Bitや16BitのBMP画像を表示するには
どうすればいいのでしょうか・・・。
CHtmlViewを描画の基本クラスにすれば
画像ファイルを指定して読み込んで表示できるようですが、
CViewを使ってやるにはどうすればよいのでしょう。
ほんとアホな質問で申し訳ありません。
環境はWindowsXP:Home,VisualC++6.0です。
0731デフォルトの名無しさん
NGNGアホな質問はよそでしてください。
0732デフォルトの名無しさん
NGNGグリッドコントロールみたいのないの?
VC.NET(アンマネージ)
0733デフォルトの名無しさん
NGNG0734半日潰れた
NGNG勝手に付加してコピーしてくるんですけど・・・
なんなの?
0735デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1091543344/269
から移動してきました。
2003 向けのプロジェクトを読み込んで、makefile を作るにはどうしたらいいですか?
それを使って、Visual C++ Toolkit 2003 でビルドしたいんです。
0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNGドキュメントクラスで、ワーカースレッド立ち上げて、
そこから、Viewクラスに情報を渡したいんですが、
こういう場合、一般的にはどうするのでしょうか?
グローバルでやりとりもスムーズも余りきれいにはいかないですし、
Documentクラスのポインタをワーカースレッドに渡して仲介すべきなのか、
Viewのポインタを渡した方がいいのか、、、スマートな方法を教えてください。
よろしくおねがいします。
0740デフォルトの名無しさん
NGNGGetDocument
0741739
NGNGすみません、UpdateAllViewsだと、Viewのイベントになりますよね。
補足ですみません、しばらく考えましたが、
ワーカースレッドから、Documentにメッセージを送れるとよさそうです。
SendMessageでいけるかと思ったのですが、ハンドルがもちろん無いので駄目でした。
ワーカースレッドから、Documentにメッセージを送る方法はあるでしょうか?
0742デフォルトの名無しさん
NGNGDocumentクラスのポインタをワーカースレッドに渡して仲介
スレッドの中からそのポインタで上のメンバ関数を実行
0743739
NGNG明解、ありがとうございます。
そうすると、ワーカースレッドがDocumentの型を意識する事になるので、
ちょっと躊躇していましたが、仕方なさそうですね。
ありがとうございます。
0744デフォルトの名無しさん
NGNGそもそもドキュメントに対してなんらかの処理をするワーカスレッドが
ドキュメントの型に依存してないわけが無いのではなかろうか・・・。
0745デフォルトの名無しさん
NGNGマイピクチャフォルダに入っているビットマップは、リソースに追加可能なのですが、
このフォルダ以外の場所においてあるビットマップはリソースに追加できません。
やったことは
リソースビューの .rc を右クリック → リソースの追加 → Bitmapを選択してインポート
→ ビットマップファイルを選択 → 開く
これで、なぜかマイピクチャに入っているものは追加可能でしたが、それ以外のフォルダや
マイピクチャ下に作ったフォルダの中に保存していたビットマップは開くボタンを押してもリソースビューに追加されませんでした
追加したいファイルのあるフォルダはどこかに事前に登録しておく必要とかあるのでしょうか?
それとも、ビットマップを追加するとき制約でもあるのでしょうか?
解決方法を教えてくださいm(_ _)m
Visual C++ .NET 2003
Windows XP home SP2
0746デフォルトの名無しさん
NGNGソース階下のRESフォルダに入れてみては?
あと、ファイル名が全角とか。
0747745
NGNGレスありがとうございます。
それもやってみたのですが、だめでした。
ファイル名はすべて半角英文字です。
0748デフォルトの名無しさん
NGNGYahooでVisual C++6.0欲しさにオマケソフトが色々付くと有ったVisualStudio6.0買ったんですが
肝心のC++6.0がセットアップできませんorz というかC++のCDがありません;
ひたすら検索しても妙な説明ページに引っかかりまくるばかり・・
どなたかセットアップ方法紹介しているサイトなり有ったら教えてください、
変な欲出さなきゃ良かった・・ ||orz
0749デフォルトの名無しさん
NGNG子ウィンドウにタブとかスライダー等、色々配置したいのですが
どうすればいいか迷っています。
プロパティシートを使えばという気もしますが
[OK]ボタン等が必要ないので、他にいい方法があれば
教えていただけませんでしょうか?
よろしくお願いします。
0750デフォルトの名無しさん
NGNG0751616
NGNG0752デフォルトの名無しさん
NGNG1時間も経たんのにマルチポストするような香具師には答えたくない
0753デフォルトの名無しさん
NGNGCD再生しようとしているんですが
TMSF(トラック:分:秒:フレーム)で取得したDWORD値
をどうすれば秒に変換できますか?
というかそもそもそれは再生位置の移動(シーク)だけに使用
する値なんでしょうか。だったら、
別の方法で取得しなければいけませんが。
0754デフォルトの名無しさん
NGNGルートにビットマップファイルを置いて読み込んでみたら?
フォルダ名・ファイル名だけでなく、Pathの途中にスペース、
全角等があると、読み込めない筈。
0755デフォルトの名無しさん
NGNGVB6.0でラベルをフォームに配置するときに、メニューバーで配置するのではなく、
コードを使って座標などを指定して配置したいのですが、どのようにすればいいのでしょうか・・?
また、lineメソッドなどで書いた図形が、他のアプリと重なった時に消えないようにするには
どうすればいいのでしょうか。
どなたかお願いします。
0756デフォルトの名無しさん
NGNGVBプログラマ質問スレ(6.0以前) Part38
http://pc5.2ch.net/test/read.cgi/tech/1095673000/l50
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNGそういうDLLはありますでしょうか?
ご存知のかた教えていただけると助かります。
0759745
NGNGまったくそのとおりです。
ルートフォルダなら問題なくできました。
いろいろ試したところ、パス名に全角文字が入っていた場合に読み込みできないことがわかりました。
ありがとうございました。
0760デフォルトの名無しさん
NGNGクライアント領域に一つのViewしかつくれないの?(分割しなかったら)
ほんとつかいずれーよなw
0761デフォルトの名無しさん
NGNG...
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGサンクス。
ほかの場所にでも無理ですか?
(右下の貧弱なのだけ?)
0766デフォルトの名無しさん
NGNGつか、VC++のバージョンを書いとけよ…
VS2003だったら、
オプション -> テキストエディタ -> C/C++ -> 全般
にある
0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNGMFC AppWizard(exe)で作ったプログラムではメインをいじったりできませんか?
というかメイン関数を見ることすら出来ないんですが・・・。
0771デフォルトの名無しさん
NGNG何をしたいのか知らんが、WinMainはMFCの中にある。
0772デフォルトの名無しさん
NGNGええ。実はそれ自体は知っているんですが,どうにかしていじれないですか?
やっぱり1から自分で作らないとダメでしょうか?
0773デフォルトの名無しさん
NGNG何をしたいのか知らんが、大抵のことはWinMain()以外で充分できる。
0774デフォルトの名無しさん
NGNGどうしてもWinMainをいじりたいなら当然自分で作らないとダメ。
0775デフォルトの名無しさん
NGNGメッセージで動くから、メインなんかいじってもしょうがない。
0776デフォルトの名無しさん
NGNG1ファイル目はうまくいくのに2ファイル目以降がfin.open((LPCTSTR)(dirname + "\\" + filename));でオープンに失敗してしまいます。
while(getline(fin, line))の部分をコメントアウトすれば成功するので、おそらく原因はそこなのでしょうが、何故なのかがわかりません。
出来れば解決法も含めて教えてください。開発環境は Visual C++.NETです。
CString dirname; /* ディレクトリの名前 */ CString filepath; /* dirname\*.txtに適合するファイルのパス */
CString filename; /* dirname\*.txtに適合するファイル名 */ CFileFind FileFind;
BOOL bfnf; /* FileFind.FindNextFile()の成否 */ string line; /* ファイルから1行読み込む時のバッファ */
ifstream fin;
filepath = dirname + "\\*.txt";
if(!FileFind.FindFile(filepath)) return FALSE;// dirname\*.txtなるファイルを取得。なければ終わり
do{
bfnf = FileFind.FindNextFile();
if(!FileFind.IsDots()){// .\や..\の除外
filename = FileFind.GetFileName();
fin.open((LPCTSTR)(dirname + "\\" + filename));// dirname\filenameのファイルを開く(CString->char*)
if(!fin)return FALSE; // ファイルのオープンに失敗したらFALSEを返し終了
while(getline(fin, line)){// 1行取って来る(失敗したら終了)
/* 色々な作業 */
}
fin.close();
}
}while(bfnf);
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNG「色々な作業」でFileFindかなにかを壊している悪寒。
whileブロックをコメントアウトしたら動くのなら、少しずつ戻していってどこで動かなくなるか試してみ。
#ソース晒した方が早そうだが。
0779776
NGNGありがとうございます。/* 色々な作業 */の所は今の所全てコメントアウトしているので、
多分関係ないのではないか、と思います。
2ファイル目でfin.openが失敗して(多分) if(!fin)が成り立ってreturn FALSE実行される↓
fin.open((LPCTSTR)(dirname + "\\" + filename));// dirname\filenameのファイルを開く(CString->char*)
if(!fin)return FALSE; // ファイルのオープンに失敗したらFALSEを返し終了
while(getline(fin, line)){// 1行取って来る(失敗したら終了)
/* 色々な作業 */
}
fin.close();
if(!fin)が成り立たず、全てのファイルでfin.openが成功しているのを確認↓
fin.open((LPCTSTR)(dirname + "\\" + filename));// dirname\filenameのファイルを開く(CString->char*)
if(!fin)return FALSE; // ファイルのオープンに失敗したらFALSEを返し終了
// while(getline(fin, line)){// 1行取って来る(失敗したら終了)
// /* 色々な作業 */
// }
fin.close();
こんな感じです。
0780デフォルトの名無しさん
NGNGgetline()の第2パラメータの型とlineの型を調べよ。
#少なくとも>776はコピペミスしてそうだ。
0781マイク ◆yrBrqfF1Ew
NGNG0782776,779
NGNGそれだ!!というかこんなのあったんだ…fstreamとか使うの初めての上適当にやってたので全然知りませんでしたorz
1つめのファイルのgetline(fin,line)がFALSEになった時にfinのファイルストリームがEOFにセットされてるから必要になるんですね。
ありがとうございました。
>>780さんもありがとうございました。
0783デフォルトの名無しさん
NGNG> VS2003だったら、
> オプション -> テキストエディタ -> C/C++ -> 全般
> にある
列を上に表示するオプションなんてないぞ??
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNGVCVARS32.BATを実行した際に、
環境変数のための領域が足りません
と表示される場合には、
どうすればよいのでしょうか?
今からC言語を勉強しようとしている初心者です。
よろしくお願いします
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNGhttp://www.mapletown.net/~nekora/soft/howto/vcvars32.html
0788デフォルトの名無しさん
NGNGいっぱいのwin32 C++のソースを元にして、
さらに進めていかなくてはいけない状況です。
VS2003で、整理してクラス化するのに
うまい方法はないでしょうか。
JavaやVS2005のC#やVBにはリファクタリングと
いう便利な機能があると聞いたのですが
C++>C#という変換というのもなさそうですし、
かといって手作業でとなると膨大で悩んでいます。
0789デフォルトの名無しさん
NGNG弊社の優秀なスタッフが動作検証まで含めてクラス化を行ないます。
規模によりますが、ほぼ0からの設計と同程度の時間と費用が掛かるとお考えください。
0790デフォルトの名無しさん
NGNG思ってるのですが
ダイアログベースじゃないアプリの場合、コントロールはどこに
貼り付ければいいのですか?
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6
0795デフォルトの名無しさん
NGNGおまえバカだろ?
どうやって貼るんだよ
ダイアログベースじゃないっつってんじゃんよ
マジ死んでくれ
0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNGばかかおめー
0798デフォルトの名無しさん
NGNG餅はカロリー高いんだよ!
氏ね
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNGActiveXコントロールといってもいろんな種類があります。
単なるDLLとして使うのであれば.hをインクルードして
.libをプロジェクトに追加します。
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG委託できるほど研究費がもらえた際にはぜひ貴社に。
むぅ、機械科が作ったソースなんて・・ orz
0805763
NGNG>784
VS>ツール>オプション>テキストエディタ>全般。。。
列表示が見つかりません。
VS>ツール>オプション>テキストエディタ>C,C++>全般。。。
にも見つかりません。
.NETなんですが、
.NETって2003ですよね。
0806デフォルトの名無しさん
NGNG列の表示できないな。
VSで行の表示が追加されたぐらいだ。
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNGそうですか、ありがとうございました。
>807
そんなことはないですよ、かなり役に立ちます。
0809デフォルトの名無しさん
NGNG適当なテキストエディタ用意してVisualStudioに登録しておくのがいいかと。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGツール>外部ツール?
あれは新しく開くから使いにくいのだけれど、ほかに方法があるのか?
0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGプロジェクトへ追加 コンポーネントおよびコントロールは
VS2003でなくなっちゃったの?
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNGCImageで読み込んだ画像をIntegerのフィールドに
転送したいのですが、GetPixelを使うと遅すぎてつらいです。
なにか良い方法はないでしょうか。
画像サイズは4800 x 4800 の、BITMAPを読み込んだものです。
色数は 1ビット、および8ビット(モノクロ256階調)です。
転送先は、new int[4800*4800] で、書き込みは、転送元が
白でないなら、intの特定のビットをONにしています。
高々25Mピクセルの転送に数分(1.4GHz)かかっているので
多分関数オーバーヘッドおよびGetPixelの過剰な処理が効いているのだと考えています。
メモリ転送系で一気にバッファに写す、あるいは少なくとも
CImageの各ピクセルにポインタで直接アクセスしたいのですが。
0817デフォルトの名無しさん
NGNGそれだけの大きさの画像なら、自前でbmpを読むか外部のライブラリを使うなどしたほうが無難な気がする。
0818デフォルトの名無しさん
NGNGCImage::GetBits()
0819デフォルトの名無しさん
NGNG若かったころは.magを読み込んで使うミニゲームなど作ったもんですが。
(ロジックの解説を読んでローダを自作しました)
ちかごろとんと根気が無くなってしまいました。
>>818
一度GetBits()を使ったことがあるのですがなんか上手くいかなくて。
たとえば、各ピクセル1バイトなら、GetBits()が返すのが
バッファの先頭バイトなので、
unsigned char* pcTop = (unsigned char*) CImage.GetBits();
と仮定して
cPixelValue = pcTop[4800*y + x];
みたいな感じですか。
あるいは一気に行くことができるのか・・・。
unsigned char pcMegaBuffer = new unsigned char[4800*4800];
memcpy(pcMegaBuffer,pcTop,4800*4800);
0820デフォルトの名無しさん
NGNGBMPの1ラインは4バイトアラインになっていることに気を付けよう
0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNGすみません。よくわかりません。
16ビット時代のintegerのバイト並びがひっくり返ってるとか
その手の話でしょうか。
あるいは一行の最低単位が4バイトで端っこに余白が出るとか
そっち系ですか?
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNGありがとうございます。
今、GetBits()を使って得た番地をもとに
1ピクセル1ビットのフィールドをintのフィールドに転送する
ループを組み立て中なので、まもなく勝利か玉砕の報告を
させていただきます。m(_ _)m
0825デフォルトの名無しさん
NGNGリファクタリングは「機能」ではない。
0826デフォルトの名無しさん
NGNGGDI++はアホのように重いから・・・使うな。
0827デフォルトの名無しさん
NGNGそんなもん人の勝手
0828デフォルトの名無しさん
NGNG踏んだ地雷
・GetBits()が返していたのは実は「ビットマップバッファの末尾近く」のほうで
そこから先をアクセスしようとしてアクセス違反。(前回の失敗はこれらしい)
自爆
・向きを間違えて水平鏡面転送してしまい、確認するのに小1時間。
埋め込んだ地雷
・「末尾近く」ってどこ?なんか転送がずれるんですけど。
とりあえず謎の定数を埋め込んでおおむね転送可能にしたけれど
完全に一致してるんだろうか。
・仕様
最終1ラインでアクセス違反が出るので最後1ラインだけ転送せず。
まーいーや。端っこはどうせ使わないし。ケンチャナヨ〜
というわけで3分近くかかるため敬遠されていた函数群が
1秒強まで短縮できたので、判定は「大勝利」ということで。
皆様有難うございました。m(_ _)m
さて、飯でも食いながら戦後処理(ソースをにらんで作ったきり忘れ去られた
函数群を発掘する。動作不明のショートカットキーを紙に書き出す)でも
はじめます。
0829デフォルトの名無しさん
NGNGCImage::GetBits()は
「返されるポインタは、座標 (0, 0) のピクセルを指します。」
らしいよ。
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNGhttp://deepbluesky.hp.infoseek.co.jp/index.html
0832デフォルトの名無しさん
NGNGそのサイトのどこにプログラムが?
0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNGだから?
0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNG無理して勉強する必要はないよ
0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNGダイアログボックスにドラッグドロップを使って、ファイル名を選択できるように
したいのですがやり方がわかりません。
プロパティで"ドラッグドロップを許可"にチェックをいれましたが、ここから先が
わかりません。ご教授ねがいます。
0840デフォルトの名無しさん
NGNG以前、9x系OSで試した所、失敗した様な記憶があります。
テストしようにも、今現在 9x系OSの環境が無いのでテスト出来ません。
宜しければどなたかお教え願いませんでしょうか?
CFile File;
char path[_MAX_PATH];
::GetModuleFileName(NULL, path, _MAX_PATH);
if(!File.Open(path, CFile::modeRead)){ TRACE("Error!\n"); }
File.Close();
0841デフォルトの名無しさん
NGNGとりあえずヒント
1.ダイアログボックスの「ドラッグドロップを許可」を有効にする
2.「WM_DROPFILES」メッセージハンドラを用意し、処理する
0842デフォルトの名無しさん
NGNGファイル共有違反になるね。
CFile::modeRead | CFile::shareDenyWrite
なら開けるよ。
0843デフォルトの名無しさん
NGNGアドバイスありがとうございます。
力不足により、まだ解決していないため、再度アドバイスお願いします。
ダイアログボックスの「ドラッグドロップを許可」を有効にし、
WM_DROPFILESのメンバ関数OnDropFiles(HDROP hDropInfo) を作成するところまでは
できましたが、ファイルをドロップしても、この関数が呼ばれません。
この関数が呼ばれれば、処理はなんとかなると思うのですが、関数が呼ばれない理由がわかりません。
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG試してみたら確かに呼ばれない・・・と思ったらCAboutBoxに作ってた。
後は、ClassViewからCHogeDlgを右クリックして「Windows メッセージハンドラの追加」
「クラスで使用可能なメッセージ用フィルタ」を「ウィンドウ」にして「W_DROPFILES」を選択し
「ハンドラの追加」ボタンをクリックしてますか?
当方、VC++6.0(SPなし)にて呼ばれることを確認。
0846デフォルトの名無しさん
NGNGアドバイスどうもです。
845さんが書かれている通りのやり方で、メンバ関数OnDropFiles(HDROP hDropInfo)を
インプリしてますが、未だに上手くいってません。
>>844,845
DragAcceptFiles() をOnInitDialog() に書いて見ると、全てのダイアログでOnDropFilesが
呼ばれるようになりました。 ですが、ドラッグドロップを許可」を有効にてある、ダイアログ
だけは、反応がありません。
再度質問ですが、
1. ダイアログのプロパティで 「ドラッグドロップを許可」を有効にした場合、DragAcceptFiles()を
記述する必要があるのか?
2. 記述する必要がある場合、どこに記述するのか?
もしわかりましたら、よろしくお願いいたします。
0847デフォルトの名無しさん
NGNG自己レスです。
状況がわかりにくくすみません。もう一度整理します。
やりたいことは、ダイアログアプリケーションに貼り付けた、エディットBox で、ドラッグ&ドロップをしたい です。
エディットBoxのEditプロパティで「ドラッグドロップを許可」を有効にしていますが、OnDropFiles が上手くよばれません。
試しに、 全体のダイアログプロパティで同様のことをやってみたら、OnDropFilesが呼ばれました。
先ほど自分で質問した、"DragAcceptFiles() をOnInitDialog() に書いて見ると〜" というのは、たぶんこのことと
同じことをやっているのだとようやく理解できました。
エディットBoxでドラッグ&ドロップを受けたい場合には、なにか特別のやり方があるのでしょうか?
0848デフォルトの名無しさん
NGNG1.どちらかを行えばいい。両方やると重複するだけ。
2.記述する場所について特に決まりはない。OnCreateやOnInitDialogなど。
>847
CEditをサブクラス化すればできなくはないが、
よりお手軽な方法はダイアログ内の座標で判断するとか。
0849デフォルトの名無しさん
NGNGエディットをサブクラス化して、エディット宛てのWM_DROPFILESを処理するのが簡単なのでは。
0850デフォルトの名無しさん
NGNG子供(Edit)のOnDropFilesが呼ばれていないだけでは?
(メッセージは1つしか飛ばない)
0852デフォルトの名無しさん
NGNG漏れはいっつもダイアログベースばっかりだから疑問に思いました。
Document/Viewだとコントロール使えないから不便で仕方ない
FormViewつかえばいいが、それだったらはなからダイアログベースで問題ない
0853デフォルトの名無しさん
NGNG君はVBを使ってた方が良い
0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNGDocument/Viewなんてそんなにこだわる必要ないよ
ほとんどの人は
Documentについて知り過ぎたView
Viewについて知り過ぎたDocument
なんて実装してるから、Document/Viewの意味がない
0856デフォルトの名無しさん
NGNGふつうViewはDocumentを熟知している。
0857デフォルトの名無しさん
NGNGそれを避けたければ、コントローラを分離してあるMVCを採用するべきだし
当然関連が分散して保守もその分難しくなる。
0858デフォルトの名無しさん
NGNG厄介なのはビューがドキュメントをひとつしか扱えない点とか、ダイアログ表示にしずらい部分か
0859デフォルトの名無しさん
NGNGなにいってるの?
まったく意味がわかないんですが
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNGとりあえず、ダイアログでメッセージを受け取る方法でプログラムを完成させました。
いろいろとアドバイスありがとうございました。
0862デフォルトの名無しさん
NGNGcl /01 main.cpp /LD /link user32.lib /def:ts.def
とやると、windows.hが無いぞと怒られます。
Microsoft Visual C++ Toolkit 2003を使ってるのですが、どうやれば良いのでしょうか?
0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNGスクロールバーが表示されないのですがどうすれば
表示されるのですか?
0865デフォルトの名無しさん
NGNG状況がわからんん
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGCScrollViewがウィンドウサイズとスクロール ビューのサイズを比較して、必要なら表示される。
表示がはみ出しているのにスクロールバーが表示されないなら、SetScrollSizes に
指定しているサイズが小さすぎるということ。
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNGThanx
0872デフォルトの名無しさん
NGNG皆さん、なぜVC++を使われるのですか?
圧倒的にC++Builderの方がGUIは作りやすいと思うのですが・・・
0873デフォルトの名無しさん
NGNG自分の場合は、まだ、プログラムを覚えようとしていた時、
買ってもらったのがVC6(アカデミック)だったからかな。
2つ買うのはもったいないでしょ。
商用ソフトを作るときは、BCCでコンパイルしてexeを作る。
Win32API直書きで作るけど、どちらの場合も作りにくいと思った事は無い。
0874デフォルトの名無しさん
NGNG圧倒的情報量の多さ、高機能なエディタ、コンパイラの最適化が優秀、一応M$製...etc
やっぱり使っている人間が多いというのが大きいかも(必然的に情報量が多くなるので)。
0875デフォルトの名無しさん
NGNG盛んに言っててパッケージのデザインも暗くて重苦しい感じだったし、
書籍とかもあんまり無かったのでどうかなぁ〜と思って躊躇した。
VC++は書籍も多かったから色々調べるのに便利だろうし
何より明るいパッケージで取り掛かり易そうな感じがしたからだな。
まあ、何も分からないで買ったんだが、今になってみれば正解だった。
ボーランドはインプライズと社名を変えて再びボーランドに戻る
なんていうことしてるから、やっぱりなんか不安な印象がある。
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNGと同じルーチンの匂いがする。
0878デフォルトの名無しさん
NGNG奴らが集まるスレだろ。他の言語の素晴らしさを語りたい奴らは
他所でやれ他所で。('A`)
0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNGことが多くて困ってます。
接頭詞の略語を解説したページをご存知ありませんか。
http://www.google.com/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&oe=Shift_JIS&q=api+%95%CF%90%94+%90%DA%93%AA+lp&lr=
と検索してみましたがなかなかヒットしませんでした。
hInstanceのhやlp〜も最初は分からなかったし、
今でも謎なのはLPCTSTR・・
LP-CT-STRだとすると、CTって何だろうとか(^^;
特に2文字略語ですが、機能を理解すれば自明ですけど
理解する過程が大変です。なにとぞ宜しくお願いします。
0881デフォルトの名無しさん
NGNGCTはconstだったはず
ちがったっけな
ハンガリアン記法
で検索汁
0882デフォルトの名無しさん
NGNG惜しい。
C は const
T は TEXT(らしい。なぜか。おれはTRANSITIONALのほうがふさわしいと思ってるが・・・。
LPCSTR/LPCWSTRもある。
0883デフォルトの名無しさん
NGNGdllファイルを使用するときに、ファイルをそのプロジェクトや
systemディレクトリにコピーせずに、
includeファイルやlibファイルみたいに読込先を指定して
読み込む方法は無いですか?
0884デフォルトの名無しさん
NGNG1年くらい前にちょろっとやっただけなんですっかり忘れたが、
そん時のソース発見した。
遅延読み込みを使用する。
#include <delayimp.h>
#pragma comment( lib, "delayimp.lib" )
をヘッダに入れて
FARPROC CALLBACK DelayLoadHook(unsigned dliNotify, PDelayLoadInfo pdli)
{
if ( dliNotify==dliNotePreLoadLibrary )
{
TCHAR dllPath[MAX_PATH];
PathCombine( dllPath, _T("DLLの場所\\"), pdli->szDll );
return reinterpret_cast<FARPROC>( LoadLibrary( dllPath ) );
}
else return 0;
}
とか作って
extern "C" PfnDliHook __pfnDliNotifyHook2 = DelayLoadHook
っていれる。
コンパイラオプションで目的のDLLを遅延読み込み指定する。
で出来ると思う。
多分。
0885デフォルトの名無しさん
NGNGLPlong poniter
hhandle
Cconst
0886デフォルトの名無しさん
NGNGハンガリアン記法は一般的なものだと思ってたんですが、
もともとMSの人の発案なんですね。検索したらいくつか
略語の解説がみつかりました。
CTでひとまとまりだと思ってたら、まさか一文字が略語とは
気づきませんでした。女子高生のさらに上をいきますね(^^;
0887デフォルトの名無しさん
NGNGCが付くのはconstで読み出し用
Cなしは書き込み用
Tが付くのはUNICODE互換でワイドとの切り替えあり
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG↓
入力
↓
動いた
↓
ちょっと変えてみる
↓
で?
↓
何も得ない
って状態なんだが・・・・・・
あと、コンパイルに時間が掛かるのは仕方ないのかな・・・・・・(体感10秒くらい)
0890デフォルトの名無しさん
NGNGああ、30分とか1時間とかじゃないんだ
幸せだな
0891デフォルトの名無しさん
NGNGプリコンパイル済ヘッダー
#include "stdafx.h"
ってのを使うと、コンパイルが速くなるよ。
新規にプロジェクト作って、
標準的な"Hello World! アプリケーション"
で作ると、stdafx.hとか、stdafx.cppってのが作られるけど、
これらが速くしてくれる。
今はちょっと長々と説明できないんで、これにて。
0892デフォルトの名無しさん
NGNGlseek64()を使ってますが、2GB以上のファイルを扱えず、
2の31乗以上の値を指定するとエラーになります。
どうすればいいですか?
0894デフォルトの名無しさん
NGNGOSとHDDのフォーマット方法も関係するけど
0896デフォルトの名無しさん
NGNG新規プロジェクトで、初めからstdafx.hとかある場合は、
そのstdafx.h内で、よく使うヘッダーをincludeする。
手動でやる場合は、
:stdafx.h、stdafx.cppを新規にプロジェクトに追加
(どっか別に新規プロジェクト作って、そのstdafx.h、stdafx.cppを持ってきた方が無難かも)
:よく使うヘッダーは、stdafx.hでincludeする。
:すべてのcppファイルの先頭で、stdafx.hをincludeする。
:プロジェクト「設定」>「c/c++」>カテゴリ「プリコンパイル済みヘッダー」>「プリコンパイル済みヘッダー(,pch)を使用」
:「このヘッダーまで」の欄に「stdafx.h」を入力してOK。
これで速くなると思う。初回は変わらんかもしれんけど、ちょっとした修正程度なら、抜群に速くなると思う。
ただ俺もそこまで詳しくないから、足りん部分があるかもしれんけど、
とりあえず俺はこれで毎回1分30秒くらいかかってたのが、3〜5秒になった。
0897デフォルトの名無しさん
NGNGアホな初心者の独り言だってば
0898デフォルトの名無しさん
NGNGlong 桁以上なら2回に分けてseekする。
0899デフォルトの名無しさん
NGNG2回に分けただけじゃ2^33-2バイトしか扱えないぞ。
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGconst 定数はそういう意図がなんですか。
TextはそれでUnicodeなんですね。
意味が分かると段々ソースを眺めても頭痛がおこら
なくなりました。ありがとうございます。
脳内の問い合わせエラーが減ったのかも(^^;
0902デフォルトの名無しさん
NGNGUnicodeじゃねーよ・・・何勝手にあさっての方向に脳内補完してんだよ。
0903デフォルトの名無しさん
NGNGちょっと知ってるからって偉そうにすんなよ
ヲタ君w
0904デフォルトの名無しさん
NGNG_UNICODE,UNICODEと二つに分かれてるのは何でだろ
0905デフォルトの名無しさん
NGNGhoge.cppを編集中にhoge.hを編集したいことってありますよね?
その際にキーボードから一発でできませんか?
BCBだとCtrl+F6でいけるんだけど・・・
VS2003を使っています。
0906デフォルトの名無しさん
NGNGまぁ難しくないから作ってみれば
0907デフォルトの名無しさん
NGNG作れるくらいなら最初から質問しない
0908デフォルトの名無しさん
NGNG_UNICODEはOS依存APIの切り替え指定、UNICODEはCRTのテキストルーチンマッピング(_tcs系)
0909デフォルトの名無しさん
NGNG逆だったと思うが…
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNGAlt+Space S ← で幅を変えられる。
高さを変えたいなら ↓ だ。
0913デフォルトの名無しさん
NGNGその質問と回答って最近別スレで見た
マルチはだめだよ
0914デフォルトの名無しさん
NGNGSetWindowPosのことだと思われ。
分かってて書いてるのかも知れんが。
0915デフォルトの名無しさん
NGNGhttp://www.google.com/search?num=50&lr=lang_ja&q=h+cpp+%E5%88%87%E6%9B%BF+%E3%83%9E%E3%82%AF%E3%83%AD
0916デフォルトの名無しさん
NGNGWin2k VC6 を使ってます。
指定したディレクトリ以下のファイル・サブディレクトリ(もちろん中身あり多階層)
全てを削除するプログラムを書きたいのですがさっぱりわかりません。
ファイルを消すのは FindFirstFile と FindNextFile で検索して
順次 DeleteFile で消していくという方法でできたんですが、
ディレクトリが絡んでくるとさっぱりわかりません・・・ orz
とくに多階層になってるとどのような手法で消していけばいいのかさっぱり・・・
どなたかこのド素人に手法を伝授してください
0917デフォルトの名無しさん
NGNG*全体をループで構成する
*見つけたのがディレクトリなら中身がないか確認する
*中身を消す(中身に中身があったらまたループ)
*中身がなくなったらディレクトリを消す
*全部なくなるまで繰り返す
0918デフォルトの名無しさん
NGNGDeleteAllFile(char *){
フォルダを見つけたらDeletAllFile();
}
みたいな感じで再帰的にやってみたら?
0919デフォルトの名無しさん
NGNGsystem("deltree /y 削除したいディレクトリ");
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG0922916
NGNGなるほどなるほど関数作って while あたりでループ組んで
FindFirstとNext でフォルダを見つけたら再帰的に自分与呼び出せばいいわけですね
で、ファイルがなくなった時にそのフォルダを消してから return していけば
全てのファイル処理が終わったときには全部のファイルとサブディレクトリが消えてるってわけですね。
確かにこれならいけそうです。
この方法なら応用すれば、指定ファイルだけ消していったりもできそうですしね。
ありがとうございます。この方法でがんばってみます!
0923デフォルトの名無しさん
NGNGboostだと
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
int main () {
boost::filesystem::path dir ("hoge");
boost::filesystem::remove_all (dir);
return 0;
}
でhoge以下が消せます
0924デフォルトの名無しさん
NGNGIDE上でファイルをコピーするには、どうすればいいんでしょうか?
プログラムから、カレントディレクトリにある画像ファイルを読み込みたいんですが。
0925デフォルトの名無しさん
NGNGアイコンのような画像なら読み込めるのですが、
写真などは何度やってもできません。
宜しくご指導お願い致します。
0926デフォルトの名無しさん
NGNG0927925
NGNGできました。
0928デフォルトの名無しさん
NGNGするとCABCView,CABCDoc等ができるがこれを簡単に変更することはできませんか?
0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGプロジェクトを作ってしまった後に変更したいのですが
無理ですか?
0932デフォルトの名無しさん
NGNG全部書き換えればいいじゃん。
0933デフォルトの名無しさん
NGNGおまえ、バカだろw
0934デフォルトの名無しさん
NGNG>931よりはましだと思う。
0935デフォルトの名無しさん
NGNG新しいプロジェクトを造ろうとメニューを見るとマネージドC++プロジェクトのアイコンがありません。
評価版には入ってないのでしょうか。
0936デフォルトの名無しさん
NGNGやれ
0937デフォルトの名無しさん
NGNG君らが書いてるような小さなサンプルプロジェクトならいいんだけどねw
0938デフォルトの名無しさん
NGNG大規模開発やってらっしゃるのですね・・・
アドインがあるのでインストールしてください。
というか、おそらくすでにインストールされているはずです。
あなたのプロジェクトの命運は、私たち2チャンネラに左右されるわけですね。
微力ながら一生懸命尽くしたいと思います。
0939デフォルトの名無しさん
NGNGコンパイルオプション。
0940デフォルトの名無しさん
NGNGお前本当にプログラム作れんのか
書替えツールを自作すればいいんだよ役立たず
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNGじゃ、おまえは必要なものすべて自作してるのか?
「やってますが、なにか?」なんて台詞吐くつもりなら
最低でもOSから自作してね
0944デフォルトの名無しさん
NGNGAppWizardで作ったならファイル数は10もないだろ。
0945デフォルトの名無しさん
NGNG. ( ゚Д゚)ゝ スレのタイトルを読み直した方がよろしいかと思います!
| |
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNGAppウィザードで適当なプロジェクト名をつけた。ABC
するとCABCView,CABCDoc等ができるがこれを簡単に変更することはできませんか?
932 :デフォルトの名無しさん :04/10/15 02:34:18
>>931
全部書き換えればいいじゃん。
933 :デフォルトの名無しさん :04/10/15 02:38:04
>>932
おまえ、バカだろw
936 :デフォルトの名無しさん :04/10/15 04:10:34
全部書き換えるくらいの根性が無くてどうする。
やれ
937 :デフォルトの名無しさん :04/10/15 05:21:57
>>936
君らが書いてるような小さなサンプルプロジェクトならいいんだけどねw
0949デフォルトの名無しさん
NGNG100、200くらいなら書き換えるのも大変じゃないだろうに。
ファイル名だって、10本そこそこだろう。
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNGそうファイル数100を超えるような中規模程度のものすら
知らないんだろうhw
0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGというかプロジェクト作り直せ
0955デフォルトの名無しさん
NGNG自分は、コンソール/ウィンアプリでしかやった事無いけど、
同じようにプロジェクト名を変えたくなった事がある。
自分の場合は、新しいプロジェクト(ワークスペース)を作って、
そのワークスペースのフォルダに全てのファイルをコピー。
ウィンドウ上のコマンドのプロジェクト→プロジェクトへ追加→ファイル
を選んで、ファイルを新しいプロジェクトに追加する。
それからビルドすれば完成。
0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNG元の質問>>928がAppWizardが作ったファイルを変更したいって質問だろ。
他のファイルが100あろうが関係無い。
0959デフォルトの名無しさん
NGNG同意。
もしかして、大規模(?)プログラムの全部の関数を、
Doc,Viewに突っ込んでるのかも知れん。
Document クラスに500近く関数あったら萎えるなぁ。
0960デフォルトの名無しさん
NGNGスクリプトでもいいし、マクロでもいいし、簡単なプログラムでもいいし、
それなりに頭使えばたいして時間はかからんだろう。
それぐらいできないようならプログラマには向いてない。
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG幸せな奴だな。
0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGある構造体をViewヘッダファイルで宣言します(構造体名:KOZO)。
その構造体を引数とした関数を作成します。(関数名Func)
そうすると、void CWORKSPACEView::Func(KOZO *kozo)
というのができあがりますが、ClassViewから、その関数名を
ダブルクリックしてもジャンプできません。
そこでKOZOの前にCWORKSPACEView:を追加するとジャンプできるのですが、
kozo->と書いたときに現れるメンバが自動表示されません。
これはどうすれば表示されるようになるのでしょうか。もしくはジャンプする方法で
何か違う方法があるのでしょうか。
0967デフォルトの名無しさん
NGNGとりあえずコンパイル通れば、あとは気にしない。
ジャンプしたいところにマークでもつけとけばいい。
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNGそ の 通 り だ
0970デフォルトの名無しさん
NGNG上司か同僚に聞いてみたらいいですよ^^
入っていないなら、あなたのプロジェクトは手作業で書き換える開発スタイルだってことです^^
0971デフォルトの名無しさん
NGNGメイドさんしぃしー(製作・販売ライブドア)がこの言語によって作られたから。
0972デフォルトの名無しさん
NGNGstruct Equala : public binary_function < CDeviceBase*,CDeviceBase*,bool >
{
public:
bool operator()(CDeviceBase* lhs,CDeviceBase* rhs) const
{
return *lhs == *rhs;
}
};
*******\Device.h(34): error C2504: 'binary_function' : 定義されていない基本クラスが宣言されています。
ってなんで?
0973デフォルトの名無しさん
NGNGstd::binary_function
?
0974デフォルトの名無しさん
NGNGマジありがとうございます。
解決できました。
感謝感激
0975デフォルトの名無しさん
NGNGファイルが100あろうがなんだろうが打ち変えろ。
置換で一つ一つ確認しながらやれば一日でできるだろ。
そもそもそんな規模のものにABCとかつけるなよ。
0976デフォルトの名無しさん
NGNGJavaスレあたりでVCの話がしたい・・・
0977デフォルトの名無しさん
NGNGWindowsアプリの作成はBCB最強
まちがいない
0979デフォルトの名無しさん
NGNGなぜかアルファベットが2バイト文字のようにすこし大きくなります。
表示された文字を別のメモ帳にコピペするとふつうの1バイト文字になります。なぜでしょうか?
お願いします。教えてください。お願いします。お願いします。お願いします。
0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG環境VisualStudio.Net2003
//dlgtest01.cpp
#include <windows.h>
#include "resource.h"
BOOL CALLBACK DialogProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE hInst;
int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst,
LPSTR lpsCmdLine, int nCmdShow)
{
hInst = hCurInst;
DialogBox(hCurInst, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DialogProc);
return 0;
}
BOOL CALLBACK DialogProc( HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
{ switch (msg) {case WM_COMMAND:
switch (LOWORD(wp)){
case IDEND:
PostQuitMessage(0);
break;
} case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hDlg, msg, wp, lp)); }
return 0;
}
0982979
NGNGhttp://cgi.f29.aaacafe.ne.jp/~retoroup/gazoubbs/src/1097870944522.jpg
0984デフォルトの名無しさん
NGNG等幅フォント使え
とマジレスしてみる
0985979
NGNGうるせぇよボケ。マルチの何が悪いんだタコ。スルーされたんだから
同じスレで質問繰り返すのとなんか違いあるか?あ?コラ。マルチマルチほざいてんじゃねぇよカス。
>>984
ありがとうございます。フォント変えれるとは知りませんでした
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG983と984への対応の違いにワロタ
0988デフォルトの名無しさん
NGNGそりゃぁ、スルーされるような程度の質問するからだろ。
あっちは初心者向けとは謳ってないからな。
つーか、開き直ってんじゃねぇよ、カス。
0989デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1097880265/
0990デフォルトの名無しさん
NGNGどういう意味ですか?
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG必死だな (ゲラゲラ
0993デフォルトの名無しさん
NGNGどうやらあっちのスレでもスルーされていた訳ではなさそうだ
http://pc5.2ch.net/test/read.cgi/tech/1095534704/629-
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG南無
0997デフォルトの名無しさん
NGNGエディットコントロールに文字を転送して表示してるのですが
なぜかアルファベットが2バイト文字のようにすこし大きくなります。
表示された文字を別のメモ帳にコピペするとふつうの1バイト文字になります。なぜでしょうか?
お願いします。教えてください。お願いします。お願いします。お願いします。
0998デフォルトの名無しさん
NGNGエディットコントロールに文字を転送して表示してるのですが
なぜかアルファベットが2バイト文字のようにすこし大きくなります。
表示された文字を別のメモ帳にコピペするとふつうの1バイト文字になります。なぜでしょうか?
お願いします。教えてください。お願いします。お願いします。お願いします。
0999デフォルトの名無しさん
NGNGエディットコントロールに文字を転送して表示してるのですが
なぜかアルファベットが2バイト文字のようにすこし大きくなります。
表示された文字を別のメモ帳にコピペするとふつうの1バイト文字になります。なぜでしょうか?
お願いします。教えてください。お願いします。お願いします。お願いします。
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。