このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
■C++Builder XE2 - エンバカデロ・テクノロジーズ
http://www.embarcadero.com/jp/products/cbuilder
<過去スレ>
くだすれC++Builder(超初心者用)その4
http://toro.2ch.net/test/read.cgi/tech/1256256376/
くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/
くだすれC++Builder(超初心者用)その2
http://pc10.2ch.net/test/read.cgi/tech/1144308804/
くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/
<兄弟スレ>
くだすれDelphi(超初心者用)その54
http://toro.2ch.net/test/read.cgi/tech/1325028195/
くだすれC++Builder(超初心者用)その5
■ このスレッドは過去ログ倉庫に格納されています
2012/04/21(土) 13:26:14.76
2012/04/25(水) 17:57:32.48
<関連スレ>
[Tips]Borland C++Builder ちょいテク No.01
http://toro.2ch.net/test/read.cgi/tech/1154580209/
Embarcadero RAD Studio/Delphi/C++Builder その2 ←New!
http://toro.2ch.net/test/read.cgi/tech/1335177837/
[Tips]Borland C++Builder ちょいテク No.01
http://toro.2ch.net/test/read.cgi/tech/1154580209/
Embarcadero RAD Studio/Delphi/C++Builder その2 ←New!
http://toro.2ch.net/test/read.cgi/tech/1335177837/
2012/05/01(火) 20:31:05.68
∧ . -‐. : . : . : . : .  ̄`丶/>ヘ',ー.、
. __ //: . : . : . : . : . : . : . : . : . : \: . }i: : :\
}l>/: . : . : . : . : . : . : . : . : . : . : . : :.\}i: . : . :\__
/}レ': : . : . : . : . : . : . : . : . : .\: . ヽ: . : . :.ヽ: . : . : . ヽ`
/: :/: . : . : . : . :l: :八: . : . : : \: : : : : '. : . : . :l: . : . : l: : l
. /: :/: . : . : . : . :/l: :| \: :\: : : \: : . :l: . : :...:|: . : . : l: . l
/: ://: : . : . :.|: / .j: :| \: ヽ\:ヽ\: :|: . : |: :|: : |: . :l: : |
//://|: : :l: : . i斗'^ ,ィf弌ぅ 、ヽ|: . : l: :|: : |: . :|\|
//:ノ /|: :/}: : : |: l ,ィf゚う ト::)゚ィリヽ|: . : |:/: : :|: . :|
}: : /|:|:/: |: : ∧:i/ん:::ハ 弋c少' |: . : |}: : :.|: . :
|: / .|:|': : |: :/: :i 弋cソ 、、、、、. |: . :八: . :八: .|
|/ l: : : :|V: : ハ 、、、、 ′ l: ./:∧: ./ ヽ
八: :.∧: |: :人 r 、_ 、 ィ .ノ:/:/ }:./||
∨ V}: : |: /i>}/ ,へ、 イ j:V/:/ / C++Builderなんて、
八: :|/__ ! / ハ _.斗‐{ 使ってる人いるのかなぁ…?
∧! _| ' /´ 》──--、
_/ |:::_} .|ー─--< |
/___ i }∧ ノ:::::::::::::::::::/ / |
V / }. イ l\::::::::::::/ / :|
rヘ xヘ ∨ | |:| \/_/ 人
/_/ '、 _ヽ | |:| ./ - ─ - 〉
. / ヽ/// j/ 〈 / -‐ /
. __ //: . : . : . : . : . : . : . : . : . : \: . }i: : :\
}l>/: . : . : . : . : . : . : . : . : . : . : . : :.\}i: . : . :\__
/}レ': : . : . : . : . : . : . : . : . : .\: . ヽ: . : . :.ヽ: . : . : . ヽ`
/: :/: . : . : . : . :l: :八: . : . : : \: : : : : '. : . : . :l: . : . : l: : l
. /: :/: . : . : . : . :/l: :| \: :\: : : \: : . :l: . : :...:|: . : . : l: . l
/: ://: : . : . :.|: / .j: :| \: ヽ\:ヽ\: :|: . : |: :|: : |: . :l: : |
//://|: : :l: : . i斗'^ ,ィf弌ぅ 、ヽ|: . : l: :|: : |: . :|\|
//:ノ /|: :/}: : : |: l ,ィf゚う ト::)゚ィリヽ|: . : |:/: : :|: . :|
}: : /|:|:/: |: : ∧:i/ん:::ハ 弋c少' |: . : |}: : :.|: . :
|: / .|:|': : |: :/: :i 弋cソ 、、、、、. |: . :八: . :八: .|
|/ l: : : :|V: : ハ 、、、、 ′ l: ./:∧: ./ ヽ
八: :.∧: |: :人 r 、_ 、 ィ .ノ:/:/ }:./||
∨ V}: : |: /i>}/ ,へ、 イ j:V/:/ / C++Builderなんて、
八: :|/__ ! / ハ _.斗‐{ 使ってる人いるのかなぁ…?
∧! _| ' /´ 》──--、
_/ |:::_} .|ー─--< |
/___ i }∧ ノ:::::::::::::::::::/ / |
V / }. イ l\::::::::::::/ / :|
rヘ xヘ ∨ | |:| \/_/ 人
/_/ '、 _ヽ | |:| ./ - ─ - 〉
. / ヽ/// j/ 〈 / -‐ /
2012/05/03(木) 03:32:52.96
C#に比べると起動が速いだけで他はあまりメリットないな
2012/05/04(金) 23:55:11.37
2012/05/05(土) 04:49:10.41
プッ
2012/05/05(土) 14:36:44.07
2012/05/05(土) 15:06:57.43
くやしすぎるよぉ
2012/05/07(月) 12:04:39.83
XE2 から clang の改変版に切り替わったから、XE3 で LLVM コードを出せるようになって問題解決
2012/05/07(月) 14:32:49.54
Delphi 本体は FPC に切り替わるしな。
2012/05/07(月) 16:43:23.04
おもしろいですね(棒)
18デフォルトの名無しさん
2012/05/08(火) 09:13:40.03 TServiceを使用してサービスを作ったのですが、
exeをリネームして複数サービスを登録したい場合どうすればよいのでしょうか?
TServiceのNameをファイルなどで動的に変えればインストールは成功したのですが、
肝心のサービスが使用できません。Nameを固定にすると複数のサービスをインストールできません・・・
よろしくお願いいたします。
exeをリネームして複数サービスを登録したい場合どうすればよいのでしょうか?
TServiceのNameをファイルなどで動的に変えればインストールは成功したのですが、
肝心のサービスが使用できません。Nameを固定にすると複数のサービスをインストールできません・・・
よろしくお願いいたします。
2012/05/10(木) 16:05:19.95
XE3出たか?
20デフォルトの名無しさん
2012/05/15(火) 10:20:38.10 さて、まもなくC++Builderも64bit版になりますよぉ〜
2012/05/15(火) 11:19:37.48
>C++Builderも64bit版
10年遅れて、自社技術で対応できなくて...
clang 自分でビルドするのとなにが違う?
10年遅れて、自社技術で対応できなくて...
clang 自分でビルドするのとなにが違う?
22デフォルトの名無しさん
2012/05/15(火) 23:06:25.57 win用で軽くてサイズも小さいcのコンパイラって何がありますか?
23デフォルトの名無しさん
2012/05/16(水) 00:03:23.16 lsisishokuban
2012/05/16(水) 00:04:33.71
win用という条件がある以上、ない。
2012/05/16(水) 01:06:24.30
Digital Mars Compiler Version 8.42n
dm852c.zip 3,009KB
LSIC試食版(MS-DOS)
lsic330c.lzh 401KB
Borland C++ 5.5.1 for Win32
freecommandlinetools2.exe 8672KB
dm852c.zip 3,009KB
LSIC試食版(MS-DOS)
lsic330c.lzh 401KB
Borland C++ 5.5.1 for Win32
freecommandlinetools2.exe 8672KB
26デフォルトの名無しさん
2012/05/17(木) 13:49:19.56 TPopupMenuのMenuItemを動的に作成しているのですが
PopupMenu->Items->Clear( );
for( int i = 0; i < Cnt; i ++ ){
TMenuItem *mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu->Items->Add( mi );
}
毎回Clearして作り直しているのにメニューが最後に表示したCaptionの最大幅になってしまいます
これそのときに作成したCaptionの幅にするにはどうしたらいいですか?
PopupMenu->Items->Clear( );
for( int i = 0; i < Cnt; i ++ ){
TMenuItem *mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu->Items->Add( mi );
}
毎回Clearして作り直しているのにメニューが最後に表示したCaptionの最大幅になってしまいます
これそのときに作成したCaptionの幅にするにはどうしたらいいですか?
2012/05/17(木) 16:21:03.00
void __fastcall TForm1::MenuItemClick(TObject *Sender)
{
TControl* control;
TMenuItem* mi = dynamic_cast<TMenuItem*>(Sender);
control = dynamic_cast<TControl*>(FindComponent(Components[mi->Tag]->Name));
control->Enabled = !control->Enabled;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
こんな感じでしょ
ちゃんと切り詰められて表示されるよ
}
}
{
TControl* control;
TMenuItem* mi = dynamic_cast<TMenuItem*>(Sender);
control = dynamic_cast<TControl*>(FindComponent(Components[mi->Tag]->Name));
control->Enabled = !control->Enabled;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
こんな感じでしょ
ちゃんと切り詰められて表示されるよ
}
}
28デフォルトの名無しさん
2012/05/17(木) 16:35:49.79 >>27
char *buff[] = {"Test1", "Test2", "Test3"};
これ固定になってますが、ここの長さが可変なんですよ
たとえば
char *buff[] = {"Test1ああああああああああああああああああああ", "Test2", "Test3"};
というメニューを作成して次に
char *buff[] = {"Test1", "Test2", "Test3"};
これを作ると最初に作ったメニューの幅になりません?
ちなみにC++Builder2010を使ってます
char *buff[] = {"Test1", "Test2", "Test3"};
これ固定になってますが、ここの長さが可変なんですよ
たとえば
char *buff[] = {"Test1ああああああああああああああああああああ", "Test2", "Test3"};
というメニューを作成して次に
char *buff[] = {"Test1", "Test2", "Test3"};
これを作ると最初に作ったメニューの幅になりません?
ちなみにC++Builder2010を使ってます
2012/05/17(木) 17:58:17.26
>>28
こういう事ですか?Button1を押してからButton2を押すとちゃんと切り詰められます
XE2です
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1111111111111111111", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
}
}
こういう事ですか?Button1を押してからButton2を押すとちゃんと切り詰められます
XE2です
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1111111111111111111", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
}
}
30デフォルトの名無しさん
2012/05/17(木) 18:44:37.2331デフォルトの名無しさん
2012/05/17(木) 18:53:11.52 >>29
まったく同じコードを試してみたした。
やはりダメでした。
まずButton2を押すとメニュー幅は普通
次にButton1を押すと"Test1111111111111111111"の文だけメニューが広がる(これも普通)
次にButton2を押すとButton1で作成されたメニュー幅のままになっています・・・
うーん、2010のバグなのかなあ・・・
まったく同じコードを試してみたした。
やはりダメでした。
まずButton2を押すとメニュー幅は普通
次にButton1を押すと"Test1111111111111111111"の文だけメニューが広がる(これも普通)
次にButton2を押すとButton1で作成されたメニュー幅のままになっています・・・
うーん、2010のバグなのかなあ・・・
2012/05/17(木) 19:49:43.25
5と2009で試したけどちゃんと切り詰められます
2012/05/17(木) 20:26:07.04
>>31
アップデート当ててる?
アップデート当ててる?
3426
2012/05/18(金) 09:54:57.152012/05/18(金) 11:48:02.85
2010のQCにPopupMenuのWidthのバグとか出とらん?
もうdepricatedだから自分でソースいじくって直すしかないけど直し方のヒント位は
出てるだろうと思う
もうdepricatedだから自分でソースいじくって直すしかないけど直し方のヒント位は
出てるだろうと思う
2012/05/18(金) 11:58:23.87
>>35
これどう?メインメニューにサブメニューを追加するんだけどサブメニューも幅がおかしい?
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
char *buff2[] = {"Sub11", "Sub22", "Sub33"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
// mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
// サブメニューを動的に配置する
for (int j = 0; j < 2; j++) {
TMenuItem* ms = new TMenuItem(mi);
ms->Caption = buff2[j];
mi->Add(ms);
}
}
}
これどう?メインメニューにサブメニューを追加するんだけどサブメニューも幅がおかしい?
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
char *buff2[] = {"Sub11", "Sub22", "Sub33"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
// mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
// サブメニューを動的に配置する
for (int j = 0; j < 2; j++) {
TMenuItem* ms = new TMenuItem(mi);
ms->Caption = buff2[j];
mi->Add(ms);
}
}
}
3726
2012/05/18(金) 12:08:59.273826
2012/05/18(金) 13:14:36.512012/05/18(金) 13:22:18.65
>>38
という事は一番上のメニューだけのバグか・・・不可解だな
という事は一番上のメニューだけのバグか・・・不可解だな
4026
2012/05/18(金) 13:50:20.95 そうですね、一番上のメニューの幅が何故か表示した最大の幅で記憶されている感じです
ちなみに、メニューを表示していたフォームを閉じて再度開いて表示させると
初回表示時みたいに最初だけちゃんと表示されます
そんなわけで、これMenuItemをClearじゃなくて
TPopupMenuごと削除して作り直せばいいかもしれませんが・・・
ちなみに、メニューを表示していたフォームを閉じて再度開いて表示させると
初回表示時みたいに最初だけちゃんと表示されます
そんなわけで、これMenuItemをClearじゃなくて
TPopupMenuごと削除して作り直せばいいかもしれませんが・・・
2012/05/18(金) 13:54:46.16
TPopupMenuコンポーネントにバグがあるんじゃね
clear()じゃなくてTPopupMenuそのものを初めから動的に配置したらどうですか?
clear()じゃなくてTPopupMenuそのものを初めから動的に配置したらどうですか?
4226
2012/05/18(金) 14:06:46.63 >>41
フォームを開くたびに幅が初期化されているので
TPopupMenuを動的に作成したら多分うまくいくとおいますが・・
とりあえず現状ではそれしか回避策は無いですよね。
皆さん色々ありがとう
今回はTPopupMenuを動的に作って逃げてみます
フォームを開くたびに幅が初期化されているので
TPopupMenuを動的に作成したら多分うまくいくとおいますが・・
とりあえず現状ではそれしか回避策は無いですよね。
皆さん色々ありがとう
今回はTPopupMenuを動的に作って逃げてみます
2012/05/18(金) 17:45:18.51
いえいえ
お礼は結構ですよ
お礼は結構ですよ
2012/05/18(金) 20:02:26.24
46デフォルトの名無しさん
2012/05/22(火) 20:00:42.86 (Image1 はTImageコンポ。)
Image1のStretchをtrueにする。
(Image1のWidthとHeightは200とする)
Image1の大きさよりも大きい画像(400*400のビットマップ)を
Image1->Picture->LoadFromFileで表示させる。
これで表示は出来るんだけど
Image1->Canvas->Pixels[i][j]で縦200横200のドットの色を取得すると
元の400*400の画像の左上から縦200横200の取得になってしまう。
ストレッチされた画像の縦200横200を参照するにはどうしたらいい?
教えてくれ。
わかりにくくてごめんね。
Image1のStretchをtrueにする。
(Image1のWidthとHeightは200とする)
Image1の大きさよりも大きい画像(400*400のビットマップ)を
Image1->Picture->LoadFromFileで表示させる。
これで表示は出来るんだけど
Image1->Canvas->Pixels[i][j]で縦200横200のドットの色を取得すると
元の400*400の画像の左上から縦200横200の取得になってしまう。
ストレッチされた画像の縦200横200を参照するにはどうしたらいい?
教えてくれ。
わかりにくくてごめんね。
2012/05/22(火) 22:36:23.31
>>46
TImageの中に保持しているTBitmapはあくまでも元のイメージそのままで、表示の時に
Stretchしているに過ぎない
だからストレッチされた値がどうしても欲しければ他のコントロールにStretchDrawして(非表示でよい)
そこから読み取る必要がある
下のプログラムはちゃんと異なる値を表示する
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.bmp");
Image2->Canvas->StretchDraw(Rect(0, 0, 200, 200), Image1->Picture->Graphic);
int x = Random(200), y = Random(200);
TColor tc1 = Image1->Picture->Bitmap->Canvas->Pixels[x][y];
TColor tc2 = Image2->Picture->Bitmap->Canvas->Pixels[x][y];
Label1->Caption = "x = " + IntToHex(tc1, 8);
Label2->Caption = "y = " + IntToHex(tc2, 8);
}
TImageの中に保持しているTBitmapはあくまでも元のイメージそのままで、表示の時に
Stretchしているに過ぎない
だからストレッチされた値がどうしても欲しければ他のコントロールにStretchDrawして(非表示でよい)
そこから読み取る必要がある
下のプログラムはちゃんと異なる値を表示する
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.bmp");
Image2->Canvas->StretchDraw(Rect(0, 0, 200, 200), Image1->Picture->Graphic);
int x = Random(200), y = Random(200);
TColor tc1 = Image1->Picture->Bitmap->Canvas->Pixels[x][y];
TColor tc2 = Image2->Picture->Bitmap->Canvas->Pixels[x][y];
Label1->Caption = "x = " + IntToHex(tc1, 8);
Label2->Caption = "y = " + IntToHex(tc2, 8);
}
48デフォルトの名無しさん
2012/05/23(水) 09:37:17.52 TToolBarのButtonWidthを変更してもToolButtonの幅が変わらない
どうしたら変わるんですか?
ToolButtonのはチェックにしてます
どうしたら変わるんですか?
ToolButtonのはチェックにしてます
2012/05/23(水) 13:54:19.23
2012/05/23(水) 15:49:43.74
2012/05/23(水) 15:58:14.83
2012/05/23(水) 16:56:11.78
Captionを表示するとWidthが固定されちゃいますね
2012/05/23(水) 18:38:12.26
ですよね・・・
2012/05/23(水) 22:44:42.27
でしょうね・・・
2012/05/24(木) 21:05:04.39
TDictionaryをC++Builderで使うにはどのように書けばいいのでしょうか
さっぱりコンパイルが通りません
char s;
Memo1->Clear();
dic = new TDictionary__2<unsigned short, char>;
for (w = 0; (unsigned int)w < 0x10000; w++) {
s = char(w);
dic->Add(w, s);
}
さっぱりコンパイルが通りません
char s;
Memo1->Clear();
dic = new TDictionary__2<unsigned short, char>;
for (w = 0; (unsigned int)w < 0x10000; w++) {
s = char(w);
dic->Add(w, s);
}
2012/05/24(木) 21:59:42.99
C++で記述された実定義がないので、
template class を新たな型で new することはできません。
template class を新たな型で new することはできません。
2012/05/24(木) 22:10:16.51
ガ━━(;゚Д゚)━━ン!!
Delphiを使えという事か・・・・
そう言えばC++ではTDictionaryではなくstd::mapを使えと書いてあったような
ありがとうございました
Delphiを使えという事か・・・・
そう言えばC++ではTDictionaryではなくstd::mapを使えと書いてあったような
ありがとうございました
2012/05/25(金) 13:33:58.77
std::mapがあまりにも遅いのでstd::hash_mapを使ってみたら2倍ほどになったけど
TDirectoryよりまだまだ遅い・・・・
boost::mapの方が速いのかなあ?
TDirectoryよりまだまだ遅い・・・・
boost::mapの方が速いのかなあ?
59デフォルトの名無しさん
2012/05/25(金) 14:07:31.08 Builder2007で質問ですが
Form1からForm2を呼ぶときにForm2のFormStyleをfsStayOnTopにしているのに
Form1をクリックするとForm2がForm1の後ろに行っていまいます
Builder5じゃそんな事はなかったのですが
2007辺りから↓
SetApplicationMainFormOnTaskBar(Application, true);
こいつが悪さしてるって以前に聞いたことあるのですが
これはランタイムテーマ有効?のだとおもうんですが
それがONの状態でもfsStayOnTopで背後に行かないようにする方法を教えてください
Form1からForm2を呼ぶときにForm2のFormStyleをfsStayOnTopにしているのに
Form1をクリックするとForm2がForm1の後ろに行っていまいます
Builder5じゃそんな事はなかったのですが
2007辺りから↓
SetApplicationMainFormOnTaskBar(Application, true);
こいつが悪さしてるって以前に聞いたことあるのですが
これはランタイムテーマ有効?のだとおもうんですが
それがONの状態でもfsStayOnTopで背後に行かないようにする方法を教えてください
2012/05/25(金) 14:41:05.19
>>59
XE2だけどそういう症状は出ないよ
XE2だけどそういう症状は出ないよ
2012/05/25(金) 14:48:16.55
>>60
5も大丈夫だったので2007だけかもしれません。
とりあえずWMWindowPosChangingメッセージでTOPにして常に最上位に表示するようにしてますが・・・
2007ってバグ多いからなあ
5も大丈夫だったので2007だけかもしれません。
とりあえずWMWindowPosChangingメッセージでTOPにして常に最上位に表示するようにしてますが・・・
2007ってバグ多いからなあ
2012/05/25(金) 15:25:38.56
>>61
Form2ってForm1から動的に生成してる?それともUnit2として後からShow()してる?
Form2ってForm1から動的に生成してる?それともUnit2として後からShow()してる?
2012/05/25(金) 15:38:04.10
2012/05/25(金) 16:07:48.89
>>63
んーモーダルにしてもモードレスにしてもやっぱりForm2はForm1の背後に行かないです
んーモーダルにしてもモードレスにしてもやっぱりForm2はForm1の背後に行かないです
2012/05/25(金) 16:25:57.52
2012/05/25(金) 16:34:37.92
>>65
XE2ではランタイムテーマはデフォルトで有効です
XE2ではランタイムテーマはデフォルトで有効です
2012/05/25(金) 16:37:51.97
2012/05/25(金) 16:47:22.25
>>66
何かメッセージで処理するのを止めても背後に行かなくなった
んで、色々ためしててちょっとわかったのですが
どうもForm1をアイコン化したらForm2が背後にいっちゃうみたいです
そんなわけで、以下の手順で試してもらっていいですか?
1.Form1を表示してForm2をfsStayOnTopで表示
2.Form1をアイコン化(この時にForm2も消える)
3.Form1を元に戻す(Form2はどこかに行ってしまてtみえなくなる)
4.Form2を再度fsStayOnTopで表示(見た目上はForm1の上に表示される)
5.Form1をクリックしてみる、そうするとForm1の上に表示されているはずのForm2が裏に行ってしまう
何かメッセージで処理するのを止めても背後に行かなくなった
んで、色々ためしててちょっとわかったのですが
どうもForm1をアイコン化したらForm2が背後にいっちゃうみたいです
そんなわけで、以下の手順で試してもらっていいですか?
1.Form1を表示してForm2をfsStayOnTopで表示
2.Form1をアイコン化(この時にForm2も消える)
3.Form1を元に戻す(Form2はどこかに行ってしまてtみえなくなる)
4.Form2を再度fsStayOnTopで表示(見た目上はForm1の上に表示される)
5.Form1をクリックしてみる、そうするとForm1の上に表示されているはずのForm2が裏に行ってしまう
2012/05/25(金) 20:05:38.96
>>68
XE2だとForm1をアイコン化するとForm2も同時にアイコン化するのは同じです
しかしその後Form1を戻すとForm2もちゃんと前面に表示された状態で再表示されました
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2 = new TForm2(Application); // 生成
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Application->Minimize();
}
//---------------------------------------------------------------------------
こんな感じです
XE2だとForm1をアイコン化するとForm2も同時にアイコン化するのは同じです
しかしその後Form1を戻すとForm2もちゃんと前面に表示された状態で再表示されました
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2 = new TForm2(Application); // 生成
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Application->Minimize();
}
//---------------------------------------------------------------------------
こんな感じです
2012/05/25(金) 20:06:39.07
あっちょっと違ってました
アイコン化するのはForm1だけで、Form2は消えてしまいアイコンになりません
しかしタスクバーをクリックするとForm2がForm1の上に重ねられて再表示されます
アイコン化するのはForm1だけで、Form2は消えてしまいアイコンになりません
しかしタスクバーをクリックするとForm2がForm1の上に重ねられて再表示されます
71デフォルトの名無しさん
2012/05/25(金) 20:48:18.31 FormにTLabelを貼り付けたら
TLabel *Label1;
と宣言挿入されたのですが
実際に、newはどこに書かれているのですか?
TLabel *Label1;
と宣言挿入されたのですが
実際に、newはどこに書かれているのですか?
2012/05/25(金) 20:48:59.94
Project1.cpp(デフォルト名)じゃないの?
2012/05/25(金) 21:24:36.12
今見たらApplication->CreateForm()って専用のメソッド呼び出してますね
74デフォルトの名無しさん
2012/05/25(金) 21:52:36.572012/05/25(金) 22:01:43.60
2012/05/25(金) 22:12:47.64
2012/05/25(金) 22:13:31.37
78デフォルトの名無しさん
2012/05/29(火) 10:20:37.46 誰かさピクセル関数の使い方教えてくれる人いない?
課題で黒い線の上を車の画像走らせるアプリ作ってるんだけどその車の左右には触覚?みたいなものがついていてその触覚の色を取得したいんだが・・・
課題で黒い線の上を車の画像走らせるアプリ作ってるんだけどその車の左右には触覚?みたいなものがついていてその触覚の色を取得したいんだが・・・
2012/05/29(火) 16:38:22.87
>>78
Pixel()は遅いからScanLine()で一行取得してからそれを調べるのが定石
Pixel()は遅いからScanLine()で一行取得してからそれを調べるのが定石
80デフォルトの名無しさん
2012/05/29(火) 20:32:10.95 学校の課題レベルで問題になるほど、でPixel()が遅い訳ねえじゃん。
81デフォルトの名無しさん
2012/05/29(火) 22:56:23.22 マウスホイールイベントをMESSAGE_HANDLERで捕まえて、処理する関数
ttp://www.gesource.jp/programming/bcb/43.html
がBCB6では動いていたんですが、
XE2にしたらイベントを捕まえられなくなりました。
単純に以下のソースをForm1にコピーして、
ホイールを回したら、MessageBoxが出るように改良しているだけです。
なぜでしょうか。理由がわからなくて困っています。
また、その理由に基づいてどうしたらよいですか?
※Win7 32bit
ttp://www.gesource.jp/programming/bcb/43.html
がBCB6では動いていたんですが、
XE2にしたらイベントを捕まえられなくなりました。
単純に以下のソースをForm1にコピーして、
ホイールを回したら、MessageBoxが出るように改良しているだけです。
なぜでしょうか。理由がわからなくて困っています。
また、その理由に基づいてどうしたらよいですか?
※Win7 32bit
82デフォルトの名無しさん
2012/05/29(火) 22:57:39.22 × 単純に以下のソースをForm1にコピーして、
○ 単純に上のソースをForm1にコピーして、
^^
○ 単純に上のソースをForm1にコピーして、
^^
2012/05/30(水) 09:41:42.41
^^
2012/05/30(水) 10:10:48.54
>>81
http://toro.2ch.net/test/read.cgi/tech/1335177837/173
にも書いてあるけど
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg, bool &Handled)
{
if (Msg.message == WM_MOUSEWHEEL) {
Application->MessageBox(L"マウスホイールが回されました。", L"", MB_OK);
}
}
でいいんじゃないの
http://toro.2ch.net/test/read.cgi/tech/1335177837/173
にも書いてあるけど
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg, bool &Handled)
{
if (Msg.message == WM_MOUSEWHEEL) {
Application->MessageBox(L"マウスホイールが回されました。", L"", MB_OK);
}
}
でいいんじゃないの
85デフォルトの名無しさん
2012/05/30(水) 10:19:22.99 とりあえずマウスダウンでピクセル使って色を取得するプログラム作ったんだけどフォームの色しか取得出来ないんだが
イメージ画像とかコンポーネントの色が取得出来ないのは何でだ?
イメージ画像とかコンポーネントの色が取得出来ないのは何でだ?
2012/05/30(水) 10:22:16.06
基本的にCanvasの色しか取得出来ないだろ
それかBitmapか
それかBitmapか
87デフォルトの名無しさん
2012/05/30(水) 10:30:24.03 いまからはじめても大丈夫?
会社つぶれない?
会社つぶれない?
2012/05/30(水) 10:42:02.25
つぶれない。でもあと3ヶ月待て。C++BuilderはXE3で本気出す予定()だから。
89デフォルトの名無しさん
2012/05/30(水) 10:48:40.132012/05/30(水) 11:29:30.35
カーソル直下に存在するコンポーネントのCanvasでPixels()を使え
2012/05/30(水) 16:41:41.04
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int x = Random(Image1->Width);
int y = Random(Image1->Height);
Label1->Caption = UnicodeString().IntToHex(Image1->Canvas->Pixels[x][y], 8);
}
//---------------------------------------------------------------------------
こんなのでしょ
今まで何回も出てきてるけど
Button1で画像をロードしてButton2でランダムな点のTColorをゲットする
{
Image1->Picture->LoadFromFile("1.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int x = Random(Image1->Width);
int y = Random(Image1->Height);
Label1->Caption = UnicodeString().IntToHex(Image1->Canvas->Pixels[x][y], 8);
}
//---------------------------------------------------------------------------
こんなのでしょ
今まで何回も出てきてるけど
Button1で画像をロードしてButton2でランダムな点のTColorをゲットする
92名無しさん@お腹いっぱい
2012/05/30(水) 18:30:22.70 裁判所の力
93デフォルトの名無しさん
2012/05/30(水) 20:11:44.34 StringGirdのセルに、IMEで漢字入力したくて、以下のソースをググってつくてみました。
入力セルの内にIMEの変換候補が表示されるプログラムです。
(XE2を使っています)
入力直後だけ変換候補が表示されません。
例:あるセルで、IMEをONにして文字列を打ち込んでいくと、
東京都[スペース] ←この段階では、変換候補が表示されない。
[改行] ←確定で「東京都」の文字が表示される。
港区[スペース] ←これ以降の続き入力では、変換候補も表示される。
最初から表示したい。どうすべ?
入力セルの内にIMEの変換候補が表示されるプログラムです。
(XE2を使っています)
入力直後だけ変換候補が表示されません。
例:あるセルで、IMEをONにして文字列を打ち込んでいくと、
東京都[スペース] ←この段階では、変換候補が表示されない。
[改行] ←確定で「東京都」の文字が表示される。
港区[スペース] ←これ以降の続き入力では、変換候補も表示される。
最初から表示したい。どうすべ?
94デフォルトの名無しさん
2012/05/30(水) 20:12:43.44 void __fastcall TStringGrid1::IMEStart(TMessage& Message)
{
// IMEの位置をキャレットのポジションに設定
COMPOSITIONFORM CompForm;
POINT pt;
LOGFONT lf;
HIMC hImc=ImmGetContext(Handle);
//キャンバスのフォントと同じに設定する
GetObject(this->Canvas->Font->Handle,sizeof(LOGFONT),&lf);
ImmSetCompositionFont(hImc,&lf);
//キャレットのポジションに設定する
ImmGetCompositionWindow(hImc,&CompForm);
CompForm.dwStyle=CFS_POINT;
GetCaretPos(&pt);
pt.x = this->CellRect(this->Col, this->Row).left+2;
pt.y = this->CellRect(this->Col, this->Row).top+2;
CompForm.ptCurrentPos=pt;
ImmSetCompositionWindow(hImc,&CompForm);
ImmReleaseContext(Handle, hImc);
//編集モード用カーソルの表示
this->Options << goEditing; //編集モードをON
this->EditorMode = true; //選択セルのカーソルを表示。これがないと、かな漢字変換の初期段階で選択枠が表示されたままになる。
}
{
// IMEの位置をキャレットのポジションに設定
COMPOSITIONFORM CompForm;
POINT pt;
LOGFONT lf;
HIMC hImc=ImmGetContext(Handle);
//キャンバスのフォントと同じに設定する
GetObject(this->Canvas->Font->Handle,sizeof(LOGFONT),&lf);
ImmSetCompositionFont(hImc,&lf);
//キャレットのポジションに設定する
ImmGetCompositionWindow(hImc,&CompForm);
CompForm.dwStyle=CFS_POINT;
GetCaretPos(&pt);
pt.x = this->CellRect(this->Col, this->Row).left+2;
pt.y = this->CellRect(this->Col, this->Row).top+2;
CompForm.ptCurrentPos=pt;
ImmSetCompositionWindow(hImc,&CompForm);
ImmReleaseContext(Handle, hImc);
//編集モード用カーソルの表示
this->Options << goEditing; //編集モードをON
this->EditorMode = true; //選択セルのカーソルを表示。これがないと、かな漢字変換の初期段階で選択枠が表示されたままになる。
}
95デフォルトの名無しさん
2012/05/31(木) 10:50:26.77 StringGirdが持つ、TInplaceEditのIME設定(SetImeCompositionWindow)を
以下のように変更しようとしていますが、
SetImeCompositionWindowがprotectメンバのためアクセスできません。
どう解決したらよいですか?
StringGirdのメンバー関数内での記述:
TInplaceEdit* editor= dynamic_cast<TInplaceEdit*>(this->Components[0]);
editor->SetImeCompositionWindow(this->Canvas->Font, 100, 50);
以下のように変更しようとしていますが、
SetImeCompositionWindowがprotectメンバのためアクセスできません。
どう解決したらよいですか?
StringGirdのメンバー関数内での記述:
TInplaceEdit* editor= dynamic_cast<TInplaceEdit*>(this->Components[0]);
editor->SetImeCompositionWindow(this->Canvas->Font, 100, 50);
2012/05/31(木) 11:39:32.71
2012/05/31(木) 11:47:50.87
ちなみにMSIME2010でやってもちゃんと表示されました
98デフォルトの名無しさん
2012/05/31(木) 11:50:12.26 MSIME2010 です。
2012/05/31(木) 11:53:24.40
100デフォルトの名無しさん
2012/05/31(木) 12:04:12.49 もしかと思い、OS変えて調べてみました。
手元にある、Win7では×ですが、XPでは○でした。
OSなんですか?
手元にある、Win7では×ですが、XPでは○でした。
OSなんですか?
101デフォルトの名無しさん
2012/05/31(木) 12:04:35.43 XPですね
OSの問題かな?
OSの問題かな?
102デフォルトの名無しさん
2012/05/31(木) 12:15:13.46 WOW64のバグかはたまたIMEの64bit版のバグか
103デフォルトの名無しさん
2012/05/31(木) 12:21:44.69104デフォルトの名無しさん
2012/05/31(木) 12:28:52.96 WOW64の非互換の問題でしょう
こればかりは仕方がない
MSに文句付け方が早い
こればかりは仕方がない
MSに文句付け方が早い
105デフォルトの名無しさん
2012/05/31(木) 12:36:04.75 私が使ているのは、Win7-32bitなんですが、
WOW64は、32bitOSでも関係あるものでしょうか?
WOW64は、32bitOSでも関係あるものでしょうか?
107デフォルトの名無しさん
2012/05/31(木) 12:53:05.99 なんだ、じゃWin7-32bitのバグじゃないか
108デフォルトの名無しさん
2012/06/04(月) 15:15:22.38 画像を一度ずつ回転させたく調べたところ
x1=(x2-cx)*cos(θ)-(y2-cy)*sin(θ)+cx
y1=(x2-cx)*sin(θ)+(y2-cx)*cos(θ)+cy
http://homepage2.nifty.com/tsugu/sotuken/rotation/#basic
(このサイトを参照)
このような式が出てきました
この式の左辺をどこに代入すればよいのか全くわかりません
どなたかご教授よろしく
x1=(x2-cx)*cos(θ)-(y2-cy)*sin(θ)+cx
y1=(x2-cx)*sin(θ)+(y2-cx)*cos(θ)+cy
http://homepage2.nifty.com/tsugu/sotuken/rotation/#basic
(このサイトを参照)
このような式が出てきました
この式の左辺をどこに代入すればよいのか全くわかりません
どなたかご教授よろしく
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- トランプ大統領「米中がうまくやろうとしているのに、邪魔しないでくれ」 高市首相に厳しい口調でくぎを刺していた [Hitzeschleier★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★4 [お断り★]
- 【速報】宮川大輔&ケンコバの福岡ライブ 開演1時間前に急きょ中止「諸般の都合により」 [jinjin★]
- B’z東京ドーム公演で後ろの客が大熱唱…「B’zの歌声に集中できない」注意すると笑いながら反論されモヤモヤ [muffin★]
- 小川晶氏、出直し立候補に意欲 前橋市長選「諦められず」 [蚤の市★]
- なぜリベラルは人気がないのか 斎藤幸平さんが指し示す未来への道筋:朝日新聞 ★5 [少考さん★]
- 【実況】博衣こよりのえちえちボンバーマン大会🧪★2
- 【実況】博衣こよりのえちえちボンバーマン大会🧪
- 【速報】伊東市長選、田久保氏が敗北確実wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [812874503]
- 烈海王(グラップラー刃牙)がアクションフィギュア化キタ━━━━(゚∀゚)━━━━!! [831513313]
- なんGで毎日のように立ってる→🏡これなんなん❓
- 山尾志桜里さん、辻元清美氏が高市早苗の台湾有事の答弁資料を出したことに対し怒りが有頂天に「官僚の作った答弁を読めというのか!!!」 [597533159]
