★初心者にVisual C++ ..
[2ch|▼Menu]
369:デフォルトの名無しさん
07/10/17 18:21:47
C++作成支援プログラムって存在しますか?
たとえばHTMLならPOWERPOINTで画像やボタンの配置などが簡単にできますがC++でも同じようなことができる
プログラムってありますでしょうか。

370:デフォルトの名無しさん
07/10/17 18:25:26
スレが違うと思われ

371:デフォルトの名無しさん
07/10/17 18:28:24
Visual C++は、まさにそういう類いのソフトウェア。

ところで、PowerPointはただの釣針だよね?

372:デフォルトの名無しさん
07/10/17 18:41:59
>>371
powerpointじゃなかったpublisherだった。
ありです。

373:デフォルトの名無しさん
07/10/17 18:49:46
>>369
GUIツールキットとかGUIビルダーとかかな・・・
スレッドあるからそこで雰囲気見てみるといいよ。

374:デフォルトの名無しさん
07/10/17 18:53:16
VC++初めて使おうと思ってるんですけどVBのプログラミング言語のところだけC++になったもの、と考えてあってますか?
もしVBのようにGUIが作れるのであれば本格的に勉強しようと思ってるんですが・・・

375:デフォルトの名無しさん
07/10/17 19:05:41
VBと違って簡単なプログラムでも大量のコードが必要

376:デフォルトの名無しさん
07/10/17 19:37:37
待て、Publisherも名前からして違う。
MS OfficeならFrontPageだろ。
まあこれも別製品に後継を譲る立場だが。

377:デフォルトの名無しさん
07/10/17 21:29:08
>>374
Standard以上のVCにはいくつかのライブラリが付いてくるんだけど
.Netを使うならVB.NetのようにGUIを作れる。ただ言語は純粋なC++じゃなく
C++/CLIになる。ライブラリ使わないなら375の言うようなことになる。

C++のライブラリもあるんだけど、必ず変なのが来て暴れるので説明省略。

378:デフォルトの名無しさん
07/10/18 03:05:31
VC++ってもしかしてCopyFile(○○,××,FALSE)に対応してない?
どなたか解決方法教えてください

379:デフォルトの名無しさん
07/10/18 03:36:31
たぶん原因が<windows.h>をインクルードしてないからなんだと思うのですが、#include文を入れると
大量にエラーが増えてしまいます・・・
どうすればいいのでしょうか

380:デフォルトの名無しさん
07/10/18 03:58:37
>どうすればいいのでしょうか
コンパイラが教えてくれるだろ。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

381:デフォルトの名無しさん
07/10/18 12:38:16
VC2005 Proを使ってます。

クラスライブラリのヘッダにて、abstract sealedの
クラス内にtypedefとtemplateを使った定義をしました。
しかし、そのヘッダ内では使えるものの、そのほかのクラスでは使用
できません。コンパイルエラーになります(定義されていないとのこと)
(staticのメンバ関数などはOK)。
どうしたら、他クラスで使用できるのでしょうか?また、templateや
typedefをクラスライブラリで定義する場合はこの方法しかないのでしょうか?

// typedefを使用したクラス(例)
public ref class TYPES abstract sealed{
public:
typedef short test16;
typedef unsigned short utest16;};
// templateを使用したクラス(例)
public ref class METHODS abstract sealed{
public:
template <typename T1>
static T1 TEMPTEST (const T1& t1)
{return t1;}
// このメンバ関数は他クラスでも使用可能
static void TEST(int num){int i = 3;}
};


382:デフォルトの名無しさん
07/10/18 13:45:36
スレ違い?
クラスライブラリで template、typedef 使うなよ

383:デフォルトの名無しさん
07/10/18 18:56:16
>>381
いつものC++みたいに、ヘッダファイルも一緒に配ればOK。

384:デフォルトの名無しさん
07/10/18 23:02:47
STLとMFCだと、プログラミングの技術に差は出ますかね?

385:デフォルトの名無しさん
07/10/18 23:09:18
使い道が全然違う

386:デフォルトの名無しさん
07/10/18 23:15:55
MFCって次期VSから無くなるんじゃなかったっけ?
もうどうでもいいよ

387:デフォルトの名無しさん
07/10/18 23:28:16
>>386
確かMSDNにMFCに関するQ&Aがあって「MFCはなくなりませんか?」みたいなQに対して、「永久になくなりません。」ってAがあった。
ホントかよっ!と思いつつ読んでいたが、無くなるのか。。


388:デフォルトの名無しさん
07/10/18 23:28:40
今から勉強するならSTLですかね?
参考書籍等が書店に見当たらないのですが、ほとんどがMFCを説明している本でして、

389:デフォルトの名無しさん
07/10/18 23:30:38
>>364
ダイアログベースなら他のツール使えば?
ダイアログベースのアプリなんて使ったこと無い


390:デフォルトの名無しさん
07/10/18 23:34:55
>>388
MFCとSTLは全く別物
どちらもやってもよい

391:デフォルトの名無しさん
07/10/18 23:58:28
>>386-387
URLリンク(blogs.msdn.com)

どうみてもやる気満々なのだが。

392:デフォルトの名無しさん
07/10/18 23:59:39
簡単なGUIアプリケーションを作りたいと思っています。
一応、C,C++は基本的なことは理解しているつもりです。
検索したらMFCや.NET Framework、Win32APIがあったのですが。
違いもいまいちわからないのですが、どれを使ったらいいのでしょうか?
宜しくお願いします。

393:デフォルトの名無しさん
07/10/19 00:00:01
とりあえず2008ではなくならない
むしろ拡張されてる

394:デフォルトの名無しさん
07/10/19 00:03:26
けど、あいかわらずグリッド系は自前で作るしかないのね

395:デフォルトの名無しさん
07/10/19 01:14:27
Visual Basic2005とVisual studio2005って何が違うのか何方か教えてください

396:デフォルトの名無しさん
07/10/19 01:23:32
わらた

