★初心者にVisual C++を教えるスレ★ Part5
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001987
NGNGVisual C++ 初心者用スレッドです。
前スレ・関連スレは、>>2 ぐらい。
0850デフォルトの名無しさん
NGNGアホか?
0851デフォルトの名無しさん
NGNG6.0+MCの機能≒.NET
ですか?
0852デフォルトの名無しさん
NGNG次のプログラムに進むことはできますか?
たとえば、円周率を求めてる途中でボタンを押したら、そこまで求めた
値を使って円の面積を求めるとかです。
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNGマルチスレッドを使うとかそういうのじゃねーの?
0855デフォルトの名無しさん
NGNG自身のプロセスの場合はwinmain関数の引数にあるhInstanceが
プロセスのハンドルになるんでしょうか?
0856デフォルトの名無しさん
NGNGint型をLPCTSTR型に変換は
a.Format("%d",〜);
でできますが、その逆の
LPCTSTR型をint型に変換
はどうやるんでしょうか?
自分で関数作るしかないですか?
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG現在VC++.NETを使って勉強しています。
ですが、参考書などは.NET以前(VC++5〜6)のものが多く、例題通りにできないこともしばしばです。
それで質問なのですが、.NETは6以前のものをすべて含んでいると考えてもよろしいのでしょうか?
.NETになってから一気にプロジェクトの作り方などが変わっているので疑問に思いました。
一応6も持っているので6以前の参考書では6を使った方がイイ、などとかはありますか?
.NETと6以前は別物と考えた方がいいのでしょうか。
0861デフォルトの名無しさん
NGNG6は何の為に持ってたの?割れ物?
0862デフォルトの名無しさん
NGNGどっちも割ってんだろ。
0863デフォルトの名無しさん
NGNGMS好きなら.NET使えばいいじゃん。
勉強で.NET持っていてわざわざVer6つか必要もないと思うが。
0864デフォルトの名無しさん
NGNG色を指定することはできないのでしょうか・
今のところ黒でしか表現できなくて・・
SelectObject関数を使うのでしょうか
0865デフォルトの名無しさん
NGNG文字はSetTextColor、背景はSetBkColor。
0866デフォルトの名無しさん
NGNGそれくらい調べろやヴォケが!
0867860
NGNGありがとうございます。
860で書いた通り、ちょっと例題通りにいかなかったりで勉強がしにくかったので、
ver6を使った方が効率いいのか、などと思ったもので。
今後のためにも.NETで慣れて行こうと思います。
>>861
6を手に入れたのが2000年初期でして、
その時はゲームを作りたく、知り合いに聞いてみたところVCで簡単に作れるぞ、と。
それで当時高校生だったからアカデミックを手に入れ、VCの本を買い、勉強を始めたところ、
3日で挫折。そりゃC,C++もできなきゃサパーリ。
PC関係ではない専門学校へ進んだのですが、中退し、去年の暮れ近くから
Cの勉強を本格的に始めたワケでして…現在VCをば。
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNGそんなレベルなら6の参考書は6でやっとけ。
0871デフォルトの名無しさん
NGNG大丈夫
そのレベルの質問をしている時点で、
レジストしてもらえるソフトを作るのは不可能だから、悩む必要など無い
0872デフォルトの名無しさん
NGNG安心汁!
誰もお前が作ったソフトになんかレジストしないから。
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG土方として、どうやって生活していこうと思ってるんだ?あ?
0877デフォルトの名無しさん
NGNGむかしはできなかってkど、今は制限なしだよ。
アカデミック版でもOK!
0878デフォルトの名無しさん
NGNG大丈夫
そのレベルの質問をしている時点で、
レジストしてもらえるソフトを作るのは不可能だから、悩む必要など無い
0879デフォルトの名無しさん
NGNG安心汁!
誰もお前が作ったソフトになんかレジストしないから。
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNG0882871
NGNG0883デフォルトの名無しさん
NGNGOSのファイル/ファイルシステムに拡張情報を埋め込むことって
できないものですかね。
特にmp3などの管理を想定しているのですが、漢字ファイルネーム
の他に、ふりがな情報を埋め込めると管理や検索が楽になると
思うんですよね。他にはmp3に限りませんがCRC情報なども管理
できるといいと思うのですが。
ファイルのお尻に埋め込むことも可能だと思いますが、これだと
Winampなんかで再生できるのかどうか。各フォルダに隠しファイル
を置いて、管理する方法も考えてみましたが、エクスプローラで
ファイルを移動させたときに整合性を取るのが面倒だなと。
なんか良い方法ないもんですかねぇ。
0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNGMac 使えば。
0886デフォルトの名無しさん
NGNGNTFS使え。
0887デフォルトの名無しさん
NGNGIPropertySetStorage
IPropertyStorage
0888デフォルトの名無しさん
NGNGシェルでDSWファイルをダブクリするとVCが立ち上がりますが、既存の
VCが閉じられてしまいます。別のプロセスとして立ち上げたいのですが
方法はあるのでしょうか?
0889名無し@沢村
NGNGヌヒよ、VCを立ち上げてからプロジェクトを開けばいいだけだと思うが
0890デフォルトの名無しさん
NGNGプログラムをやめることを考えた方がいいかもよ
0892デフォルトの名無しさん
NGNGどんな手順でやればできるのでしょうか?
0893デフォルトの名無しさん
NGNGクラスのcppとhをその別のプロジェクトに含めれば良いだけじゃん?
0894デフォルトの名無しさん
NGNG当方、Win98・VC6ですが、以下のようにして出来ました。
(なんで出来るのかは理由はわかりませんが)
1)エクスプローラーでメニューから[表示]-[フォルダオプション]を選択
2)[ファイルの種類]のタブを開く
3)リストから「プロジェクトワークスペース」というのを選択して[編集]ボタンを押す
4)アクションの「MSDEVで開く」を選択して[編集]ボタンを押す
5)[DDEを使用する]のチェックを外す
※注意
チェックを外すと、デフォルトの文字列が消えてしまいます。
一応メモっておいてから外してください。
っていうか、自分が元に戻せなくなってしまいました
「DDEメッセージ」
「アプリケーション」
「DDEアプリケーションを実行していないとき」
「トピック」
のデフォルトの文字列を教えてください。
0895デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNG0900894
NGNGヽ(`Д´)ノ \/\
(894) \/\
/\< ヽ \ / \/\
/ \ | \ |\ / \/\
|\ / .| \ |\ / \ /\
/ \ \/ | \ |\ / \/\
/ \ | .| ( ´_ゝ`)フーン \ |\ / \/\
|\ /| | ./ (∩∩ ) \|\ / \
| \ //\ |\ /| \ / \
| |/ \ | \ / .| ウワァン!/\ >
| \ /| | | | ヽ(`Д´)ノ / \ / .|
| \ //\ | / (888) \ \ / |
| |/ \ /\ / < ヽミ3 \ /| / |
| \ /| /\/ \ \ /| / |
| \ //\/ \ \ /| / |
| |/ \ \ / | / |
| \ \ / | / .|
| \ /| / .|
| \ / |
| .| |
0901デフォルトの名無しさん
NGNG0902888
NGNGどうもありがとう。
僕のはXpなのですが同じようなダイアログが出ました。
下がDDEを使うにチェックが付いているときの状態です。
結果はまた報告しますネ。
すんまそーん。
・DDEメッセージ(D);
Open("%1")
・アプリケーション(C);
msdev
・DDEアプリケーションが実行していないとき(N)
・トピック(T)
system
0903デフォルトの名無しさん
NGNG対応しなくても誰も困らないから
0904894
NGNG戻ったよ。これで、おあいこ。
一応出来るけど、他の影響があるかもしれないから
元に戻せるようにしておいた方がいいですよ。
0905892
NGNGその含め方なんですが、cppとhを利用したいプロジェクトのフォルダ内に
入れた後がわからないんです。
例えば、A.cppとA.hというのがあってそれを、B.cppで利用したいときは、
B.cppで、#include "A.h"と書くだけでは、CAクラスはまだ使えないですよね?
0906デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNGsocket(PF_INET, SOCK_STREAM, 0);
でソケットを生成してread待ちするサーバを作成しているのですが、
相手先をANYにしている為相手のIPアドレスがわかりません。
受信したデータのIPアドレスを知る方法はありますか?
又、VCでソケット通信するコーディングは合っていますか?
もっと単純にTCPで通信する方法などあったら教えて下さい。
0910デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNGあれどういう方法で実装するんでしょうか?
0913デフォルトの名無しさん
NGNG0914デフォルトの名無しさん
NGNG割れですね。放置。
0915デフォルトの名無しさん
NGNG0916909
NGNGどうもありがとう。
でも、なんか調べるとCSocket(?)というのがあるみたいですね。
これは使い易いのでしょうか?
当方UNIX系のソケットプログラミングしかしたことないもので…。
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNGBYTE dat=static_cast<BYTE>(m_ed1)
でいいんですかね??
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNGなんかコンパイルエラーの嵐です。
サンプルきぼんぬ。
0921デフォルトの名無しさん
NGNGhttp://homepage3.nifty.com/coco-nut/
0922デフォルトの名無しさん
NGNG項目一覧を取得したいのですが、どうすればいいのでしょうか?
EnumWindowsとEnumWindowsProcを使用して試してみると、
なんか予想外にたくさんのウインドウが列挙されて困っています。
0923デフォルトの名無しさん
NGNG#include <ctype.h>
#define UP_T 0
#define LOW_T 1
#define DIG_T 2
#define PUN_T 3
int main()
{
char *str = "HkJn(4Nk59gL/=s";
char buf[4][20], *bp[4];
bp[UP_T] = buf[UP_T];
bp[LOW_T] = buf[LOW_T];
bp[DIG_T] = buf[DIG_T];
bp[PUN_T] = buf[PUN_T];
0924デフォルトの名無しさん
NGNGfor (; *str; str++) {
if (islower(*str)) *bp[UP_T]++ = *str - 'a' + 'A';
else if (isupper(*str)) *bp[LOW_T]++ = *str - 'A' + 'a';
else if (isdigit(*str)) *bp[DIG_T]++ = *str;
else if (ispunct(*str)) *bp[PUN_T]++ = *str;
}
*bp[UP_T] = '\0';
*bp[LOW_T] = '\0';
*bp[DIG_T] = '\0';
*bp[PUN_T] = '\0';
printf("大文字:\t%s\n", buf[UP_T]);
printf("小文字:\t%s\n", buf[LOW_T]);
printf("数字:\t%s\n", buf[DIG_T]);
printf("記号:\t%s\n", buf[PUN_T]);
return 0;
}
突っ込みどころがあれば突っ込んでちょ☆
0925デフォルトの名無しさん
NGNGプロセスを列挙するってことか?
どっかにソース付きのプロセスモニターが公開されてたはず。
検索してみたけどみつからんので、とりあえずcodeguruで。
ttp://www.codeguru.com/system/SimpleProcessViewer.html
0926922
NGNGレスありがとうございます。
プロセスではなくタスクマネージャのアプリケーションタブの方の一覧を
取得したいのです。
具体的に言えば、Windowsを稼動させるといろいろなプログラムが起動、常駐すると
思いますがその中でアプリケーションとして稼動しているものです。
そのアプリケーションのWidowTextと窓ハンドルを取得したいと思ってます。
どうやればいいのか、、、。・゚・(ノД`)・゚・。
0927デフォルトの名無しさん
NGNGウィンドウを列挙して、ある条件を満たすものだけ抜き出す。
条件は可視で、タイトル文字列数が0でなく、オーナーを持ってなく、とあとなんだっけ。
0928デフォルトの名無しさん
NGNG目的のウインドウのウインドウクラスや周辺特徴の確認
一致するウインドウを検索
そしてウインドウ配下のコントロールへウインドウメッセージを送りアイテムを取得
文字列を受け取る場合はプロセス間メモリ共有を使う必要がある
0929デフォルトの名無しさん
NGNGレスありがとうございます。
なるほど、一発で列挙するAPIなどはなく、列挙したウインドウの中から搾ると
いうやり方なのですね。ありがとうございました。
0930デフォルトの名無しさん
NGNGそしてボタンを押すと、その窓ハンドルの対応するウインドウを最前面に出すように
しようと思っています。
画面に表示された窓ハンドルをCString文字列として取得しました。
::BringWindowToTop(HWND hWnd)を使用したいのですが、
CString文字列で取得した窓ハンドル(200CCとか)を
HWNDにするにはどうすればいいのでしょうか?
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGそもそもなんで文字列で取り出すの?
0933デフォルトの名無しさん
NGNG<include>"tt.h"
std::vector< rFont > cFONTTYPE;
std::vector< rText > cTEXTOBJ;
cTEXTOBJ[0].Init(&cFONTTYPE);
//-------------tt.h
class rFont {
func()
//略
}
class rText :public classBase{
void* pFTYPE;// <----ここと
public:
void Init (void* pP )// <----;ここは
};
どういう宣言をすればいいのでしょうか?
rTextの関数の中でこういうことがしたいのですが....voidのままでは使えないし
pFTYPE(2).func();
よろしくお願いします
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGソースはこんな感じで書いてます。
CStatic *s = (CStatic *)GetDlgItem( IDC_STATIC );
CDC *cdc = s->GetDC( );
cdc->MoveTo( 0, 0 );
cdc->LineTo( 40, 15 );
開発ツール:Microsoft eMbedded Visual C++ 3.0
開発環境:Windows98SE
動作環境:CASSIOPEIA PocketPC
0936デフォルトの名無しさん
NGNG拡張メタファイルを設定できるみたいだから図を拡張メタファイルにして
SetEnhMetaFile()で設定すれば(CEはしらんけど)
0937デフォルトの名無しさん
NGNGお答えどうもです。
SetEnhMetaFileの引数って静的コントロールに描画される拡張メタファイルのハンドルらしいのですが
何を設定すればいいのでしょうか?
0938デフォルトの名無しさん
NGNGCStaticの派生クラスを作って
そのOnPaint()をオーバーライドして描画とか。
0940デフォルトの名無しさん
NGNGとした場合、プログラム終了、もしくはKillTimerが使われない限り
ずっと500ミリ秒おきにWM_TIMERが送られてるということなんでしょうか?
0941デフォルトの名無しさん
NGNGぐぐればいっぱつだよ(´Д`)
>ttp://sysneitf.hp.infoseek.co.jp/cbuilder_timer.html
0942デフォルトの名無しさん
NGNGフォームにCStaticExを貼り付けるにはどうしたらいいのでしょうか?
0943デフォルトの名無しさん
NGNG固定の図形なら >>936 でいいですが、動的ならだめです。
プログラムで拡張メタファイルつくるなら
CMetaFileDC mdc ;
HENHMETAFILE hemf ;
CClientDC dc(hwnd) ;
CRect rect(0, 0, 500, -500) ;
mdc.CreateEnhanced(&dc, NULL, &rect, "MyApp") ;
mdc.MoveTo( 0, 0 );
mdc.LineTo( 40, 15 );
hemf = mdc.CloseEnhanced() ;
こんな感じ。この例ではローカルにhemfを宣言してるけど
グローバルか、MFCならCxxxAppのメンバー変数にしたほうがよいです。
CxxxApp::InitInstance()の中でm_pMainWndを作った後に
CClientDC dc(m_pMainWnd) ;
でCreateEnhanced()に渡すdcを作ってメタファイルを作るのがいいタイミング。
CxxxApp::ExitInstance()をオーバーライドして
DeleteEnhMetaFile(hemf) でメタファイルを破棄する
リソースにメタファイルを含めることもできたはずだけどやり方忘れた。
0944デフォルトの名無しさん
NGNGご丁寧にソースを書いていただき有難うございます。
早速試してみます!
0945943
NGNG忘れてたけど拡張メタファイルはマップモードが基本的にMM_HIMETRICなので
mdc.SetMapMode(MM_HIMETRIC) ;
がいるかも。rect(0, 0, 500, -500)の4つめがマイナスになってるのは
このせい、MM_HIMETRICにしないならプラスでもいいかも。
動作しているのに描画されないときはこのへんが原因になることが多い。
0946デフォルトの名無しさん
NGNG自己レス
void Init (std::vector< rFont >* pP )
こういう書き方ができるようです。
C++って偉大だな。
;
0947デフォルトの名無しさん
NGNG補足ありりんです。
気をつけまーす
0948デフォルトの名無しさん
NGNGヘッダでCStaticで宣言されているところをCStaticExに変える
0949デフォルトの名無しさん
NGNGヘッダって貼り付けたいフォームのヘッダーファイルですよね?
CStaticはフォームに貼ってるのですが、CStatic宣言はないのですが・・
0950デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。