トップページ⇒tech
1001コメント319KB

C++Builder相談室 Part4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
C++Builderに関する質問・回答や議論等を行う相談室スレッド。
過去スレ・関連サイトは>>2-4あたり。
0246デフォルトの名無しさんNGNG
>>240
マジレスしようかどうか迷ったが・・・・

取り敢えず一番簡単な解決策はstatic領域に確保しなされ。
0247デフォルトの名無しさんNGNG
そーいやB-GEEKSを立ち読みしてたら、ワーム作成の解説しているところで
「フリーのコンパイラ、C++Builder5.5(bcc5.5)をダウンロードして、云々」って記述があった。
そのせいなのか?
bccはフリーだけどBuilderはフリーじゃないし5.5じゃないんだよぅと突っ込みたかった。
0248デフォルトの名無しさんNGNG
>>247
明らかに略になってないしなw
0249デフォルトの名無しさんNGNG
>>228
thx
ありがたく使わせてもらってます。
0250デフォルトの名無しさんNGNG
>>247
てーことは、C++Builder5.5 って表記している輩はワーム作成者かい?
0251284.287NGNG
>>236は俺です
確かread me かなにかからコピーして5,5をつけたしただけです
PC初心者なんでウィルスみたいなのはつくれません
0252284.287NGNG
read meです今確認、5,5はついてなかったので付け足したんだと思います
いろいろ検索したあとだったので、検索欄に書いてあったのをコピーしたのかもしれないけど
0253デフォルトの名無しさんNGNG
>>251-252
?
0254284.287NGNG
C++Builder5,5と書いてしまっていたので迷惑をかけてました
0255デフォルトの名無しさんNGNG
Windows2000 + C++Builder5で開発をしています。
Excelのワークシートをフォーム上に表示させるにはどうすればいいですか?
また、ワークシート上にある特定の名前を付けたオブジェクトの操作は可能ですか?

よろしくおねがいします。
0256bloomNGNG

http://www.agemasukudasai.com/bloom/
0257デフォルトの名無しさんNGNG
>>1-255
HTMLやってた時は楽しいからどんどん先に進めれたけど、
プログラミングの場合最初なんて変数とかポインタとか
つまらんもんばっか。
プログラミングでも最初から楽しくやれてるかたはいるのだろうか?
0258デフォルトの名無しさんNGNG
>>257
PHPがオススメなんで、WebProg板へ逝け。
0259デフォルトの名無しさんNGNG
愚痴をこぼされても困ってしまいますが。
ちゃんとした先生/学校/教科書で、一度しっかり勉強したほうが後々楽だと思います。

まじめに、プログラムに不向きな人はいますから、楽しくないことを無理に覚えなくても
良いかと。
0260デフォルトの名無しさんNGNG
>>255
Excel を ActiveX として取り込めばよいんだけど。
この説明で解りますか?
0261デフォルトの名無しさんNGNG
>>260
ありがとうございます、少し調べてみます。
0262257NGNG
>>258
今はHP作る気はない。

>>259
>ちゃんとした先生/学校/教科書で、一度しっかり勉強したほうが後々楽だと思います。
趣味でやってるんだけど。


>まじめに、プログラムに不向きな人はいますから、楽しくないことを無理に覚えなくても
良いかと。
いや、別に不向きだとはいってないよ。
本屋の初歩的な参考書を参考してできるけど
別に大して面白くないやんって不思議に思っただけ。

つうかこの板を見た限り本当に面白い部分を誰も赤の他人なんかには
教えたくないってわけだと思うけど、ちがうか?
0263デフォルトの名無しさんNGNG
すぐに目に見える結果がないと面白くないのか?
だとすれば不向きだと思う。
0264デフォルトの名無しさんNGNG
趣味でやっていても、基礎を身につけるために勉強する方は世の中にたくさんいらっしゃいますが、
どう思われます?

本当に面白い部分って、人によって異なるから教えようが無い。ってのが真実ではないかな?

テクニックや技法は教えられるけど、意欲やモチベーションってのは教える/教わるものではないでしょう?

