C++Builder相談室 Part15
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/08/21(日) 17:48:30過去スレ・関連サイトは>>2-7あたり。
0751デフォルトの名無しさん
2005/12/16(金) 16:56:32TStringMbcsByteType ByteType(int index)
index 番目のバイトが2バイト文字の1バイト目のときは mbLeadByte を返し、
2バイト文字の2バイト目のときは mbTrailByte を返す。2バイト文字の一部
でない場合は mbSingleByte を返す。
0752デフォルトの名無しさん
2005/12/16(金) 17:40:120754デフォルトの名無しさん
2005/12/16(金) 22:03:38メモリ使用量(*´∀`)
0755デフォルトの名無しさん
2005/12/16(金) 23:17:23スクロールする時は事前にフィールドのビットマップを記憶しておいて、
新しく描く部分とビットマップをチョップしたのを併せて表示した方が高速なんですかね?
今は馬鹿正直にレスを描き直ししてます。
ペイントボックス使ってます。
0756デフォルトの名無しさん
2005/12/16(金) 23:26:130757デフォルトの名無しさん
2005/12/16(金) 23:26:58r〜f⌒i しj__ ト√¨トー、
_ 厂ノ,..-ーt´¨i´:::::|⌒i;¬…tク-、
r〈 ,>イ:::|:::::|:::::|:::::|:::::::|::::::|::::::|:::::i¬ん、
>/l::::|:::⊥亠¬冖⌒ i冖ハ¬ト、,|::::|:::ヽ〉、
{シ,.:!ー'' r´/(⌒て_厂¬r⌒ヒ_ト、ゝ、i_::|:||:i:}
∠/rーtノ⌒ー’....................../.ト、゙i ゝr-、|:||:;ト、
ソー' i.............................../...〃.j\i........... しヘ::|(
{ ......|............./.. /..// / V......... しうノ
l .....l.| /... // //─ - 、..........}Σト、ヽ、 ちゅぱちゅぱ美味しい
゙i i| ../ _≦./ =ー- 、|.. .. |⌒) \ヽ
゙i.....::゙i../,r):::;:d |ドく;;d |...........|.:::} l ヾi
/∧ ...}〈ヘ{qトj」 └-''、⊥!........レ´ ゙i.i i‖
// ∧...::トヽ ̄ 、 j!.........,il' ゝi ||
〃〃 i..::ト-ヽ、 ri、 ィ´|..... ,'| ヽi、
《 《 i、:|_ ` ー,- | ├<´ ト、|....../..|__,.-、 ||j
/⌒\
( )
| |
| |
│ │
___________________________________
このスレを見た人は、10年以内にかならず氏にます。
でも、逃れる方法はあります、
※10日以内に20箇所のスレにこれをはるのです。
0758デフォルトの名無しさん
2005/12/16(金) 23:39:50いっそのこと、オフスクリーン描画してみては? TImage とか。
0759デフォルトの名無しさん
2005/12/17(土) 00:41:10たかがブラウザでもdirectXって普通に使われてるものなんですか?
使ったこと無い、ってかアプリ作るの始めてだし。
>>758
オフスクリーン描画ってなんですか?
ダブルバッファみたいなものですか?
0760デフォルトの名無しさん
2005/12/17(土) 00:45:10まさしく TImage
こいつのビットマップ面にテケトーに書き殴れば
WM_PAINTはこのコンポーネントがやってくれる
ビットマップ面(DIBだけどDDBもイケたかな?)のDC取れば
APIで書き殴り放題
だがしかし WM_PAINT をただしくハンドリングする方がやっぱり好き
と思う折れはオサーン
そもそもログテキストみたいな縦に長くなりがちな領域に
TImage割り当てるのは禿しくバッドだなw
0761デフォルトの名無しさん
2005/12/17(土) 00:52:12ではdirectXならグットなんですか?
0762デフォルトの名無しさん
2005/12/17(土) 00:57:18それいがいの方法は有り余るマシンパワーに依存するやり方ですね。
0763デフォルトの名無しさん
2005/12/17(土) 01:07:230764デフォルトの名無しさん
2005/12/17(土) 01:08:07調べてみます^^
0765デフォルトの名無しさん
2005/12/17(土) 01:13:24出来合いの惣菜で用意したご飯はイマイチ美味しくないです><
素材の飼育までは出来ませんが、自分で料理はしたい。
そんな年頃です。
0766デフォルトの名無しさん
2005/12/17(土) 01:58:29気に入った
0767デフォルトの名無しさん
2005/12/17(土) 02:07:25http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-069.html
このページが参考になるのでは。
0768デフォルトの名無しさん
2005/12/17(土) 16:28:28自分用のパレットページは作成できないんですか?
0769デフォルトの名無しさん
2005/12/17(土) 16:36:150770デフォルトの名無しさん
2005/12/17(土) 19:45:351) ActivePerlと連携できるコンポーネントあったら要る?
2) ActivePerlでVCLを使(ゲフンゲフン
(配布条件にモロ抵触する罠)
0771デフォルトの名無しさん
2005/12/18(日) 04:56:510772デフォルトの名無しさん
2005/12/18(日) 04:59:18JP77550の文書、MSのサイト内から消えてGoogleのキャッシュにしか
引っかからなくなってるので、後々の自分の為にメモ。
ユーザーが押下したENTERキーが標準キーボード側のENTERキーなのか、
テンキー側の ENTERキーなのかを判断したい場合、
どちらの動作もwParamに仮想キーコードのVK_RETURNが設定されて、
WM_KEYDOWNメッセージとWM_KEYUPメッセージが発行される。
メッセージのlParamの24ビットめをチェックする。キーが拡張キー
ならばビット24は1になり、そうでなければ0になっている。
(これらのメッセージのlParamの内容は、SDK バージョン3.0の
「プログラマーズリファレンス Vol.1 概要」と、
「プログラマーズ リファレンス Vol.3 メッセージ、構造体、マクロ」の
ドキュメントに記述されている)
テンキー側にあるキー(ファンクションキーも含めて)は拡張キーになる。
0773デフォルトの名無しさん
2005/12/18(日) 05:00:03case WM_KEYDOWN:
{
if (wParam == VK_RETURN)
{
if (lParam & 0x1000000L)
{
// テンキー側のENTERキー
}
else
{
// 標準キーボード側の ENTER
}
}
} break;
0774デフォルトの名無しさん
2005/12/18(日) 06:54:33Good Tip!!
0775デフォルトの名無しさん
2005/12/18(日) 07:25:37こういうのを灯台下暗しという
0776デフォルトの名無しさん
2005/12/18(日) 21:25:25次のようにやると閉じるけど、音が鳴ってしまうのでいまいちです。
void __fastcall TForm::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key == VK_ESCAPE)
{
Close();
}
}
0777デフォルトの名無しさん
2005/12/18(日) 22:04:500778776
2005/12/18(日) 22:21:34Key = 0;
やってみたけど状況が変わらない。
どうしてだろ?
0779デフォルトの名無しさん
2005/12/19(月) 01:26:20どういう事ですか?><
0780デフォルトの名無しさん
2005/12/19(月) 09:09:47PlaySound(0,0,SND_PURGE);
0781デフォルトの名無しさん
2005/12/19(月) 10:30:18フォームにメニューかポップアップメニューを貼り付けているのなら、
そのメニューのアイテムにmnuExitを追加して、以下の様にする。
void __fastcall TForm::FormCreate(TObject *Sender)
{
・
・
・
mnuExit->ShortCut=ShortCut( VK_ESCAPE, TShiftState() );
・
・
・
}
void __fastcall TForm::mnuExitClick(TObject *Sender)
{
Close();
}
0782デフォルトの名無しさん
2005/12/19(月) 10:44:07Edit2に にしむら とその変換する前の読みが入るようにするにはどうしたらいい?
0783779
2005/12/19(月) 16:41:04今度はParentプロパティが無いとか言って起動してくれません><
0784デフォルトの名無しさん
2005/12/19(月) 17:45:41まず、日本語から勉強してくれ。
0785783
2005/12/19(月) 18:19:11インストールした後、フォームにポトペタしてビルドしアプリを実行しました。
すると親ウィンドウが無いという実行時の例外を発して起動しませんでした。
それで今度はコンポーネントにParentプロパティを__publish部に宣言して、
インストールし直してから、オブジェクトインスペクタのParentプロパティがポトペタしたフォームに
なっている事を確認した上で再度ビルドし実行しました。
しかし今度も実行時の例外を発して起動しませんでした。
その時は、プロパティParentが存在しませんと言われました。
日本語訳するとこんな感じです><
0786デフォルトの名無しさん
2005/12/19(月) 20:38:58正直チンプンカンプンですな。
ヘルプの、目次>カスタムコンポーネントの作成>コンポーネント作成の概要
>インストール前のコンポーネントのテスト
と次の
>インストールしたコンポーネントのテスト
あたりをしっかり読んでみてはどうですか。
0787デフォルトの名無しさん
2005/12/19(月) 22:14:11ヘッダをアップすれ。
きっと一目で原因が判明する。
コンストラクタ宣言の引数が間違っているのではないかな。
0788デフォルトの名無しさん
2005/12/20(火) 02:10:56Canvasに何か書くと、親ウィンドウが無いってエラー出るよ
0789デフォルトの名無しさん
2005/12/20(火) 02:14:050791デフォルトの名無しさん
2005/12/20(火) 02:17:38勉強になりました><
0792デフォルトの名無しさん
2005/12/20(火) 10:49:26確定した時にKeyPressが呼ばれるから無理ぽじゃね?
0793デフォルトの名無しさん
2005/12/20(火) 11:58:53IME 関連のメッセージを調べると幸せになれるかもしれない
0794デフォルトの名無しさん
2005/12/20(火) 13:09:410795デフォルトの名無しさん
2005/12/20(火) 14:41:040796デフォルトの名無しさん
2005/12/20(火) 19:09:430797デフォルトの名無しさん
2005/12/21(水) 11:14:41OSはWin2000およびXP。
起動すると、たまにコンポーネントパレットから一部のコンポーネントのアイコンが消えてしまうのですが、原因分かる方いますでしょうか?
自分で登録したものだけでなく、インストール時に標準で入っていたものまでなんです。
再インストールすると復活するのですが。
頻度としては年間で2、3回だけなんですけどね。
0798デフォルトの名無しさん
2005/12/21(水) 12:11:39memtest汁。
0799デフォルトの名無しさん
2005/12/21(水) 12:27:26メモリのテストですか。
一応調べてみます。ありがとうございました。
でもメモリの問題で特定のファイルだけ壊れるなんてありえるんでしょうか・・・
0800デフォルトの名無しさん
2005/12/21(水) 12:41:31いろいろ試してみろ。
0801デフォルトの名無しさん
2005/12/21(水) 12:57:095 は確かにあったね。6 にしてから、一度も起こってないから、そういうもんなんじゃないかな。
0802デフォルトの名無しさん
2005/12/21(水) 13:01:12ぜってー何か原因がある。
0803801
2005/12/21(水) 13:07:22マシントラブルで消えてたんだった。失礼。
0804デフォルトの名無しさん
2005/12/21(水) 14:52:26ハードウェアアクセレレーションの設定の仕方で直る場合があったと思う。
うるおぼえですまんが。
0805デフォルトの名無しさん
2005/12/21(水) 19:01:29アイコンが消えるっても、本当に消える訳ではなく、表示がおかしくなるだけだったが。
まあ、バグなんだろうな。
ディスプレイドライバとの相性とかがあるのかもしれん。
0806デフォルトの名無しさん
2005/12/21(水) 19:18:14http://www.tt.rim.or.jp/~rudyard/hirago014.html
0807デフォルトの名無しさん
2005/12/21(水) 19:29:08情緒 じょうちょ/じょうしょ
0808デフォルトの名無しさん
2005/12/22(木) 09:03:56Del覚え
0809デフォルトの名無しさん
2005/12/22(木) 17:39:22BorlandC++を使用しています。
A.DLLでは、B.DLLの変数_bを使用します。
AのdefファイルのIMPORTSセクションに、B._bを記載しています。
B.lib(インポートライブラリ)をリンクしていないので、
リンクエラーになると思ったのですが、エラーになりません。
defファイルの記載を消すとリンクエラーになります。
defファイルのIMPORTセクションに
記載するれば、インポートライブラリを
リンクしなくてもよいのでしょうか?
よろしくお願いいたします。
0810デフォルトの名無しさん
2005/12/23(金) 07:32:290811デフォルトの名無しさん
2005/12/23(金) 09:06:51下位のブラシとかペンとかもろもろインスタンスの生成などはきちんと自動でしてくれますか?
それとも自分でnew TCanvasとかする必要有りですか?
0812デフォルトの名無しさん
2005/12/23(金) 15:33:06そら継承元次第
TCustomControl以下から継承したならCnavasは実装済みだな
0813デフォルトの名無しさん
2005/12/23(金) 20:00:18そうですか。
なんでブラシの色とかにアクセスしようとしたら落ちるんだろ…
0814デフォルトの名無しさん
2005/12/23(金) 23:44:200815デフォルトの名無しさん
2005/12/23(金) 23:44:29なってるけど、もう届いた人っている?
0816デフォルトの名無しさん
2005/12/23(金) 23:59:060817デフォルトの名無しさん
2005/12/24(土) 09:30:55自前でCanvas用意してるならTCanvas::HandleにDCハンドル入れないと動かないぞ
TCanvasは単なるWindowsGDI APIのWrapperに過ぎないし。
0818デフォルトの名無しさん
2005/12/24(土) 10:31:590819デフォルトの名無しさん
2005/12/24(土) 17:19:51ラインを引きたいんですが一番いい方法は何でしょうか。
Canvasに直接描画すると項目を変更したときにラインを消す
処理をしたくないんでスマートな方法を教えてください。
0820デフォルトの名無しさん
2005/12/24(土) 17:40:39マウスのある項だけに下線を引くのは、自分で描画するしかないんじゃないの。
0821デフォルトの名無しさん
2005/12/26(月) 06:02:48そのウィンドウに対応したタブ(?)が出来ちゃいます。
これを表示させたくないんですがどうやれば表示せずに
ウィンドウを表示できますか?
0822デフォルトの名無しさん
2005/12/26(月) 14:27:19http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=058420
0823デフォルトの名無しさん
2005/12/26(月) 15:26:42解決しますた、ありがとうございました。
0824デフォルトの名無しさん
2005/12/28(水) 08:49:33コントロールの数が多いせいか、チラつきます。
BeginUpdate()、EndUpdate()のような感じの関数はないでしょうか?
0825デフォルトの名無しさん
2005/12/28(水) 09:29:19コントロールの移動の前後で、LockWindowUpdate をフォームに対して行ったら、だいぶ更新速度は速くなる様子。
(TabControlに対して行っても同じ効果だけど、うちの環境だとなぜか他のウィンドウやデスクトップがちらついた)
0826デフォルトの名無しさん
2005/12/28(水) 10:12:25Left Top じゃなくて SetBounds使う
0827デフォルトの名無しさん
2005/12/28(水) 14:11:080828デフォルトの名無しさん
2005/12/29(木) 02:43:41グラフィックコントロールばかりならいいだろうけど。
0829デフォルトの名無しさん
2005/12/30(金) 13:24:56TStringListは内部にvectorを使用していますか?
0830デフォルトの名無しさん
2005/12/30(金) 13:44:03何が聞きたいんだ?
STLのVectorを使ってるかと聞きたいのか?
それともアルゴリズムとしてVectorなのかと聞きたいのか?
STLのVector(実際にはTstringsだが)使ってないんじゃないの?
Delphiとの絡みも有るし・・・
0831デフォルトの名無しさん
2005/12/30(金) 13:45:24VCLの実装はすべてDelphi(ObjectPascal)言語で書かれています。
0832本田
2006/01/01(日) 06:01:33それじゃ遅いので一部ASM。
0833デフォルトの名無しさん
2006/01/01(日) 13:42:260834デフォルトの名無しさん
2006/01/02(月) 07:09:160835デフォルトの名無しさん
2006/01/02(月) 09:28:280837本田
2006/01/03(火) 05:20:360838本田
2006/01/03(火) 13:42:120839デフォルトの名無しさん
2006/01/03(火) 13:45:560840本田
2006/01/03(火) 22:21:360841デフォルトの名無しさん
2006/01/04(水) 14:33:020842デフォルトの名無しさん
2006/01/05(木) 18:25:56Timerが動きません。ShowModalしないとうんともすんとも
いわないのは仕様ですか?
0843デフォルトの名無しさん
2006/01/06(金) 07:52:080844デフォルトの名無しさん
2006/01/06(金) 09:43:010845デフォルトの名無しさん
2006/01/06(金) 13:48:33親がなければ自分でメッセージ処理用ウィンドウ作るし。
0846デフォルトの名無しさん
2006/01/07(土) 01:13:09ここほんとに C++ スレなのか? Windows のプログラムについて知ってる人いないの?
0847デフォルトの名無しさん
2006/01/07(土) 10:24:000848デフォルトの名無しさん
2006/01/07(土) 14:37:27tmpList->Text = "AAA";
tmpList->Text += "AAA";
tmpList->Text += "AAA";
tmpList->Text += "AAA";
ShowMessage(tmpList->Text);
delete tmpList;
これ、1行しか表示されないんだけど、どうしてなの?
Ansistring型に+=は有効なのに。
0849デフォルトの名無しさん
2006/01/07(土) 14:55:07BCB6ならヘルプ>キーワード>プロパティ,代入演算子,
0850デフォルトの名無しさん
2006/01/07(土) 15:18:01どうもありがとう〜
ダメなのは前から知ってたけど、やっと理由が分かってスッキリしました。
■ このスレッドは過去ログ倉庫に格納されています