397:デフォルトの名無しさん
07/10/19 01:27:45
>>389
いまのアプリケーション開発(Win)ってトレンドってなんだろう?
Win32だとGUIを作るのが大変そうだし。
視覚的にGUIが作れるのってダイアログベースアプリくらいしか思いつかない。
あとはVBかC#。
C#も作ったコントロールやウインドがやたら画面の端に引っ付いたりして気に食うものがなかなか出来ない(と個人的に思う)



398:デフォルトの名無しさん
07/10/19 03:24:51
VC++のフォームを使ってボタンを押すと特定のファイルを移動するプログラムを作りたいんですが、
copyfile の identifier が見つかりませんでした、とビルドエラーがでます。助けてください

399:デフォルトの名無しさん
07/10/19 07:27:53
全ソースupしたら助けてやらないことも無い。

400:デフォルトの名無しさん
07/10/19 07:39:39
WinAPIのCopyFileなら
必要なヘッダ(windows.h)をincludeしてない
CopyFileなのにCopyfileやcopyfileにしてる

401:デフォルトの名無しさん
07/10/19 09:43:51
どなたか>>392お願いします。
スレ違いだったら言ってください。

402:デフォルトの名無しさん
07/10/19 09:53:57
どれでも好きなの使ったらええやん
向き不向きがあるだろ

403:デフォルトの名無しさん
07/10/19 10:59:48
C++/CLIでWindows.Formsがトレンドなんじゃないの?
とC#を使いながら言ってみる。

404:デフォルトの名無しさん
07/10/19 15:19:15
>>389
>ダイアログベースなら他のツール使えば?
ツール???何の?
ツールの話なんて誰がしてたの?

405:デフォルトの名無しさん
07/10/20 00:51:50
ソースファイルはあるのだがどうにもコンパイル出来ない・・。
替わりに俺がやってやるぜ!なんて素敵な方、いませんか?

g++とsqliteのライブラリ・ヘッダがあれば良いらしいのですが。
欲しいバイナリはwin32用です。

406:デフォルトの名無しさん
07/10/20 00:52:43
壱千万で引き受けます。

407:デフォルトの名無しさん
07/10/20 00:55:14
それ・・は・・むり・・。orz

408:デフォルトの名無しさん
07/10/20 03:28:28
おいおい、NTTデータなら800億円で受注する仕事だぜ?安いもんさ。

409:デフォルトの名無しさん
07/10/20 11:01:54
VC++2005EEを使っています。
コマンドラインからclでコンパイルのみを行ってからlinkを使った場合、
CRTやkernel32.libは指定しなくても自動的にリンクされるようですが、
デフォルトでリンクされるライブラリファイルはどこで定義されているのでしょうか?

410:デフォルトの名無しさん
07/10/20 12:54:14
Windows2000でVC++2002でアプリケーションを作成したのですが
"read" になることはできませんでしたのエラーがでても動いているので
そのまま稼動させて大丈夫でしょうか?
readってことは参照しかしてないってことですよね?

411:デフォルトの名無しさん
07/10/20 12:55:59
だめだよ

412:デフォルトの名無しさん
07/10/20 13:00:38
なぜですか?

413:デフォルトの名無しさん
07/10/20 13:12:59
>409
lib

414:デフォルトの名無しさん
07/10/20 13:16:14
>>410
コード晒してくだちゃい><

415:デフォルトの名無しさん
07/10/20 13:19:19
1万7千行ありますが

416:デフォルトの名無しさん
07/10/20 13:26:47
何でその程度で触ってんの?
一人で使うなら問題ない
それが君の力量だから

417:デフォルトの名無しさん
07/10/20 13:38:21
一人では使いませんが一人で作っています

418:409
07/10/20 13:40:40
>>413
それはライブラリファイルがある場所を示してくださっていると解釈してよろしいですか?

ライブラリがある場所ではなく、デフォルトでリンクされるライブラリファイルが
どこでどのように設定されているのかを知りたいのです。
例えばkernel32.libやCRTはデフォルトでリンクするが、
user32.libは指定しないとリンクされない…とか。

corewin_express.vspropsで設定されているライブラリファイルは
コマンドラインでのリンクには影響を与えないことを確認しました。

419:デフォルトの名無しさん
07/10/20 14:17:07
hBitmap=LoadImage(hInstance,MAKEINTRESOURCE("IDB_CHAR"),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION);

if (hBitmap == NULL)
{
MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK);
return 0;
}

これでリソースからビットマップを読んでるつもりなんですが
何故、メッセージが出るんでしょうか?
#include "resource.h" も付けています。

MAKEINTRESOURCE("IDB_CHAR") の部分に
ビットマップのパスを入れても同じです。

420:デフォルトの名無しさん
07/10/20 14:26:50
GetLastError()

421:デフォルトの名無しさん
07/10/20 14:43:49
>>419
MAKEINTRESOURCE(゚听)イラネ
このマクロは、LPCTSTRにWORD型のIDを突っ込むために使う。

422:デフォルトの名無しさん
07/10/20 20:42:10
>>410
ポインタの使い方間違ってるんじゃないの?

423:デフォルトの名無しさん
07/10/20 23:41:40
「猫でも〜」で、C++でもGDI+が使えることを知りました。
さっそく画像表示プログラムつくってみたんですけど、パスに漢字がはいると
表示できません。これはなぜでしょうか?


424:デフォルトの名無しさん
07/10/20 23:57:46
VC++6.0でOutlook2007と携帯W54Tのスケジュールとタスクの同期プログラム作りたいんだけど。
まずは、bluetoothの制御方法から教えてくれ。
サンプル世路


425:デフォルトの名無しさん
07/10/21 00:08:14
そのようなことができる方は初心者とは言いません。




426:デフォルトの名無しさん
07/10/21 00:26:14
初心者とは、初心の心を持っている者のことである。

427:デフォルトの名無しさん
07/10/21 00:34:12
うるせぇ!オレ様は初心者だぞ。おまいら初心者を差別するつもりか?
初心者には知る権利がある。質問する権利がある。違うか?
オレの言ってる事が間違っているなら、筋道立てて理路整然と反論してみろや!

428:デフォルトの名無しさん
07/10/21 01:12:58
俺は小心者ですが何か?