どう思います?
0265デフォルトの名無しさんNGNG
ネタはマ板でやれ
(・∀・)カエレ!
0266デフォルトの名無しさんNGNG
わざわざ C++Builder相談室で聞くような話でもないしねぇ。
昨日からうろうろしている初心者ちゃんが逆切れしたのかなぁ。


0267257NGNG
>>263-264

「最初は基礎をいっぱい勉強せんといかんけどこれも
いつか俺がプログラマと呼ばれるための辛抱や。がんばるぞ!俺!」

っつーかお二人さんはこんなスタイルで勉強してきたんですか?
0268デフォルトの名無しさんNGNG
>>260
Formula One を使用するということでしょうか?

Excelのexeを別に起動させるのではなく、フォーム上に*.xlsファイルの
ワークシートを表示させたいのですが・・・。

よろしくおねがいします。
0269263NGNG
>>267
基礎部分そのものが面白いと思ってた。辛抱だとか思ったことはない。

BASIC パソコン付属のリファレンス
C K&R第2版
C++ TC++付属リファレンス、ARM
Delphi 付属リファレンス
だいたいこんなもので覚えた。
0270デフォルトの名無しさんNGNG
>>267
だから、技術が解らないのはおまえさんがアホだからなんだってば。
道具のせいにしちゃいかんよ。
0271257NGNG
>>269
>C K&R第2版
すごいね、あんた。
0272デフォルトの名無しさんNGNG
アゲっぱなしだしなぁ。嵐して楽しいか?
HTML 作るより、結果がすぐ出るから、楽しいんだろうなぁ。
0273デフォルトの名無しさんNGNG
>>268
アプリケーションを動かす環境に Excel はインストール済みか?
0274デフォルトの名無しさんNGNG
> 251 さんへ。

ある程度は他人の意見も聞きなさいな。264 で問われている質問くらいは答えてちょうだいな。
0275デフォルトの名無しさんNGNG
>>273
ローカルのマシンにはExcel2000が入っています。
0276デフォルトの名無しさんNGNG
つーか、物を覚えることがなぜ苦痛なんだろう。

辛抱とかって感情が出てくることが解らないよ。
0277デフォルトの名無しさんNGNG
>>275
BCB5 でしょ。コンポーネントパレットに Server ってなかったかなぁ?
無ければ ActiveX の取り込みで Excel を指定すればコンポーネント化できるんだが。
0278263NGNG
>>271
別にすごくない。頭良くないし。
変な例えとかで解説されるよりも単刀直入に書かれてて
「それはそういうものなんだ」とスキップして困ったときにちゃんと
理解する方があってただけ。

BASICとCの間にZ80ASMをやってたからポインタはすぐ覚えた。
後は文法しか残ってないし、予約語が少ないからわりと簡単。
関数は必要なときに用意されてるかどうか調べる。
用意されてるのに自力で実装して大きく遠回りはしたけど。
0279257NGNG
>>276
>つーか、物を覚えることがなぜ苦痛なんだろう。

どっかのスレで「一日6時間以上みっちり勉強しても
ちゃんとしたプログラムが出来上がるまで一年以上はかかる。」
ってなことが書かれてたけど、
さすがに俺にそれは無理だと思った。
0280263NGNG
>>279
そんなの自分でやってみないとわからないだろ。
自分が作りたいものができればいいと思うし。

1ヶ月の研修で現場に放り出される職業プログラマと、どっちがいい?
0281デフォルトの名無しさんNGNG
小中学校の勉強も、大変でしたか?

>>264 に対するあなたの考えを聞きたいな。
0282デフォルトの名無しさんNGNG
>>257
コンピューターに限らず、何かを作るときってそれくらいの作業量は必要だと思うけどね。

もう少し大人になって、子供一匹育ててごらん。
24時間つきっきりで、独り立ちさせるまで18年くらいかかる。
それに比べりゃ...
0283257NGNG
>>263
>変な例えとかで解説されるよりも単刀直入に書かれてて
>「それはそういうものなんだ」とスキップして困ったときにちゃんと
>理解する方があってただけ。

