C++Builder相談室 Part15
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/08/21(日) 17:48:30過去スレ・関連サイトは>>2-7あたり。
0133デフォルトの名無しさん
2005/09/16(金) 08:33:351バイトづつIntToHex
0134デフォルトの名無しさん
2005/09/16(金) 09:07:480135デフォルトの名無しさん
2005/09/18(日) 18:04:00方法がわかりません。
Excelに数字を保存する方法はわかったのですが、グラフの書き方がわからないので、
知っている人がいれば教えてください。
0136ミ,,゚Д゚彡 ◆A6VzDeLphI
2005/09/18(日) 20:38:29グラフが描かれるテンプレートを用意して
xltとして保存しておいて
Excelをコントロールするとき
Excel起動後、新規シートではなく
xltを読み込んで動作させてはいかがかと。
0137デフォルトの名無しさん
2005/09/18(日) 22:03:550138デフォルトの名無しさん
2005/09/18(日) 22:17:03投稿日 : 2005/08/01(Mon) 10:35
投稿者 : lovez00
RichEditにはCanvasプロパティがないので、
使い捨てCanvasを作れば解決です。
練習がんばってねー。
//-------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//使い捨てCanvas
TCanvas *RECanvas = new TCanvas;
RECanvas->Handle = GetDC( RichEdit1->Handle );
//ペン設定
RECanvas->Pen->Color = clBlack;
RECanvas->Pen->Width = 2;
//線を引く
RECanvas->MoveTo( 0, 20 );
RECanvas->LineTo( RichEdit1->ClientWidth, 20 );
//使い終わったら消す
delete RECanvas;
}
0139デフォルトの名無しさん
2005/09/19(月) 14:39:17void __fastcall TForm1::Button1Click(TObject *Sender)
{
TCanvas *c=new TCanvas;
c->Handle= GetDC(0);
//ここから好きな処理をする
c->Font->Size= 100;
c->TextOut(10,10,"いろは");
c->MoveTo(100,100);
c->LineTo(500,500);
//ここまで
ReleaseDC(0,c->Handle);
delete c;
}
0140デフォルトの名無しさん
2005/09/20(火) 05:30:42処理に困っているのは 0x00 だけ?
バイナリデータって聞くとそれ以外にも普通に表示されないコードが
あると思っちゃうけど無いの?
もしあるならどういう風に表示させるつもり?
TFileStream::Read() を使って unsigned char の配列に入れて
表示したいように加工してから表示・・・?
0141デフォルトの名無しさん
2005/09/21(水) 00:21:17LPDISPATCH *ppDisp, VARIANT_BOOL *Cancel)
{
一部省略
*ppDisp = CppWebBrowser->Application;
}
*ppDisp = CppWebBrowser->Application;
ってどういう意味なのですか?一般的に
0142デフォルトの名無しさん
2005/09/21(水) 00:56:000143デフォルトの名無しさん
2005/09/21(水) 02:41:420144デフォルトの名無しさん
2005/09/21(水) 03:22:06パッケージを使ってビルドすれば、BPLに対応するリソースdll(日本語ならJPN)が自動で選ばれる。リソースdllが無ければVCL内のメッセージについては英語のはず。
静的ビルドのときは、CDに入ってる(←バージョンによっては)英語版VCLでビルドするか、最悪でもやはりリソースとして.exeに埋めこまれてるのでリソース編集ツールで置き換えられる。
0145デフォルトの名無しさん
2005/09/21(水) 03:23:280146デフォルトの名無しさん
2005/09/21(水) 11:19:32強制的に最初のタブがアクティブになってしまうけど、
私はその削除するタブの一個前をアクティブにしたいのだが、
どうすれば良いのですかね。今現在ページの移動が見苦しい
<現在の擬似コーディング>
//現在のページ数
int PageNum = PageCtrl->PageCount;
//削除するページを得る(最後のページ)
TTabSheet *pDelPage = PageCtrl->Pages[PageNum - 1];
//次にアクティブにするページ
TTabSheet *pNextActivePage = PageCtrl->Pages[PageNum - 2];
//ページ削除(一旦先頭のページに移動)
delete pDelPage;
//次にアクティブにするページに移動(仕方なく入れてる)
PageCtrl->ActivePage = pNextActivePage;
0147デフォルトの名無しさん
2005/09/21(水) 13:08:12削除前に移動してもだめ?
0148デフォルトの名無しさん
2005/09/21(水) 13:51:16TPageControl::RemovePageをオーバライドするしか無いような‥‥
てかそこで削除したページの次を検索してそのページに切り替え動作やってるようだ。
0149146
2005/09/21(水) 14:05:24>>148 TPageControl::RemovePageは、privateにあって難しいかも。
VCLのソースそのものの書き換えが必要?
0150デフォルトの名無しさん
2005/09/21(水) 14:44:55ヘッダ書き換えで行けないかね‥‥
0151デフォルトの名無しさん
2005/09/21(水) 17:01:36TPageControlを継承した派生クラス作って、
RemovePage()をオーバーライドでどう?
0152デフォルトの名無しさん
2005/09/21(水) 18:33:370153146
2005/09/22(木) 09:03:530154デフォルトの名無しさん
2005/09/22(木) 09:18:59class Base {
private:
virtual void func() { cout << "Base::func()\n"; }
public:
virtual void funca() { func(); }
};
class Ext : public Base {
public:
virtual void func() { cout << "Ext::func()\n"; }
};
main() {
Ext a;
a.funca();
cout << endl;
}
0155デフォルトの名無しさん
2005/09/22(木) 13:40:32並べてみると壮観だね
A list of features in Dexter
http://groups.google.co.jp/group/borland.public.cppbuilder.non-technical/msg/901d7e5f9cb15e40?hl=ja&
0156デフォルトの名無しさん
2005/09/22(木) 15:31:150157デフォルトの名無しさん
2005/09/23(金) 23:37:18二郎 90
一郎 70
太郎 80
点数をソートして、名前を点数順に取得する方法がわかりません。
知っている人がいれば教えてください。
0158デフォルトの名無しさん
2005/09/23(金) 23:44:00TStringList
0159デフォルトの名無しさん
2005/09/23(金) 23:59:49158じゃないけど、TStringListで良いんじゃないの?
その場合、090という風に桁数を合わせないとダメだけど。
090二郎
070一郎
080三郎
という感じにして、Sort()で昇順になるから、逆順(高い者順)なら
下から取ってくれば良い。
0160デフォルトの名無しさん
2005/09/24(土) 01:55:00//構造体を定義
struct name_value {
String name;
int value;
name_value( String n=EmptyStr, int v=0 ) : name(n), value(v) {};
};
bool operator<( const name_value& lh, const name_value& rh ) {
return lh.value < rh.value;
}
//こんなふうにつかう
#include <set>
void some_function()
{
typedef std::set<name_value> name_value_set;
name_value_set nvset;
nvset.insert( name_value("二郎",90) );
nvset.insert( name_value("一郎",70) );
nvset.insert( name_value("太郎",80) );
...
//あとは頭からでもけつからでも好きな方から読み出せばいい。
}
0161デフォルトの名無しさん
2005/09/24(土) 12:31:08IDEの起動に物凄い時間がかかってメモリもありえないほど喰うけどな
0163デフォルトの名無しさん
2005/09/24(土) 13:15:18そうか。
で、それがどうかしたか?
>>160のソースに問題はないのでリンカエラーを起こしたのは君の責任だ。
0164デフォルトの名無しさん
2005/09/24(土) 13:20:21俺は>>160さんのソースを打ち込んで、適当にアレンジしてMemoに
中身を貼り付けるようにしてみたが、ちゃんと動いたぞ。
Windows用のPeekMessageとGDIを使った簡単なアニメーションと言うかゲームみたいなプログラムのソースを読んだんですが、C++Builderのプログラムに移植したいと思ったんですけど、PeekMessageを使っててメッセージループ中に他の自作関数を呼んだりしないといけません。
でもC++Builderのプログラムにはメッセージループがありません。どこにあるのですか?どうしたらカスタマイズできますか。
0166デフォルトの名無しさん
2005/09/24(土) 14:09:07BEGIN_MESSAGE_MAP
0167デフォルトの名無しさん
2005/09/24(土) 14:25:09http://www.borland.co.jp/qanda/cbuilder/c0002864.html
0168デフォルトの名無しさん
2005/09/24(土) 14:32:46TApplicationクラスのprivate関数ProcessMessageにメッセージループはある
0169デフォルトの名無しさん
2005/09/24(土) 14:59:01strA = "Button1"
From1.controls(strA).Visible = True
みたいにBCBで
Form1 -> strA -> Visible = True
みたいには出来ますか。
0170デフォルトの名無しさん
2005/09/24(土) 15:21:08String strA = "Button1";
Form1->FindChildControl(strA)->Visible = True;
ただし、実際はifでくくったほうが良い。
if ( TControl* ctrl = Form1->FincChildControl(strA) )
ctrl->Visible = True;
0171デフォルトの名無しさん
2005/09/24(土) 15:24:05さすがだね。ありがとう
0172デフォルトの名無しさん
2005/09/24(土) 15:24:51×True
○true
×FincChildControl
○FindChildControl
0173デフォルトの名無しさん
2005/09/24(土) 15:53:51boostを使えるようにする方法を教えてく浅い。
0174デフォルトの名無しさん
2005/09/24(土) 15:57:42binフォルダ中のbcc32.cfgに
-I"C:\boost_1_33_0"等を追加。既に-Iがあると思うので、セミコロンで
区切って後ろに追加する。
buildは・・・・・諦めた方がいいかもね。
0175デフォルトの名無しさん
2005/09/24(土) 17:43:20http://groups.google.co.jp/group/borland.public.cppbuilder.non-technical/msg/901d7e5f9cb15e40?hl=ja&
Here's a list of things I got out of it for Dexter.
- Conformance for Boost and ACE. Almost 100% ANSI conformance.
※直訳
Delphi2006買ってください><
0176デフォルトの名無しさん
2005/09/24(土) 17:54:27- Updates for BCB6
orz
0177デフォルトの名無しさん
2005/09/24(土) 21:30:340178デフォルトの名無しさん
2005/09/24(土) 23:27:46先頭の0を取り除く方法がわかりません。
0179デフォルトの名無しさん
2005/09/24(土) 23:30:32z = AnsiString(z.ToInt());
0180デフォルトの名無しさん
2005/09/24(土) 23:32:29AnsiString z = "070";
Caption = IntToStr( StrToInt(z) + 0 );
0181デフォルトの名無しさん
2005/09/24(土) 23:37:060182デフォルトの名無しさん
2005/09/25(日) 00:03:21char *p=new char[z.Length()+1];
if(p){
strcpy(p,z.c_str());
z=AnsiString(p+1);
delete[] p;
}
0183デフォルトの名無しさん
2005/09/25(日) 00:20:32void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList* MyList = new TStringList();
AnsiString a = "070二郎";
AnsiString b = "100一郎";
AnsiString c = "080三郎";
MyList->Add(a);
MyList->Add(b);
MyList->Add(c);
MyList->Sort();
Memo1->Lines->Add(MyList->Count);
Memo1->Lines->Add(MyList->IndexOf(a));
Memo1->Lines->Add(MyList->IndexOf(c));
Memo1->Lines->Add(MyList->IndexOf(b));
Memo1->Lines->Add(MyList->Strings[0]);
Memo1->Lines->Add( ( (MyList->Strings[0]).SubString(1,3)).ToInt() );
Memo1->Lines->Add( ((WideString)MyList->Strings[0]).SubString(4,2) );
delete MyList;
}
0184デフォルトの名無しさん
2005/09/25(日) 00:24:01ま、なんだ。こういうところで安易に質問する前に
自分でもちっと勉強しろって事だな。
説明がわるかったけど、独自メッセージを処理したいというより
リアルタイム処理のためにGetMessageじゃなくてPeekMessageをつかったメッセージループとそのループ中に関数呼び出しを挿入したいということだけど、やっぱり分かりにくいか。
>>170
private関数じゃどうにもならないね。
0186デフォルトの名無しさん
2005/09/25(日) 02:00:470187165
2005/09/25(日) 05:39:28>>166 >>167 >>168
失礼しました。そしてありがとう。
>>168 >>186
メインループは書き換えられないけど、時間のかかるループの中でこれを呼べばいいみたいですね。
どうもありがとうございました。
0188デフォルトの名無しさん
2005/09/25(日) 08:49:05タイマースレッド作ってSleepなりSetTimerなりでループ回してやれば?
0189デフォルトの名無しさん
2005/09/25(日) 12:26:41ここではAPIを使用して自ウインドウへのメッセージ(WM_MOVE、WM_SIZE、WM_CLOSE)をフックする方法を説明します。このメッセージフックの方法は結構使えるので知らない人は覚えておきましょう。
■使用するAPI関数
SetWindowLong(ウインドウに関する情報を設定する)
CallWindowProc(Windowsメッセージをデフォルトのウインドウ プロシージャに渡す)
■メッセージ
WM_MOVE(ウインドウが移動した時に送られる)
WM_CLOSE(ウインドウを終了しろと言われた時に送られる)
WM_SIZE(ウインドウのサイズが変更した時に送られる)
0190165
2005/09/25(日) 12:28:11うん、その方法もあるね。
たまたま見たプログラムがメッセージループをいじくるやつだから、Builderだとどうなるかと思ったんです。
0191デフォルトの名無しさん
2005/09/25(日) 15:24:55>>189
WndProcオーバーライドしろと
0192デフォルトの名無しさん
2005/09/25(日) 17:26:37http://thecoadletter.com/article/0,1410,17819,00.html
if (msg == WM_VSCROLL)
ShowMessage("The vertical scrollbar is scrolling!"); //ここでカーソルが固まる
カーソルが固まるのを防ぐ方法がわかりません。
0193デフォルトの名無しさん
2005/09/25(日) 17:27:28休まずかき混ぜ続けるんだ
0194デフォルトの名無しさん
2005/09/25(日) 18:15:13そりゃ、スクロールイベントをShowMessageで止めてるんだからそうなるでしょ
0195デフォルトの名無しさん
2005/09/25(日) 18:37:24if (msg == WM_VSCROLL)
OutputDebugString("The vertical scrollbar is scrolling!")
これで解決
0196デフォルトの名無しさん
2005/09/25(日) 20:49:46そして、ダイアログボックスの嵐の罠(´Д`)
0197デフォルトの名無しさん
2005/09/25(日) 21:11:430198デフォルトの名無しさん
2005/09/26(月) 00:12:18http://www.geocities.com/fekinci37/vol.htm
0199デフォルトの名無しさん
2005/09/26(月) 10:22:21//#include <windows.h>
//Setting Master Volume
//http://www.geocities.com/fekinci37/vol.htm
void __fastcall TForm1::Button1Click(TObject *Sender)
{
DWORD Vollevel;
Vollevel = GetMixerVolume(GetMixerControlID (MIXERLINE_COMPONENTTYPE_DST_SPEAKERS));
//Vollevel = GetMixerVolume(GetMixerControlID (MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT));
//Vollevel = GetMixerVolume(GetMixerControlID (MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER));
if (Vollevel)
SetMixerVolume(GetMixerControlID (MIXERLINE_COMPONENTTYPE_DST_SPEAKERS), 0);
else
SetMixerVolume(GetMixerControlID (MIXERLINE_COMPONENTTYPE_DST_SPEAKERS), 65535);
}
0200デフォルトの名無しさん
2005/09/26(月) 13:46:27//WOutLine.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
//WOutLine.dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER;
http://www.gbuilder.times.lv/mixer.htm
http://www.gbuilder.times.lv/bcb_tips/MIXER_DEMO.rar
WinRAR
RAR/ZIPファイルの圧縮・解凍
http://www.vector.co.jp/soft/win95/util/se100730.html
0201デフォルトの名無しさん
2005/09/26(月) 18:11:59Form1->TrackBar1->Max = 65535;
0202デフォルトの名無しさん
2005/09/26(月) 23:37:110203デフォルトの名無しさん
2005/09/26(月) 23:39:07BCBに未来があるかどうかは、俺にはわからない。
0204デフォルトの名無しさん
2005/09/27(火) 09:10:260205デフォルトの名無しさん
2005/09/27(火) 20:35:380常駐系のアプリケーションを作成する場合など、タスクバーにアプリケーションのアイコンを表示したくない場合があります。
そんな時は、プロジェクトファイル(*.bpr)のソース(*.cpp)に以下のように追加します。
Project1.cpp
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->ShowMainForm = false; //これを追加
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
ただしこのままだと終了させる術がないので、タスクトレイにアイコンを表示するなどの処置はしておきましょう(^^;
ただしShowMainFormプロパティはアプリケーションの起動時に表示するかしないかを決めています。
そこで、フォームを表示させたい場合はForm1->Show()などとして表示させましょう。
0206デフォルトの名無しさん
2005/09/27(火) 20:56:2200207デフォルトの名無しさん
2005/09/27(火) 21:23:36ID:0仕事で使いたいなと思っているんだけど
もう新製品が出ませんとかだとなかなかね〜
0208デフォルトの名無しさん
2005/09/27(火) 21:41:52ID:0移行のテストも新バージョンの隠れたバグにも悩まされない
でも正直、環境入れ替えの移行テストもしたいし、SPが配布
されるのを心待ちにもしい・・・・・・・・・・・・・・・・・・・・・・
0209デフォルトの名無しさん
2005/09/27(火) 22:02:03ID:0年末に出ますよ。
2007年にはwin64対応版も出るとの事です。
Delphi RoadMap
http://blog.marcocantu.com/blog/ekondelphiroadmap.html
> Delphi/C++ for win64 (circa 2007): the name says it all My Comment
0210デフォルトの名無しさん
2005/09/27(火) 22:52:45EKon 9 Delphi Product Address
http://81.70.196.39:4242/Weblog/Blog.aspx?RootId=5:156
0211デフォルトの名無しさん
2005/09/27(火) 22:54:41Delphi談話室と間違えました
マルチポスト御免なさい mOm
0212デフォルトの名無しさん
2005/09/28(水) 10:40:38同じくらいならどっちを使うのがいいですか?
0213デフォルトの名無しさん
2005/09/28(水) 10:43:50急ぎじゃなければDelphi2006待ってから決めるのが吉
0214デフォルトの名無しさん
2005/09/28(水) 10:47:25SubItemがCaptionと同じ色で表示されてしまいます。
void __fastcall TForm1::ListView1DrawItem(
TCustomListView *Sender, TListItem *Item, TRect &Rect,
TOwnerDrawState State)
{
TCanvas *canvas = Sender->Canvas;
if (Item->Selected)
{
canvas->Brush->Color = clHighlight;
}
else
{
canvas->Brush->Color = clBlack;
}
canvas->Font->Color = clWhite;
canvas->TextOutA(0, Item->Top, "Caption");
canvas->Font->Color = clFuchsia;
canvas->TextOutA(ListView1->Columns->Items[0]->Width, SubItem);
}
どこがいけないのでしょうか。
0215デフォルトの名無しさん
2005/09/28(水) 11:45:59急ぎではないですが、それはいつ発売されますか?
0216デフォルトの名無しさん
2005/09/28(水) 12:26:44年末くらい
0217デフォルトの名無しさん
2005/09/28(水) 16:54:11最近BCB触ってないからアレなんだが・・・↓のコードでいけないか?
void __fastcall TForm1::ListView1DrawItem(
TCustomListView *Sender, TListItem *Item, TRect &Rect,
TOwnerDrawState State)
{
TCanvas *canvas = Sender->Canvas;
if (Item->Selected)
{
canvas->Brush->Color = clHighlight;
}
else
{
canvas->Brush->Color = clBlack;
}
SetTextColor(canvas->Handle, clWhite); // ← 変更
canvas->TextOutA(0, Item->Top, "Caption");
SetTextColor(canvas->Handle, clFuchsia); // ← 変更
canvas->TextOutA(ListView1->Columns->Items[0]->Width, SubItem);
}
0218デフォルトの名無しさん
2005/09/28(水) 17:14:31最後の行はcanvas->TextOutA(ListView1->Columns->Items[0]->Width, Item->Top, "SubItem");
の打ち間違い?だとして、それでちゃんと色分けされたけどな。
0219デフォルトの名無しさん
2005/09/28(水) 18:24:03void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap *mBitMapA; //ビットマップオブジェクトの宣言
Graphics::TBitmap *mBitMapB; //A:ソース B:オブジェクト
mBitMapA = new Graphics::TBitmap();
mBitMapB = new Graphics::TBitmap();
mBitMapA->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp"); //ソースファイルを読み込む
mBitMapA->PixelFormat = pf24bit; //24ビットのビットマップにする
mBitMapB->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp");
mBitMapB->PixelFormat = pf24bit;
#define kR 2//RGBのオフセット値
#define kG 1//ビットマップの中では、B G Rの順に並んでいます。
#define kB 0
{
int x,y,w,h;
unsigned char*pA,*pB;
w = mBitMapA->Width;
h = mBitMapA->Height;
for(y=0; y<h; y++) {
pA = (unsigned char *)mBitMapA->ScanLine[y];
pB = (unsigned char *)mBitMapB->ScanLine[y];
for(x=0; x<w; x++) {
pB[x*3+kR] = (unsigned char)(255 - pA[x*3+kR]);
pB[x*3+kG] = (unsigned char)(255 - pA[x*3+kG]);
pB[x*3+kB] = (unsigned char)(255 - pA[x*3+kB]);
}
}
}
Form1->Canvas->Draw(0,0,mBitMapB);
}
0220デフォルトの名無しさん
2005/09/28(水) 23:36:37delphi2006でC++が使えるの?
0221デフォルトの名無しさん
2005/09/28(水) 23:49:01http://blog.marcocantu.com/blog/ekondexter.html
0222デフォルトの名無しさん
2005/09/28(水) 23:58:43ほ〜 ありがとう
もうMFC使ってのGUIアプリ作るのは疲れたよ。
0223デフォルトの名無しさん
2005/09/29(木) 10:23:32そんな目的なら現行 BCB6 を買っておきなよ。D2006 なんか期待しちゃだめ
0224デフォルトの名無しさん
2005/09/29(木) 10:41:460225デフォルトの名無しさん
2005/09/29(木) 10:42:360226デフォルトの名無しさん
2005/09/29(木) 14:16:21http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
0227デフォルトの名無しさん
2005/09/29(木) 23:44:08[リンカ 致命的エラー]fatal:オプションの間違い:2045;
0228デフォルトの名無しさん
2005/09/30(金) 11:01:40そのフォーム内のイベントでフレーム無いのラベル等のキャプションを変更しようとするとエラーになります。
Frame1->Label1->Caption = "aaa";
上記のコードを実行するときはすでにフレームのコンストラクタは呼ばれていますが
0229デフォルトの名無しさん
2005/09/30(金) 11:23:02とりあえずオブジェクトインスペクタでフォームに乗っかってるフレームのNameを確認する。
0230デフォルトの名無しさん
2005/09/30(金) 11:28:08貼り付けたフレームはフォームに貼り付けられたフレームにしかアクセスできませんか?
Frame11->Label1->Caption = "aaa";
たしかにこれならできますが、設計時にフレームを修正するとフォームに貼り付けてるフレームの内容も
同時に修正されるので、Frame1->Label1->Caption = "aaa";みたいに直接フレームないのラベル等の変更ができるかなっておもったんですが
これはできないってことですか?
0231デフォルトの名無しさん
2005/09/30(金) 11:34:29できません
0232デフォルトの名無しさん
2005/09/30(金) 11:40:02あ、できないんですか。納得です。
しかしフォームに貼り付けたフレームのボタンのクリックイベントを作成すると
Frame21->BitBtnClick(Sender);
みたいに、フレームのボタンクリックイベントを呼んでるんですよね。
何故これを呼ぶことができるのにキャプションの変更が出来ないのかが謎だなあ
ちなみに、フレーム内のボタンのクリックイベントでラベルの変更を行うのは可能なんですよね。
なんでだろ・・
■ このスレッドは過去ログ倉庫に格納されています