429:398
07/10/21 02:09:50
#include <windows.h>
#pragma once
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
namespace testfile {
public ref class form : public System::Windows::Forms::Form
{
public:
form(void)
{
InitializeComponent();
}

protected:
~form()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ button1;
protected:
private:
System::ComponentModel::Container ^components;

続く

430:デフォルトの名無しさん
07/10/21 02:11:36
#pragma region Windows Form Designer generated code
void InitializeComponent(void)
{
this->button1 = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();

this->button1->Location = System::Drawing::Point(58, 130);
this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(163, 74);
this->button1->TabIndex = 0;
this->button1->Text = L"button1";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &form::button1_Click);

this->AutoScaleDimensions = System::Drawing::SizeF(6, 12);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(292, 266);
this->Controls->Add(this->button1);
this->Name = L"form";
this->Text = L"form";
this->ResumeLayout(false);
}
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{CopyFile("\\files\\readme.txt","C:\\program files\\testprogram\\readme.txt",FALSE);
}
};
}
長いですけどフォームつかったら自動的にいろいろ追加されてこんなふうになってしまいました。ボタンを押すとファイルを書き換えるだけなんですけど・・・
とりあえずボタン押して

431:398
07/10/21 02:17:02
そしてビルドしたときのエラー
1>------ ビルド開始: プロジェクト: testfile, 構成: Debug Win32 ------
1>コンパイルしています...
1>form.cpp
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(1) : error C2001: newline in constant
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(1) : error C2059: syntax error : 'string'
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(88) : error C2065: 'FALSE' : undeclared identifier
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(88) : error C3861: 'CopyFile': identifier not found
1>ビルドログは "file://c:\Documents and Settings\○\My Documents\Visual Studio 2008\Projects\Project1\testfile\testfile\Debug\BuildLog.htm" に保存されました。
1>testfile - エラー 4、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

432:デフォルトの名無しさん
07/10/21 02:39:43
CopyFile で右クリックして「定義へ移動」すると勉強になると思う。

433:デフォルトの名無しさん
07/10/21 09:06:43
CLR-Windowsフォームアプリケーション で新規作成、
ボタン配置してハンドラを同じように書いてみたけど、
文字列がUnicodeでないと文句言われただけで、後は問題無かった。
form.h(1)の謎のエラーが後に影響しているのかもしれんね。
そのエラーだと、ヘッダをインクルードしているソース側に問題がある可能性もあるから、
#include "form.h" より前の部分もチェックした方が良いな。

434:デフォルトの名無しさん
07/10/21 10:03:42
現在,
Visual C++ 6.0 → .netの2005
Windows2000 → WindowsXP SP2
へようやく以降したのですが,分からぬエラーが.

6.0 + 2000 = 問題ない
6.0 + XP = 問題ない
2005+ 2000 = 問題ない
2005+ XP = 問題あり

何が問題か,ですが
テキストファイルを読み込むと終了時にアクセス違反
というエラーがでます.
テキストファイルを読み込まなければエラーは起きません.

何かXPと2005の組み合わせで気をつけなければ
ならないことあるのでしょうか?

435:409
07/10/21 10:21:58
>>409 >>418
どなたかご存知の方がおられましたら、教えてください。

436:デフォルトの名無しさん
07/10/21 12:43:51
>>421
hBitmap=LoadImage(hInstance,"C:\\test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
なら、その後Bitbltで描けるようですが、
hBitmap=LoadImage(hInstance,MAKEINTRESOURCE("IDB_NULL"),IMAGE_BITMAP,0,0,LR_DEFAULTCOLOR);
これだと駄目です。MAKEINTRESOURCEを取っても駄目です。

パスで指定 → OK
リソースから → 駄目

もう、どうしたらいいか・・・

437:デフォルトの名無しさん
07/10/21 12:48:21
>>436
GetLastError()で見たのかよ低脳
""取ってみ
MAKEINTRESOURCE("IDB_NULL")→MAKEINTRESOURCE(IDB_NULL)


438:デフォルトの名無しさん
07/10/21 12:51:43
>>434
自分の2005+XP SP2では問題は発生しない。
2000->XP SP2 はもちろんクリーンインストールだよな。

>>435
コンパイラの既定CRTライブラリは/MTなので、
出力されたオブジェクトファイルにlibcmt.libのリンク指示が含められている。
で、リンク時にCRTライブラリによってエントリポイントが解決された結果、
それが依存するライブラリもリンクされている。

CRT内部で何をしているか調べるのは正直骨だし、
とりあえず宣言しとけばいいんじゃね?被っても問題無いし。

ちなみに、エントリポイントを自分のコードで解決してCRTを一切リンクしなかった時は
kernel32.libすらリンクされなかったので、あくまで依存関係に従っていると考えて良さそう。

>>436
リソースの識別には、16ビットIDと文字列を対応付ける二つの方法がある。
"IDB_NULL"という文字列を対応付けているなら "IDB_NULL" で良いが、
resource.hのIDB_NULLのID定義を介しているなら、MAKEINTRESOURCE(IDB_NULL)だ。

439:デフォルトの名無しさん
07/10/21 12:58:40
画像はウィンドウクラスでカーソルとアイコンの登録しかやったことないけど
メニューの指定でもいろいろ悩んだなぁ・・・。

とりあえずわかったことは
引数として文字列(のポインタ)が要求されるのに
resource.h でリソース名に定数振られてて
そのせいでうまくいかないっぽいってことはわかった。
画像とかの ID とかを "" で囲んで
resource.h から #define の定義を消すとうまくいってた。

正当なやり方はよくわかってない。

440:デフォルトの名無しさん
07/10/21 13:05:00
よくわかってない奴は黙ってろや
あほが余計悩むだろ

441:デフォルトの名無しさん
07/10/21 13:10:39
>>437,438,439
" を外しても同じです。
エラーなどは出ません。

一応、使ってるのがVC5なんですよ。これって関係あるんかな?


GetLastErrorも調べてみます。

442:デフォルトの名無しさん
07/10/21 13:17:43
たまに、resource.hに使われなくなったIDが残ったりするから、それかもしれないな。
.rcファイルとresource.hを目視で確認してみ。

443:デフォルトの名無しさん
07/10/21 13:21:34
何か理由があってVC5なんて使ってるの?
新しいのに移行する時に余分に時間が掛かるだけだし情報も少ないよ

444:デフォルトの名無しさん
07/10/21 13:27:34
リソースビューでその画像が "IDB_NULL" ってなってるんじゃないの?
"" とって IDB_NULL にしてみたら?

445:デフォルトの名無しさん
07/10/21 13:33:21
>>444
画像名はリソースビューで見ても IDB_NULL で
"" は付いていません。

本当に謎だ・・・

446:デフォルトの名無しさん
07/10/21 13:37:03
>>445
今手元に環境あるの?

447:409
07/10/21 13:57:16
>>438
オブジェクトファイルにコンパイラからのリンク指示が含まれているということなので、
dumpbinを使ってオブジェクトファイルの内容を調べてみたところ、libcmt.libのリンクを
指示するリンカオプションが含まれていました。

また同様に、libcmt.libをdumpbinで調べてみたところ、kernel32.libへのリンクが
指示されていました。


おかげで疑問が解決しました。ありがとうございました。

448:デフォルトの名無しさん
07/10/21 14:59:09
OS:XP Pro sp2で下記URL先のWindows アプリケーションがアクティブにならない状態です。
解決策はあるのでしょうか?
URLリンク(forums.microsoft.com)

449:デフォルトの名無しさん
07/10/21 15:04:10
解決してんじゃん
いろいろやってみろよ
お前には無理だけど

450:434
07/10/21 15:22:29
>>438
クリーンインストールです.

サブPCが2000のままだったのでVC++6.0を入れて
メインPC(XP)の.netの2005とモニタ並べて
まったく同じ処理をやってもメインPCの方だけアクセス違反が….
2005では文字コードをUnicode→マルチバイトへの変更が差分です.

451:デフォルトの名無しさん
07/10/21 15:29:12
同じじゃないじゃん

452:デフォルトの名無しさん
07/10/21 16:36:59
>>446
あります。

一応、LoadImage後に
if (hBitmap == NULL)
{
MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK);
return 0;
}
で調べてみると メッセージが出ます。