うん、確かにそのやり方の方が楽しそうだし、
自分でどんどん先に進められる気がする。
俺が使った本なんてのは、一つのこと教えるのに
何個もの例えで書かれてあって、
それをいちいち呼んで解析するなんてめんどくさいなと思った。
0284デフォルトの名無しさんNGNG
しかし、読み返してみると、257 はコミュニケーションを否定しているか、
他人の文章を読まずに感想を書き連ねているのだね。

まぁこれで彼の心のモヤモヤが晴れるのなら、付き合ってあげてもいいが。
0285デフォルトの名無しさんNGNG
>>277
Serversはあります。

ワークシート上には、オブジェクトが配置されていますが、
そのオブジェクトも一緒に表示させないといけないのです。
可能でしょうか?
0286デフォルトの名無しさんNGNG
>>285
できなかったら質問してください。聞いてないでまずやってみれ。
0287257NGNG
>>264>>274>>281

>趣味でやっていても、基礎を身につけるために勉強する方は世の中にたくさんいらっしゃいますが、
>どう思われます?

尊敬します。

>本当に面白い部分って、人によって異なるから教えようが無い。ってのが真実ではないかな?

では自作のソースコードを公開しようとしないヤツがいっぱいいるのは
どうしてだろうか?

>テクニックや技法は教えられるけど、意欲やモチベーションってのは教える/教わるものではないでしょう?

昔なら自然に趣味が身につくんだけど、
最近はどうも自分から趣味を探すようにしている。
俺には趣味を持つ余裕がないってことなのか?

>小中学校の勉強も、大変でしたか?

塾に通ってたんで毎日の宿題の量がすごくて大変だな
と思ったことあるが、学校ではないです。

>もう少し大人になって、子供一匹育ててごらん。

年バレてます?俺

>24時間つきっきりで、独り立ちさせるまで18年くらいかかる。

お母さん、お父さん今までご苦労様でした。
0288257NGNG
つーかさっきから思ったんだけど、
>>285さんと>>286さんの邪魔してるみたいでスマソ。
0289デフォルトの名無しさんNGNG
>>257
悪いと思っているのなら、書かないほうが。行動で示しましょう。

>俺には趣味を持つ余裕がないってことなのか?
ほとんど人生相談なんだけど、冷静に自分を見詰めた結果がそれなら、そのとおりなのではないでしょうか。

尊敬はできるってことは理屈では解っている。ってことかな?
解っているけど体が動かない。ってことなら、もうどうしようもないですよ。
世の中には、体を動かす(学習する)人がいる。ってことで。
勉強する人が、すべて偉いわけでもないしね。

自分のペースでやりたいことをやったら?あんたの人生なんだし。

ただ、
>つうかこの板を見た限り本当に面白い部分を誰も赤の他人なんかには
>教えたくないってわけだと思うけど、ちがうか?
これは、逆恨みでしかないぞ。
0290263NGNG
>では自作のソースコードを公開しようとしないヤツがいっぱいいるのは
>どうしてだろうか?
オナーニを公開しようとしないヤツがいっぱいいるのはどうしてだろうか?

つか、ソース公開したら「あなたの」何が変わるんだろ?
0291257NGNG
>>290
そこらへんの教科書に書いてるようなつまらないコードではないはず
だから、技術をパクるに決まってるだろーが。
0292デフォルトの名無しさんNGNG
だから、「楽しい」コードと「つまらない」コードがある。ってところが幻想なんだってばさ。
動いてなんぼのこの世界。

そこまで言うなら、gnu のコード、一通り読んでごらん。
0293デフォルトの名無しさんNGNG
なるほど。
HTML 書いてました。ってのも、他人のページの HTML コードをコピペしていただけなのだな。
自分書いたコードってどれくらいあるんだか。

まだ間に合うから、考え直しなさい。世の中そこまで甘くない。
0294デフォルトの名無しさんNGNG
コードをパクる。ってのは技術を盗むとはまったく別なんだけどね。
その違いがわかるようになるには、いろんな苦労が必要だよ > 257
いままで楽した分、頑張ってください。
0295257NGNG
>>292
無知な俺のために、ご教授ありがとうございました。
0296デフォルトの名無しさんNGNG
「無知な俺のために」余計な一言。
最後までアゲ嵐。

さすが。ガンガレ
0297263NGNG
結局のところ、画面になんらかの表示が出るのが楽しいコードと言ってるように思える。
そんなのごく一部分で、ほとんどが「つまらない」コード。VCLのソースでも見てみれば?

おもしろいと思わなければやめられるのが趣味ってもんでしょ。
0298デフォルトの名無しさんNGNG
... じゃぁ、gnu じゃだめじゃん。彼の欲望を満たせない...
VCL コードも、カラフルとは言いがたいしね。

いっそ、Mozilla/Gekko の HTML レンダリングモジュールを読んでみては?
0299工房NGNG
>>258-298

結局のところ、自分の知識のなさが問題を引き起こしたのだと思う。
もう一度プログラミングのことをきちんと勉強してから発言しようと思う。
たくさんのレスをありがとうございます。
0300デフォルトの名無しさんNGNG
高校生か。テスト休みとかかな?引きこもりでは無いだろうな。

無いことが解っている知識は、時間さえあれば習得できます。
知らないことに気づかない知識を得ることは、一人では不可能に近い。

若いうちに、コンピューター/ネット以外のことも含めて、いろんなことを、
まんべんなく身に付けてくださいね。
頭のやわらかいうちに覚えたほうが楽ですよ。
0301デフォルトの名無しさんNGNG
Formula OneのスプレットシートにExcelのファイルを表示させるにはどうすればいいですか?
それらしきプロパティが見当たらずに困っています。


0302デフォルトの名無しさんNGNG
>>301
できません。
0303デフォルトの名無しさんNGNG
http://www.geocities.co.jp/SiliconValley-Oakland/6342/
0304デフォルトの名無しさんNGNG
>>302
では、どうにかしてExcelのファイルを表示させる方法はありませんか?
0305デフォルトの名無しさんNGNG
補足ですが、標準コンポーネントを使用して表示させたいのです。
クエリーなどから表示させるのではなく、
ワークシートの実態を表示させるにはどうすればいいでしょうか?
0306デフォルトの名無しさんNGNG
>>301
おまえ馬鹿か?教えてくれてるのに無視かよ。
0307デフォルトの名無しさんNGNG
>>305
OLE関係の標準コンポーネントあったと思うが。
0308デフォルトの名無しさんNGNG
>>306
たぶん
「>>303はサラのExcelファイルにデータを入れて保存する方法だろうが!
すでに保存してあるファイルを表示したいんだよ! その手順のコードを
無料で全て書きやがれ、この低脳!!」
と、自分で何もしようとしない教えて君だと思われ。

>>307
そのレスは昨日もついたんだけどね・・・。>>277
0309デフォルトの名無しさんNGNG
Excel をアプリケーションに埋め込み OLE として表示させたい。
なのか
Excel のデータをスプレッドシートのまま(何かで)表示させたいのか。

どちらも結構めんどくさいから、Server コンポーネントで Excel を起動させちゃうほうが
簡単かつ確実だよ。Server コンポーネントの使い方が分からない場合はまたそのように。
0310デフォルトの名無しさんNGNG
borland C++ builder 6 を使って
コンソールアプリを作りたいのですが、
次のようなヘルプに載っているプログラムでさえ
エラーが出ます。対処方を御指導願えませんでしょうか
//
// complex.cpp
//
#include <complex>
#include <iostream>
using namespace std;
int main()
{
complex<double> a(1.2, 3.4);
complex<double> b(-9.8, -7.6);
a += b;
a /= sin(b) * cos(a);
b *= log(a) + pow(b, a);
cout << "a = " << a << ", b = " << b << endl;
return 0;
}

エラー
コンパイル
[C++ エラー] complex.cpp(9): E2451 未定義のシンボル complex
[C++ エラー] complex.cpp(9): E2188 式の構文エラー
[C++ エラー] complex.cpp(10): E2188 式の構文エラー[C++ エラー] complex.cpp(12): E2268 未定義の関数 'sin' を呼び出した
[C++ エラー] complex.cpp(12): E2268 未定義の関数 'cos' を呼び出した