453:デフォルトの名無しさん
07/10/21 16:41:48
あるのに遅すぎんだよ

454:デフォルトの名無しさん
07/10/21 17:56:53
LoadImageで読み込めないフォーマットのビットマップの可能性もあるから、
まずは、FindResourceでリソースを見つけられているかどうか確認した方が良いな。
生成された実行ファイルをIDEで開けばリソースを覗けるはずだから、
IDが正しく対応しているかの確認も。

455:デフォルトの名無しさん
07/10/21 18:00:58
LoadImageで読み込めてるって書いてある

456:434 450
07/10/21 18:06:57
>>451
@windowsXP (.NETの2005)で文字コードをマルチバイト,
Awindows2000(.NETの2005)で文字コードをマルチバイト,
同じ条件で@では終了時エラー,Aでは正常終了です.
まったく同じ条件です.

XPのSP2で何か気をつけるべきことがあるのかと考えていますが,
まだ原因が特定できません.

457:デフォルトの名無しさん
07/10/21 18:12:33
今まで問題のあるコードがたまたま動いていただけなんじゃねぇの。

458:434 450 456
07/10/21 18:22:27
>>457
うーん,その可能性も否定できないんですが
実際に複数台のPCで1日中ずっと処理を走らせて,
3年間,エラーが起きることはなありませんでした.

エラーが起きる部分(ファイル読込)は少なく見積もって
数万回は走っているはずです.
終了時にエラー(アクセス違反)は一度も出ていません.

現在調べている時は余計な部分を削除していき,
ファイル読込部分しか書いていないです.

459:デフォルトの名無しさん
07/10/21 18:33:12
自分は絶対間違ってないという前提なら
ここで質問されても答えようがないから
マイクロソフトに直接聞け

460:デフォルトの名無しさん
07/10/21 18:34:41
短いならコード出すべし。

461:デフォルトの名無しさん
07/10/21 18:36:08
Unicodeなら問題ないの?

462:デフォルトの名無しさん
07/10/21 18:42:48
どうせバッファオーバーフローとかだろ

463:デフォルトの名無しさん
07/10/21 19:14:49
どうしてデバッガで追うとかしないの?

464:自作ブラウザ
07/10/22 17:48:37
VC++ 6.0 で htmlview を基本クラスにして、ブラウザを作成した時には
マウスによるクリック処理をプログラマがコードを追加して実装しなくても、
左ボタン処理等が実装されていますが、これをカスタマイズしたい時には
どうすればよいのでしょうか?

465:デフォルトの名無しさん
07/10/22 17:52:14
>>464
つ[JavaScript]

466:デフォルトの名無しさん
07/10/23 16:00:19
windows フォームアプリケーションを使ってるんですがC++と少し違いを感じました。
messagebox.showをmessagebox::showと書いたり
messagebox以外にもいろんな機能を使いたいんですがなんと入力すればいいのかわかりません。
ファイルを特定フォルダに作成したり、特定なファイルを上書きしたり、別ウィンドウを開いたりしたいんですが
誰か教えてください

467:デフォルトの名無しさん
07/10/23 17:20:25
C++出来るんならMFCなりapiたたいたりapiクラス化するなりで良いじゃん


468:デフォルトの名無しさん
07/10/23 21:30:31
>>466 がやっているのは、C++/CLI だ。
というわけで .NET Framework のリファレンスを見れ。

もっとも、.NET 触るんであれば、俺は C# をお勧めする。

469:デフォルトの名無しさん
07/10/24 05:26:09
>>468
だな。VSC++はネーテブコード吐き出すためのツールだと知れ>>466

470:デフォルトの名無しさん
07/10/24 05:31:13
VS2003.NET→VS2005に環境を移行しました。
が、VS2003.NETでは警告、エラーともにでなかったソースでもVS2005だと警告が出ます。
調べたところ、文字コードがUNICODEではないため警告が出ているようです。

そこで、文字コードを一括(プロジェクト内のソースすべて)をUNICODEに変更するにはどうすればよいのでしょうか?

471:デフォルトの名無しさん
07/10/24 05:37:28
めんどくさいぞ
それよりプロジェクトのプロパティで以前の文字コードに設定したらどや

472:デフォルトの名無しさん
07/10/24 05:46:34
>>471
ありがとうございます。
プロジェクトのプロパティはVS2005の設定項目のどこを変更すればよいのでしょうか?

質問ばかりですいません・・・・

473:デフォルトの名無しさん
07/10/24 05:57:41
左側のソリューションエクスプローラのプロジェクトファイルのアイコンを右クリック→プロパティ
全般のページが開いてると思うから真ん中当たりに文字セットがある
2005からデフォルトでUNICODEになった

474:デフォルトの名無しさん
07/10/24 06:15:14
VS2003.NETで作成したプロジェクトをVS2005で開き、>>473の部分を確認したのですが、
すでに「マルチバイト文字セットを利用する」となっていました。

warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。
データの損失を防ぐために、ファイルを Unicode 形式で保存してください。

出てくる警告は上記のものです。これは気にしなくてもよいのでしょうか・・・

475:デフォルトの名無しさん
07/10/24 06:17:54
何やそれかw
ファイル→保存オプションの詳細設定でUnicodeで保存し直したら消えるんちゃう?

476:デフォルトの名無しさん
07/10/24 06:40:16
これでいけそうですね。
ただ、ファイルが十数ファイルあるので一括変換できればうれしかったのですが・・・残念です。

早朝からありがとうございました。

477:デフォルトの名無しさん
07/10/24 11:49:14
>>476
せっかくVC++使ってるんだから
一括変換のプログラム書けばいいだろう

478:デフォルトの名無しさん
07/10/24 12:54:31
>>467-469
ありです。やってみます

479:デフォルトの名無しさん
07/10/25 21:59:36
超初心者で申し訳ないのですが、質問があります。

VC++ 2005で、
URLリンク(tserve01.aid.design.kyushu-u.ac.jp)
を参考にペイントツールを作成していたのですが、
ツールバーのボタンが押されたときに呼び出される関数を設定する所で詰まってしまいました。
ClassWizardのない2005では、この部分をどう作ったら良いのでしょうか?

480:デフォルトの名無しさん
07/10/25 22:17:38
ツールバーのボタンを押す

481:デフォルトの名無しさん
07/10/25 22:20:29
最初メニューにコマンド追加して
それをツールバーにも設定

482:479
07/10/25 22:40:56
>>481
クリアしました。
啓蒙ありがとうございました。

483:デフォルトの名無しさん
07/10/26 06:53:45
オブジェクト指向プログラミングを大きく分けてみたんですが、
カプセル化、抽象化、階層化で合ってますか?

484:デフォルトの名無しさん
07/10/26 10:16:05
質問ですが、フォルダをウィンドウから開きたい場合はどうしたらよいのでしょうか?
例えばですが、
 ウィンドウにマイコンピュータの画像を貼り付け、そこをクリックしたらマイコンのフォルダが開く。と
と、したいのですが、色々調べていてやり方がさっぱり分かりません。

分かるかた是非教えて下さい。また、参考サイト等ありましたら合わせて教えて下さい。お願いします。


485:デフォルトの名無しさん
07/10/26 10:34:18
system("explorer.exe C:\\");

486:デフォルトの名無しさん
07/10/26 10:41:15
>>485
レスありがとうございます。
書いて頂いたのは、プロンプトが一回開いてしまうんですが、そのまま直にフォルダを開く事はできませんか?

私が今まで書いていたものは、
 ShellExecute(hWnd, "oepn", "パス", NULL, NULL, SW_SHOWNORMAL);
なんですが、この方法ではうまくいきませんでした。無理なのであればsystem()でやろうかと思います。

また、マイコンピュータを開く場合、ファイルパスがうまく指定できないのですが、何故でしょうか・・
C:\Documents and Settings\ユーザ名\Favorites\My Computerではフォルダがないと言われるんですが、違うのでしょうか。

度々ですが、宜しくお願いします。


487:デフォルトの名無しさん
07/10/26 10:44:12
質問小出し野郎はスルーするのが吉

488:デフォルトの名無しさん
07/10/26 11:01:22
"oepn"ではフォルダはオープンしないと思う。せいぜいできるとしてもオエプンくらいかな。

489:デフォルトの名無しさん
07/10/26 11:14:04
ShellExecute(hWnd, "open", "explorer.exe", "パス", NULL, SW_SHOWNORMAL);
でいいのかな。

参考サイト:URLリンク(www.google.co.jp)
つかいかた:テキストボックスに [ShellExecute explorer.exe] と入れて [google検索]ボタンを押す

490:デフォルトの名無しさん
07/10/26 11:20:18
ホームラン級の馬鹿ですね

491:デフォルトの名無しさん
07/10/26 11:26:08
つか、ここに書いてあるやん。
URLリンク(msdn.microsoft.com)

main()
{
ShellExecute(NULL, "open", "C:\\Documents and Settings\\NEC-PCuser\\Favorites"
, NULL, NULL, SW_SHOWNORMAL);
}


492:デフォルトの名無しさん
07/10/26 11:30:25
>>489
ShellExecute(hWnd, "explore", "パス", NULL, NULL, SW_SHOWNORMAL);
だね

493:デフォルトの名無しさん
07/10/26 12:17:05
で、マイコンピュータのパスの調べた方も教えてやれよ

494:デフォルトの名無しさん
07/10/26 12:19:47
「教えてやれよ」 とは何だよ。
人にモノを尋ねるときは、「教えてください」 だろ

495:デフォルトの名無しさん
07/10/26 12:40:10
なんとなく教えてくれてるっぽい人どうも

全部自分でなんとかなりました。

496:デフォルトの名無しさん
07/10/26 14:30:27
マイコンピュータをユーザー名だけで決めうちはどうかと

497:デフォルトの名無しさん
07/10/26 14:39:24
気になるから便乗するけどマイコンピュータのパス(?)は環境変数
USERPROFILEでいいんですか?

498:デフォルトの名無しさん
07/10/26 15:59:07
調べたけど、マイコン他特殊フォルダはパスじゃない。
レジストリのIDみたいなの

499:デフォルトの名無しさん
07/10/26 17:52:11
おまいら降参か?ホレ

ShellExecute(NULL, "explore", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", NULL
, NULL, SW_SHOWNORMAL);


500:デフォルトの名無しさん
07/10/26 18:40:24
降参も何も、ほぼ答え出た時点で終ってるのに

501:デフォルトの名無しさん
07/10/26 18:43:59
「おまいら降参か?ホレ」 とは何だよ。
「ググりました。これで合っていますか?」 だろ

502:デフォルトの名無しさん
07/10/26 18:54:41
その長ったらしいのいちいち憶えてるわけにいかないから
特殊フォルダ id でぐぐったら出てくることだけ知ってれば十分

503:デフォルトの名無しさん
07/10/26 19:03:58
clsidの前の::もいるんですか?

504:デフォルトの名無しさん
07/10/26 19:06:35
「ググれ」で済むならこのスレいらんだろ。

505:デフォルトの名無しさん
07/10/26 19:09:29
ググれで済むよ。ググる能力もない奴はプログラムやる資格ない

506:デフォルトの名無しさん
07/10/26 19:10:58
答え丸写ししなきゃできないならプログラミングは無理だから土方でもやったほうがいい

507:デフォルトの名無しさん
07/10/26 19:11:53
「ググれ」で済む程度の問題でこのスレに来るな

508:デフォルトの名無しさん
07/10/26 19:13:14
>>504
子供かよ

509:デフォルトの名無しさん
07/10/26 19:13:46
ありがとうございます

510:デフォルトの名無しさん
07/10/26 19:20:59
>>500-502
おまいら、何も泣く事は無いだろ。
ここは初心者スレなんだから、知らなくても恥にはならないぞ。

511:デフォルトの名無しさん
07/10/26 19:24:00
>510は >498に答え書いてあるのに気がつかない初心者

512:デフォルトの名無しさん
07/10/26 19:25:48
>>510
ここは初心者スレだけど初心者のお前が威張れる場所じゃない。

513:デフォルトの名無しさん
07/10/26 19:27:53
>>509
どういたしまして^^

514:デフォルトの名無しさん
07/10/26 19:43:06
>>511
ば〜か、>>498 は無視されてるのに気づかないの?

515:デフォルトの名無しさん
07/10/26 20:14:44
とりあえずage厨の子供が一人いたということでFA?

516:デフォルトの名無しさん
07/10/26 23:25:56
なんでいつまでたってもSHGetSpecialFolderPathとか出てこないの

517:デフォルトの名無しさん
07/10/26 23:28:58
既に解決済みだから

518:デフォルトの名無しさん
07/10/26 23:32:14
>487

519:デフォルトの名無しさん
07/10/26 23:34:19
まだやってるのかよ、しつこいな。

520:デフォルトの名無しさん
07/10/26 23:38:56
>487

521:デフォルトの名無しさん
07/10/26 23:42:58
clsid直書きで解決ってどんだけー

522:デフォルトの名無しさん
07/10/26 23:45:47
馬鹿は心の隅で笑うのが鉄則
下手に指摘しても知恵を付けさすだけ

523:デフォルトの名無しさん
07/10/28 23:35:34
VS2005 Pro.を使用しています。
プロジェクトにクラスの追加を行う方法について困ったことがあります。
あるヘッダファイルに書かれているクラスをProjectに追加するにはどうすればいいでしょうか?普通はどのように追加するものでしょうか?
以下のようにするとコンパイルエラーになります。
1. ソリューションの作成
2. ソリューションにProject Aをクラスライブラリとして追加
3. Project Aにあるheader ”Common.hとします” を#includeで追加
4. ソリューションにProject Bをクラスライブラリとして追加し、同じようにCommon.hを#include
5. Main ProjectにProject AとProject Bを「プロジェクト」
-「参照の追加」で追加 ビルド
→Common.hで定義された型が再定義されました。というエラー。


524:デフォルトの名無しさん
07/10/29 02:33:01
ソリューションエクスプローラを開いて
「ヘッダー ファイル」 フォルダ を右クリックして「追加」->「既存の項目」でヘッダーを入れて
「ソース ファイル」 フォルダ を右クリックして「追加」->「既存の項目」でソースを入れて
クラスが必要なソースからヘッダーを include すればいい

525:デフォルトの名無しさん
07/10/29 02:36:03
アイタタタタタ・・・

526:523
07/10/30 00:39:16
返事が遅くなってすいません。調べてみると、public, privateが決まってくる
ような気がしました。
Main, ClassLibA, ClassLibBでヘッダファイルに書かれたClassZを
includeしたいと思います。ClassLibA, ClassLibB, ClassZはPublic ref
のクラスです。
ClassLibA, ClassLibBはクラスライブラリとして追加したものです。

Main Class・・・ClassLibA, ClassLibB
ClassLibA・・・ClassZ(includeで追加)
ClassLibB・・・ClassZ(includeで追加)

Main Class, ClassLibA, ClassLibBそれぞれでClassZで定義された
メンバを使いたいと思ってます。
ただし、上記でコンパイルすると、再定義警告となってしまいます。
ClassZをprivateにして、Main, ClassLibA, ClassLibBのClassで
includeするしかないでしょうか?
ClassZはClassLibA, ClassLibBを参照した場合にしか使わないので、
なるべくincludeという形で別includeにしたくないと思っております。

上記のように2つのdllから共通のクラスを使い、その2つのdllを使う
クラスがある場合はどのようなクラス構成、設定にするべきでしょうか?
長々と書いてしまってすいません。

527:デフォルトの名無しさん
07/10/30 01:00:03
.net かよ...

528:デフォルトの名無しさん
07/10/30 01:58:49
>>526
C++/CLIはスレ違いだよね
ClassZもdllにしたら?

とりあえず.netについて分かってない気が

529:デフォルトの名無しさん
07/10/30 19:38:00
VS2005でファイル操作をするためにfstream.hをインクルードしたいのですが、
ファイルを開けないと出るのですが、fstream.h以外に何かありますでしょうか?

530:デフォルトの名無しさん
07/10/30 19:44:11
fstream

531:デフォルトの名無しさん
07/10/30 19:58:49
#include <iostream>
#include <fstream>

void main(){
char buf[512];

// ifstreamのインスタンスを作る
// C言語のfopenと同じ
ifstream ifs("input.txt") ;

// ofstreamのインスタンスを作る
// C言語のfopenと同じ
ofstream ofs("output.txt") ;

// ifstreamのインスタンス(ifs)から1行読み込みbufに入れる。
while( ifs.getline( buf, sizeof(buf) ))
// ofstreamのインスタンス(ofs)を利用して読み込んだ内容を書き込む
ofs << buf << endl;
}
コンパイルエラーになるんですが、なぜですか?

532:デフォルトの名無しさん
07/10/30 20:20:16
バカじゃねぇの
using namespace std;

533:デフォルトの名無しさん
07/10/30 20:24:42
#include <iostream>
#include <fstream>
using namespace std;

void main(){
char buf[512];

// ifstreamのインスタンスを作る
// C言語のfopenと同じ
fstream ifs("input.txt" ,ios::in) ;

// ofstreamのインスタンスを作る
// C言語のfopenと同じ
fstream ofs("output.txt",ios::out) ;

// ifstreamのインスタンス(ifs)から1行読み込みbufに入れる。
while( ifs.getline( buf, sizeof(buf) ))
// ofstreamのインスタンス(ofs)を利用して読み込んだ内容を書き込む
ofs << buf << endl;
}

534:デフォルトの名無しさん
07/10/30 20:35:10
ありがとうございます。

535:デフォルトの名無しさん
07/10/30 20:50:33
>>532は無知の知を知らぬ無知

536:デフォルトの名無しさん
07/10/30 20:54:45
ググれば分かるレベルだろ
答えもしてない分際で答えた者をバカにするな

537:デフォルトの名無しさん
07/10/30 20:58:57
( ´,_ゝ`)プッ
たかが2chで簡単な答えを書いただけの癖に随分と偉そうですなあ

538:デフォルトの名無しさん
07/10/30 21:05:22
( ´,_ゝ`)プッ
たかが2chで簡単な質問を書いただけの癖に随分と偉そうですなあ

539:デフォルトの名無しさん
07/10/30 21:54:39
>>536
先に答えが出たので答えなかっただけ。
たまたま自分が答えを知っていたというだけで質問者を愚弄する者こそ愚者と知るべし。

540:デフォルトの名無しさん
07/10/30 22:06:49
たまたまってレベルじゃねぇぞ
お前どんだけレベル低いんだ

541:デフォルトの名無しさん
07/10/30 22:08:39
>>539
>答えもしてない分際で答えた者をバカにするな
日本語読める?

542:デフォルトの名無しさん
07/10/30 22:40:20
Q&A系スレッドを勝負に例えるなら
答えた者が勝ち。
答えられなかった者は負け。

答えられなかったのに捨てゼリフ吐くのはみっともない。
亀田3兄弟よりみっともない。

543:デフォルトの名無しさん
07/10/30 22:52:30
ここC++スレじゃないし

544:デフォルトの名無しさん
07/10/30 23:00:49

亀田3兄弟よりみっともない男

545:デフォルトの名無しさん
07/10/30 23:20:50
スレ違いは犯則負け

546:535
07/10/31 00:10:22
>>540
>質問者を愚弄する者こそ愚者と知るべし
 ~~~~~~
勝ち負けの問題じゃない。君こそ日本語を読め。
しかも、俺じゃない奴(>>543)すら攻撃するし。
自分以外は全員敵かよw

547:デフォルトの名無しさん
07/10/31 00:17:30
レス番間違ってるし
同一人物だと思ってるし
自分以外は全員敵かよw

548:デフォルトの名無しさん
07/10/31 00:27:48
( ´,_ゝ`)プッ
なら口ださなきゃいいのに>>547


549:デフォルトの名無しさん
07/10/31 02:53:50
picutureBox1とpicutureBox2があって、
picutureBox1 Clickの処理をpicutureBox2 Clickにも同じくさせたいんですが、
どうのようにすればいいでしょうか?


550:デフォルトの名無しさん
07/10/31 08:01:23
自分の使ってる物も分からんのか
スレ違いだ馬鹿野郎

551:デフォルトの名無しさん
07/10/31 08:39:39
C++/CLIはOKだろ。

>>549
PictureBoxの派生クラスを書けばいい。
追加 - クラス - C++クラス で作成、
ビルドした時点でツールボックスに追加されるので、
後は普通のPictureBoxと同じように配置すればいい。

552:デフォルトの名無しさん
07/10/31 08:43:14
専用スレがあるのにもったいない

553:デフォルトの名無しさん
07/10/31 09:28:52
VisualC++6.0ではMSDN入れないと型情報自動表示機能は使えないのでしょうか?

554:デフォルトの名無しさん
07/10/31 09:39:26
MSDNなんか参照しないよ

555:デフォルトの名無しさん
07/10/31 11:58:43
LRESULT から intに正しく変換する方法を教えてください

556:デフォルトの名無しさん
07/10/31 12:28:14
intでキャスト

557:デフォルトの名無しさん
07/10/31 16:25:21
Windows XP sp2
Visual C++ 6.0

フォームの中のボタンを押すとWindowsキーを押したようにしたいと思っています。
フックして仮想キーコードを取得するところまででき,Windowsキーのコードは確認できたのですが,
そこからWindowsキーを押したように見せる方法がわかりません。
どうすれば,Windowsキーを発行することができるんのでしょうか。


558:デフォルトの名無しさん
07/10/31 16:36:42
WM_LBUTTONDOWNでも送りつけてみたら?

559:デフォルトの名無しさん
07/10/31 17:00:16
>>558さん
お返事ありがとうございます。

>WM_LBUTTONDOWNでも送りつけてみたら?
実際にはどのような関数を使えばいいのでしょうか。

560:558じゃない人
07/10/31 17:14:36
うーん。PostMessage()で、WM_KEYDOWN(WM_SYSKEYDOWN?)を送るというアイデアぐらいしか
思いつかない。

561:デフォルトの名無しさん
07/10/31 17:20:40
>>559
>実際にはどのような関数を使えばいいのでしょうか。
PostMessage()

562:557
07/10/31 17:29:05
>>560さん,>>561さん
ありがとうございます。
WM_KEYDOWN(WM_SYSKEYDOWN?)とPostMessage()
の使い方がわからないので探してみます。

名前さえもわからない状態だったので,とてもうれしいです。
うまくできたら,ご報告させて頂きます。



563:デフォルトの名無しさん
07/11/01 08:43:17
文字コードがバラバラのファイルを
同じ文字コードに統一したいのですが、
どのように処理したらいいのでしょうか?

ちなみに、VC2005です。

564:デフォルトの名無しさん
07/11/01 08:50:42
文字コード判別→変換

565:563
07/11/01 08:53:17
>>564 すばやい回答ありがとうございます。
文字コード判別になにを使えばいいでしょうか?

566:デフォルトの名無しさん
07/11/01 08:57:40
Windows的にはMLang。
だけどnkf使った方が楽。

567:563
07/11/01 09:05:27
.NET の方にはなにかないですか?

568:デフォルトの名無しさん
07/11/01 10:39:24
スレ違い

569:デフォルトの名無しさん
07/11/01 11:13:48
>>567
死ね

570:デフォルトの名無しさん
07/11/01 13:32:02
>>567
死ね

571:デフォルトの名無しさん
07/11/01 14:09:14
>>567
死ね

572:デフォルトの名無しさん
07/11/01 14:38:35
>>567
生きろ

573:デフォルトの名無しさん
07/11/01 18:31:21
>>567
C++なんだから、そこだけネイティブで>>566とすればいいじゃない。

574:デフォルトの名無しさん
07/11/02 09:24:11
WM_CREATEの中でBeginPaintって出来ませんか?
WM_PAINTじゃなく、CREATEの中でLineToとか一度だけの表示をしてしまいたいんですが・・

575:デフォルトの名無しさん
07/11/02 10:27:48
いちいち聞かなくても好きなところで書けばいいよ
自分でやってみればわかるから

576:デフォルトの名無しさん
07/11/02 16:09:17
ウィンドウを常に画面の右上に固定や左下に固定で表示させるのはどうしたらいいでしょうか?
CreateWindow内で座標を指定するのではなく、どのPCで開いてもちゃんと画面左上などの位置にぴったり表示させたいんです。
分かる方お願いします。

577:デフォルトの名無しさん
07/11/02 16:13:46
座標を指定する

578:デフォルトの名無しさん
07/11/02 16:20:15
その座標を指定するというのはディスプレイサイズが分かる関数があるんでしょうか?

579:デフォルトの名無しさん
07/11/02 16:53:56
VC++って何?ってところから勉強したいんですけど、オススメの書籍ありますか?
C#は1年くらいやったんですが、VC++は初めてで・・・

580:デフォルトの名無しさん
07/11/02 19:25:33
VC++って何?という状況だと勧められるものはない

581:デフォルトの名無しさん
07/11/02 21:40:14
>>574-575
これくらいは、実験するよりも仕様を確認するほうがいいと思う。
URLリンク(msdn2.microsoft.com)

582:デフォルトの名無しさん
07/11/02 21:45:32
>>578
GetMonitorInfoとかそこら辺を使う

583:デフォルトの名無しさん
07/11/02 22:47:14
GetWindowRect で十分な気がする

584:デフォルトの名無しさん
07/11/02 23:18:39
初心者スレでいきなり敷居の高い話をし始める>>582


585:デフォルトの名無しさん
07/11/03 07:52:54
MonitorFromWindowで自分のいるモニタのハンドルとって、
GetMonitorInfoでそのモニタの作業領域を取得するだけ。
簡単だろ。

586:デフォルトの名無しさん
07/11/03 09:20:02
GetWindowRect一回呼ぶだけ

587:デフォルトの名無しさん
07/11/03 12:32:56
GetWindowRectのウィンドウハンドルには、何を指定すればいいのですか?

588:デフォルトの名無しさん
07/11/03 13:54:10
RECT rect;
GetWindowRect(GetDesktopWindow(), &rect);

589:デフォルトの名無しさん
07/11/04 02:31:20
Visual C++6.0でSTL(mapやset)を使ったコードをデバッグ情報を生成する
オプションを指定してコンパイルすると、鬼のように長くてたくさんの
警告が出ます。警告の内容は、"デバッグ情報で識別子が255 文字に切り
捨てられました(warning C4786)"というものです。

この問題を回避するには次の選択肢の中から選ぶしかないのでしょうか?

(1) 警告を表示しないようにする → 他の便利な警告を受け取ることができない。
(2) デバッグ情報を生成しない。→ デバッガが使えない。
(3) 死ぬほどたくさんの警告メッセージを我慢。→ 非常につらい。
(4) STLを使わない。→ それは無理。


590:デフォルトの名無しさん
07/11/04 02:36:06
#pragma warning (disable: 4786)

が常套手段

591:589
07/11/04 03:54:29
>>590
うまくいきました。感謝します。

592:デフォルトの名無しさん
07/11/05 16:44:09
URLリンク(tserve01.aid.design.kyushu-u.ac.jp)
のお絵かきソフトを作るページを参考にしてるんですが
「ToolBar」の「IDR_MAINFRAME」のボタンとIDを書き換えても
ページに書かれているようなIDに対応するような関数が作られず
ボタンも描いたように表示されず灰色の使用不可のような状態
になってしまいます。
VS2005stdです。
どなたか、わかるかた、VS2005ではどうしたらよいか教えていただけないでしょうか。
お願いします。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4925日前に更新/165 KB
担当:undef