以上よろしくお願いします。
0311デフォルトの名無しさんNGNG
#include <math.h> // 追加

未定義のシンボル complex のほうはさいげんできないなぁ

0312デフォルトの名無しさんNGNG
>>310>>311
変だな。何もエラーが出ないよ。

//
// complex.cpp
//
#include <complex>
#include <iostream>

int main()
{
std::complex<double> a(1.2, 3.4);
std::complex<double> b(-9.8, -7.6);

a += b;
a /= sin(b) * cos(a);
b *= log(a) + pow(b, a);
std::cout << "a = " << a << ", b = " << b << std::endl;
}
0313デフォルトの名無しさんNGNG
>>312
無意識に math.h 追加しちゃったみたいだ... ウツダシノウ...
0314デフォルトの名無しさんNGNG
std::complexを引数に取るsin、cosはmath.hでは定義されてないよね。
0315デフォルトの名無しさんNGNG
borland.co.jp のニュースグループに記事かいてるね。こいつめ。
newsgroups は IP もれるから、気をつけて??

どこでも、回答者は重なっていることが多いから、一つどころに絞ったほうがよいよ。
0316デフォルトの名無しさんNGNG
>complex<double> a(1.2, 3.4);
で
>[C++ エラー] complex.cpp(9): E2451 未定義のシンボル complex

が出てしまう。ってことは、

using namespace std;

が間違っているのかなぁ。けど、存在しない名前空間名ならちゃんとエラー出すしなぁ。

.. まさか、自前の complex.hpp とかがどっかに落ちていない?
0317デフォルトの名無しさんNGNG
>>310
まだ見てるかな?
一度、マシンを再起動させてから、Examples\StdLib に移動して、
>make
ってやってみて。

それで complx.exe がちゃんと作成されるなら、あなたの IDE 環境かプログラムに問題がある。
0318質問ですNGNG
超初歩的な質問です

ある計算をするアプリを作ったのですが、
計算が終了するまでは「応答なし」になってしまい、ウィンドウの移動などもできません。
どうすれば計算中でもウィンドウの移動などができるようになるのでしょうか?

HELPやWEBなどで検索してみましたが、何をキーワードに検索すればいいのかもわからない
くらいの初心者です。
「〜〜をキーワードに調べてみよ」といったことでも結構ですので、よろしくお願いします。
0319デフォルトの名無しさんNGNG
ProcessMessages
0320318NGNG
>>319

解決しました。
ありがとうございました。
0321デフォルトの名無しさんNGNG
>>317
最初にエラーが出ましたが、2回makeやったら、
普通に実行ファイルが出来てきました。
レス感謝です^^
0322デフォルトの名無しさんNGNG
std::complexはstd名前空間に包まれているはずなのですが、次のプログラムを
コンパイルするとエラーが出ます。

#include <complex>

int main()
{
std::complex<double> a, b;

b = std::sin(a);
}

b = _STL::sin(a); とすれば通ります。_STLはSTLportの名前空間ですが、
stdと同じ意味になっているはずなので、どうもおかしいです。

algorithmのstd::removeも通りません。_STL::removeとすれば通ります。
C++Builder6は、名前空間に包まれている関数の多重定義の解決が
うまくできないバグがあるようです。
0323デフォルトの名無しさんNGNG
このバグのお陰で、boost::numeric::ublasが全滅です。std::absとかstd::sqrtを
全部_STL::absとか_STL::sqrtに書き換えないとなりません。ああ面倒くさい。
0324デフォルトの名無しさんNGNG
>>322
そのバグは見覚えがある。昔のバージョンでSTLPort使おうとすると出るんじゃなかったっけ
#define _STL std するという対策をどっかで見た気がする。

本当に使ってるC++Builderのバージョンは6か?
とりあえず、C++ Builder 4、5、6、FreeCompiler 5.5 で問題なくコンパイルできてるんだが…
0325デフォルトの名無しさんNGNG
>>324
C++Builder6でコンパイルすると>>322のような症状が出ます。BCB4やBCB5は
STLportでないので症状は出ないと思います。C++Builder6でも、_USE_OLD_RW_STL
という、Rogue WaveのSTLを使うマクロを定義するとエラーが出ません。

恐らくC++Builder6がSTLportに対応しきれてないせいだと思います。
0326324NGNG
スマソ。もいっかい試したら確かに6だとエラーになった。
コンパイラ切り替えそこねてたみたい。

試しにSTLPortの最新版ならどうなるかと STLPort-5.0-0409 を落としてみたが
全然コンパイルが通らねぇ…
0327sageNGNG
310です。
317さんのおかげで糸口をつくり、コンパイルできました。
すなわち、上のiostreamをiostream.hに変えたら通りました。
#include <complex>
#include <iostream.h>
using namespace std;
int main()
{
complex<double> a(1.2, 3.4);
complex<double> b(-9.8, -7.6);
a += b;
a /= sin(b) * cos(a);
b *= log(a) + pow(b, a);
cout << "a = " << a << ", b = " << b << endl;
return 0;
}
iostreamとiostream.hの違いがよくわかりませんが
解決しました。ありがとうございました^^
0328デフォルトの名無しさんNGNG
PageControlにプログラムでタブを追加する方法を教えて下さい。
0329デフォルトの名無しさんNGNG
>>328

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TTabSheet* tb;

tb = new TTabSheet(this);
tb->PageControl = PageControl1;
}
0330デフォルトの名無しさんNGNG
>>328
スマソ。コンストラクタに与えるのがthisではまずいかも。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TTabSheet* tb;

PageControl1->MultiLine = true;
tb = new TTabSheet(PageControl1);
tb->PageControl = PageControl1;
}
0331デフォルトの名無しさんNGNG
>>329-330
いえ、コンストラクタがthisでもOKでした!
ありがとうございます。
0332デフォルトの名無しさんNGNG
あっ、もう1つ質問ですが、
TCppWebBrowserで表示しているページのURLを右クリックして出てくる
ポップアップメニューの「新しいウィンドウで開く」をクリックすると
IEが立ち上がってしまうのですが、これをTCppWebBrowserを新たに作成して
そこに表示させるためには、どのようにすればいいのでしょうか?
0333デフォルトの名無しさんNGNG
OnNewWindow2でなんかやっとけ
0334デフォルトの名無しさんNGNG
>>333
御意!
0335デフォルトの名無しさんNGNG
>>333
あぁすみません・・御意と言いつつちょっとわからないので教えて下さい。
OnNewWindow2イベントで以下のようにタブシートとTCppWebBrowserを作成、
int n = Pc->PageCount;
Ts[n] = new TTabSheet(this);
Ts[n]->PageControl = Pc;
Ts[n]->Name = Format( "Ts%2.2d", ARRAYOFCONST((Ts[n]->PageIndex + 1)) );
Wb[n] = new TCppWebBrowser(this);
Wb[n]->TOleControl::Parent = Ts[n];
Wb[n]->Width = 400;
Wb[n]->Height = 200;
Wb[n]->Left = 2;
Wb[n]->Top = 2;
Wb[n]->Align = alClient;
Wb[n]->Visible = true;
Wb[n]->OnDocumentComplete = CppWebBrowserDocumentComplete;
Wb[n]->OnDownloadBegin = CppWebBrowserDownloadBegin;
Wb[n]->OnDownloadComplete = CppWebBrowserDownloadComplete;
Wb[n]->OnNewWindow2 = CppWebBrowserNewWindow2;
Wb[n]->OnProgressChange = CppWebBrowserProgressChange;
Pc->ActivePage = Ts[n];
この作成したTCppWebBrowserに飛び先のURLを表示する方法を教えて下さい。
0336デフォルトの名無しさんNGNG
いや、俺も正確にやったことないんだけどさ、
Cancelして、新しいTabSheetに作ったブラウザでNavigate2すればいいんじゃないの?
飛び先アドレスの取得は、クリックならStatusTextChange等で(およそ)出来たはず。
およそと書いたのは、なんか問題があるらしいとあぼーんスレで読んだ気がするから。
よく読んでないからわからんけどね。
0337デフォルトの名無しさんNGNG
Navigate2するときのURLってどうやって引っ張ってくるのでしょうか?
StatusTextChangeってプロパティ?でアレですかー
んーこの辺はちょっと難しそうですねー
ここらの情報ってどこかに載ってるサイトないですかね?
0338デフォルトの名無しさんNGNG
あー何か「このイベントは使わないでください」っておもいっきり
書いてますねーこれ、あー、どうすればいいんだあああああああ
0339デフォルトの名無しさんNGNG
>337-338
私は遠慮なくStatusTextChangeイベントを使ってますよ。
特に問題はなさそう。
ただ、StatusTextChangeでは、#を含むURLが上手く取得出来なかったと
思います。(例えばGoogleの参照URLとか)
良かったら、これをどうぞ。

http://abone.pos.to/Code.txt
0340デフォルトの名無しさんNGNG
>>339
ふーふー(;´Д`)
激しく感謝します!
早速試してみます!!
0341デフォルトの名無しさんNGNG
>>339
あ、すみません・・
StatusTextChangeイベントが発生しないのですが、何か設定が必要なのでしょうか?
また、教えて頂いたソースでやってみたのですが、飛び先URL
じゃなくて、何か自分のURLぽかったのですが、ちょっと私のやり方が
アレかもなので、再度トライしてみます。
0342デフォルトの名無しさんNGNG
TMediaPlayerで表示される.AVIや.MPGの表示ウィンドゥをユーザー定義のTPanel
にしているのですが、マウスでこの表示ウィンドゥのサイズを変更した時に、動画の
サイズが変わってくれません。

何が間違っているのでしょうか?

void __fastcall TViewForm::ViewPanelResize(TObject *Sender)
{
MainForm->MediaPlayer->DisplayRect.Right = ViewPanel->Width;
MainForm->MediaPlayer->DisplayRect.Bottom = ViewPanel->Height;
MainForm->MediaPlayer->Display = ViewPanel;
}
0343デフォルトの名無しさんNGNG
342です。自己解決しますた。

DisplayRectのRightとかBottomメンバを個別に変えていてはだめなようです。TRectクラスを
一度に与えるとうまくリサイズできました。

MainForm->MediaPlayer->Display = ViewPanel;
MainForm->MediaPlayer->DisplayRect = TRect(
MainForm->MediaPlayer->DisplayRect.Left,
MainForm->MediaPlayer->DisplayRect.Top,
MainForm->MediaPlayer->DisplayRect.Left + ViewPanel->Width,
MainForm->MediaPlayer->DisplayRect.Top + ViewPanel->Height
);
0344デフォルトの名無しさんNGNG
すいません、質問させてください。

ウインドウハンドルがわかっている他のアプリケーションのウインドウの
クライアント領域での相対的なマウスの座標を知りたいのですが、
先ず、GetCursorPos 関数でマウスのスクリーン座標を拾って
次にAPIの ScreenToClient 関数で目的の座標に変換しようとしたのですが、
コンパイルエラーが発生しました。
ならば今度はAPIの GetClientRect 関数でクライアント領域の左上の
座標を拾って目的の座標を計算しようとしたのですが、これもエラーと。
エラーメッセージを見た限りでは、これらのAPI関数はBCB6では使えないような雰囲気なんです。
何かいい方法・解決策がありましたら教えていただけませんか。

ソースの骨子は次のような感じです。
ヘッダーファイルはデフォルト状態から何も加えない状態で、目的のウインドウのハンドルを hWnd(既知)として、
{
POINT pm;
GetCursorPos(&pm);

ScreenToClient(hWnd,&pm); //←ここでコンパイルエラー

RECT rc;
GetClientRect(hWnd,&rc); //←ここもコンパイルエラー
}
0345デフォルトの名無しさんNGNG
せめて、コンパイルエラーの文言だけでもコピペしてね。

ScreenToClient を ::ScreenToClient にすればよくないかな?
0346344NGNG
上手くいきました。ありがとうございます。
忠告もありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています