1 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:41:37 ] Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その50 pc12.2ch.net/test/read.cgi/tech/1246340765/ <過去スレ> DelWiki避難所(Delphi 関連の過去スレッド) delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
449 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:27:19 ] >>446 とりあえず原因はわかったけど書くと長くなるので対処法だけ StyleをcsDropDownListにする、これだけ csDropDownで使う必要がある場合はちょっと面倒なことになるけど >>448 当たり前だけど全部TComboBox宛の正規のメッセージだから意味がない 違うコントロール宛のメッセージが誤配されてるわけじゃないからね
450 名前:446 [2010/03/18(木) 16:08:58 ] ありがとうございます。 やりたかったのは、「自作コンボボックスでMouseLeave時にヒントを隠す」 というものでしたので、無駄にメッセージは飛んできますが、対症療法的に ↓みたいな感じにしてみました。 procedure TMyComboBox.WndProc(var AMsg: TMessage); begin if (AMsg.Msg = CM_MOUSELEAVE) then begin // 自分自身の上にカーソルがあるときは捨てる if (FindVCLWindow(Mouse.CursorPos) = Self) then begin Exit; end; // ヒント隠す処理 : end; inherited; end; ちなみに気が付いたのは、コンボボックスのCustomHintにTBalloonHintを 割り当てたときに、激しくヒントがちらついたためです。 仮にバグではないにしても、実用上問題があるような…。 >>449 ユーザーの入力で絞込み、みたいなことをする必要があるので、 csDropDownにしなくてはならないのです…ジレンマです。 エディット部分が何か悪さしているのでしょうか?
451 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:12:30 ] Delphi で書かれたアプリがあるんですが PC 環境を入れ替えたら一部(かつメイン)のファイル出力が出来なくなってしまいました それ自体は '06-07 ぐらいで開発が止まっています 自分の環境は XP で、最近クリーンインストールしたばかりです ファイアウォールでの出力禁止はしていません 症状は 「ファイル」メニューから「別名でファイル保存」を選択 ファイル出力のダイアログは出ず、メニューの「別名で…」が選択不能の状態になる エラーメッセージやイベントログへの吐き出しはありません 替わりになるようなソフトが他にないため、バージョンを遡って試したり 関連情報をググったりしていますが正直お手上げ状態です… スレ違いかと思いますが、少しでもヒントいただければ助かります
452 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 18:20:56 ] >>450 本筋とは外れるけど、フィルタリングみたいなことするならComboBox不向きじゃね? TEditとTListBoxの方がいい気が
453 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 21:14:18 ] >>451 MLで聞いた方が早い気がする。 作者が参加している確率高いだろうし。
454 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 23:07:43 ] >451 互換モードでWin2kなり何なり指定してみては?あとは作者に聞くしかなかろう。 Delphiだからどうこういう問題じゃないと思うが。
455 名前:451 mailto:sage [2010/03/19(金) 00:07:39 ] >>453-454 レスありがとうございます そうですね、作者とやりとりできれば最善なんでしょうが 東欧の人だし自分も英語に自信がなく… ソースは公開されているので、もうちょっとやれるとこまでやってみます
456 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 07:20:27 ] ソース公開されてるならリンク書いておけば見てもいいと思う奴もいるだろうに
457 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 08:58:12 ] オープンソースなら自分で直せよ
458 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 10:18:39 ] >>451 その手の問題って大抵互換モードで解決できるがダメか? そもそもオープンソースでファイル出力に問題あるとわかっているなら そこ書き換えるだけじゃないか?
459 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 22:52:13 ] あーそうですね
460 名前:451 mailto:sage [2010/03/19(金) 23:20:30 ] 件のソフトは初代氏と後継氏の二人?がメインで 最新版ソースには初代氏オリジナル部分は含まれず「必要だからここでDLしてくれ」的指示が入っていました しかし指定サイトは消滅済み 結局、初代氏サイトの旧版ソース(丸ごと)に行き着きました そこから必要部分をきれいに引き抜けるかどうかは、いまのところ不明 ちなみに初代氏exeのファイル出力はOKでした…。使い勝手も初代と最新で一長一短 とまあ、オープンでも時間が経っていると色々あるんだなぁと思った次第です 以上報告でした。以後名無しに戻ります
461 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 00:40:52 ] なんか突っこむ気も起きない 帰ってくれるようだから何も言わないけれども
462 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 11:05:05 ] コンポーネントのあるイベントに引数を追加したい時って コンポーネントを継承した新たなコンポーネントを作らないといけない? それとも、イベントをオーバーライドして普通のプロシージャーみたいな 使い方って出来る?
463 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 11:35:48 ] そのイベントってそのクラス内から呼ばれるんだろ? だったら持たせたい引数をクラスのメンバーにしてやればいいんじゃないの?
464 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 11:52:46 ] >使い方って出来る? 無理です。 OnClick(Sender)に引数追加しようとしたら 呼び出し側もOnClick(Sender, data)とやらないといけないから どうしてもコンポ側にも手を入れないといけないので。
465 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 16:36:32 ] Sender に無理やりポインタ渡すとかの話かと思った。
466 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 19:25:03 ] >>462 呼び出し元コンポがそのイベントを呼ぶためにClickやDoClickなどのメソッドを定義していて、 なおかつそれがvirtual、dynamic、messageで宣言されているならオーバーライドできると言えなくもない 実際にClickやDblClickなどのメソッドは仮想メソッドだから、 事実上OnClickやOnDblClickなどの呼び出しはオーバーライドできるし、 それがなくてもウィンドウメッセージがイベントの起点となっているような場合は そのメッセージハンドラをオーバーライドしてやれば同じことができる
467 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 11:59:23 ] >>462 コンポーネントのイベントハンドラから、引数を追加したイベントを発行するってのは? れい type TNotifyEventEx = procedure (Sender, Option : TObject) of object; ... property OnNotifyEx : TNotifyEventEx; ... procedure THoge.HogeNotifyEvent(Sender : TObject); var uge : TUge; begin if Assigned(Self.OnNotifyEx) then begin uge := TUge.Create; Self.OnNotifyEx(Sender, uge); uge.Free; end; end;
468 名前:462 mailto:sage [2010/03/21(日) 12:36:02 ] 皆さん、レス有り難うございます。 自分にはレベルの高い話の気がしないでもないですが、 出来る前提で色々試そうとも思います。
469 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 17:18:14 ] 具体的に何したいんよ それによっては引数なんか追加しなくてもいい気がする
470 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 18:15:39 ] 普通に Sender だけで何が不足なのかな? イベントハンドラ内で Sender を通してそのオブジェクトが特定できれば、public な プロパティーやらフィールドにアクセスするのは簡単だろうに・・
471 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 22:16:51 ] あなたには聞いてませんからw
472 名前:462 mailto:sage [2010/03/21(日) 23:10:05 ] ListViewのSubItemの編集をしたくてググったり MLの過去ログ見たりしたんだけど、編集するセルの ところにEditを出す方法しか見あたらないんで、 Draw系のイベントにstringの引数を追加したら 簡単に出来ないかなと思って。
473 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 23:11:13 ] あなたに回答してませんから
474 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 23:53:45 ] あなたに答えてませんから
475 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 08:02:06 ] DelphiのGUIアプリから、ApacheHTTPサーバにアクセスし、様々な情報を やりとりしたいです。 使えそうなコンポーネントありますでしょうか? (Delphi2010 Pro版を使っています)
476 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 08:43:55 ] >>476 Indy?
477 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 08:44:42 ] 安価違い。>>475 だた
478 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 09:02:02 ] >>476 説明不足ですみません。 私が探しているのは、Indy(など)の上位層になり、例えばフォームにあるTStringGridのデータとか TEdit.TextなどをまとめてXMLエンコードしIndyに渡すようなコンポを探しています。 フォームとIndyの中間に位置するようなコンポです。
479 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 12:25:26 ] 冗談だよね
480 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:20:03 ] いったい何がしたいんだw
481 名前:433 mailto:sage [2010/03/22(月) 16:24:22 ] >>462 >ListViewのSubItemの編集をしたくてググったり おまえは俺か。 ttp://cc.embarcadero.com/item/23873 ここのは、キャプションの編集を横取りするタイプ。 BCCの文法が混じっていてコンパイル通らないという サンプルとしていいんだかわるいんだか。
482 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:26:51 ] >>478 渡すだけとかそんなの自分でコーディングすればええやん 10行もあれば書けるでしょ…
483 名前:402 mailto:sage [2010/03/22(月) 21:43:34 ] すみません。サポート窓口に聞くまでもなく自己解決しました。 結局、店頭で購入した場合は「指名ユーザ使用権」であり、 このライセンスなら、自分の所有する複数のPCにインストールOKでした。 定義されていたのは、下記の3カ所。 License_ja.rtfの第2条 「(略)使用証書で他の種類の権利の取得が特定されていない限り、 お客様の取得した権利は指名ユーザー使用権です。(略)」 License_ja.rtfの第2条第3項 「(略)指名ユーザーが本製品の使用を許可された唯一の個人である場合、 適正な数のコンピュータに本製品をインストールすることができます。(略)」 Database Software and Developer Tools Licensing ttp://www.embarcadero.com/jp/services/embarcadero-licensing-options 「指名ユーザー ライセンスは、特定の個人に使用権が与えられるライセンスです。 ソフトウェアは複数のコンピューターにインストールして使用することができますが、 同時に 使用できるのは1つのみです。指名ユーザーライセンスを、 複数のユーザーで共有したり譲渡することはできません。 現在、多くのCodeGear開発ツール が、このライセンス形態を採用しています。」 これで安心してノートPCにもXPmodeにもインストールできます。 みなさんコメントありがとうございました。 では名無しに戻ります。
484 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:32:58 ] 乙
485 名前:デフォルトの名無しさん [2010/03/25(木) 14:15:19 ] TPrinterを使用して印刷しているのですがこの場合印刷データを ファイルに保存することは出来ないのでしょうか? TPrinterはBeginDocの時にヌルクリアしたDocInfoを使って StartDocを呼び出しているのでlpszOutputを指定する方法が無く困っています。 なにかいい案がありましたらお願いします。
486 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 15:19:48 ] dekimasu
487 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 01:19:42 ] TPrinterから派生したクラスを作って、そのインスタンスをSetPrinterで設定するとか。
488 名前:485 [2010/03/26(金) 08:42:22 ] >>487 それも考えたのですがTPrinterを使う他のコンポーネントが存在しており TPrinterは1プログラム1インスタンスで動作するので躊躇していました (印刷処理以外でもプリンタの状態確認にTPrinter()を使ってます) 派生したクラスを同時に使っても問題無いのでしょうか?
489 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:05:04 ] 質問です。Delphi2010にて、"Generics.Collections"をusesして ジェネリクスなオブジェクトのリストのコレクションのメンバにアクセスしたとき、 コンパイルは正しくとおって実行してもエラーなく動作するんですが、左上のエラーが消えません。 例えば TObjectList<TForm> だと、 FL:=TObjectList<TForm>.Create; FL.Add(Form1); FL[0].Caption:='abc'; というようにメンバにアクセスすると、コンパイルは正しく通るのですが左上のエラーの欄で !'TObejectList<TForm>'hは'Caption'という名前のメンバを含んでいません。 というようなエラーが消えません。 どういう理由があってこのような状況になってるか、どなたかご教示いただけないでしょうか?
490 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:15:43 ] コンパイラは最新だがIDEは最新じゃない、と思っておいた方がいい
491 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:07:38 ] 行き詰っているので相談させてください 環境はDeklphi2007です。 delphiでDBの操作ソフトの修正に関わっているのですが、コンパイルすると SrtingtoTdatabaseは互換性がありません とエラーがでてとまります。 変数(A,B,C,D) という行があり、Aは同じソースファイルの中でString宣言、BはTdatabese 宣言、C,Dは不明でA,Bの宣言を書き換えても駄目でした。 元々はDelphi6で前任者が作成したものを小生がXpで使用する為に2007で コンパイルしています。6の環境は残っておらず、前任者とも連絡が取れません。 C、Dの宣言を探す以外になにかよい解決は無いでしょうか?
492 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:06:58 ] >488 普通に印刷するときは通常の(デフォルトの)TPrinterのインスタンスを、ファイルに出力するときは それ用のTPrinterからの派生クラスのインスタンスを、それぞれとっかえひっかえでSetPrinterすれば いいんじゃないの? >489 普通にコンパイルするときとエラーインサイトやコードナビゲーションで使用するコンパイラは 違うものなのでそういう現象がおきる。 >491 プログラミングとかDelphiとかそういうものを理解してる?わからないならわからないって上司に 相談したほうがいいと思うが。できなければソフト屋に外注に出すとか。さもなきゃここに 晒すしかない。すくなくとも > 変数(A,B,C,D) > という行があり、 とか > C、Dの宣言を探す以外になにかよい解決は無いでしょうか? とか意味不明にもほどがある。
493 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 03:37:29 ] うるせーばか
494 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:06:13 ] >>492 上司に相談して解決するなら最初からここにくる訳が無い。 1の書き込みを鵜呑みにしてここに書いた俺が馬鹿だったって事だな。 金輪際来ませんのでご安心ください。。
495 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 16:15:22 ] よかった。もう来ないんだって。 誰だって気違いの相手はしたくないもんね。
496 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:12:04 ] マジレスすると、おそらく関数のパラメータ並びが変更されているのでそれを直す必要がある。 必要な情報は関数のパラメータそれぞれの型とその意味、現在指定されている(エラーになっている) パラメータそれぞれの型とその意味(内容)。だからCとDの型とその内容は必須な情報。でも Ctrl+クリックで探せないか?
497 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 01:06:08 ] >>489 明示的にTFormにキャストすれば?
498 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 03:32:37 ] それやったらジェネリクスの意味ないだろ 馬鹿か?
499 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 07:55:03 ] と、馬鹿が申しております。
500 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:17:30 ] ジェネリクスとTObjectListの区別がつかない
501 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:17:23 ] >>499 それ本気で言ってるとしたら頭疑うわ ジェネリクスって何だか分かってる?
502 名前:489 mailto:sage [2010/03/28(日) 22:37:31 ] >>497 はじめはTListやTObjectListに入れてキャストしたのをpropertyにしてたんですけど、 ダウンキャストをしたくないのと、getter setterを一々書くのが面倒なんでジェネリクスを使ってるんですよ。 とりあえず割り切ってエラーは見ないように割り切る他ないんでしょうかね。
503 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 22:39:27 ] いろいろ書き直してたら日本語おかしいまま書きこんでしまった・・・ 最後の行は脳内修正して読んでください・・・
504 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 23:11:19 ] まぁエラーインサイトとかは他でも誤動作するし、気にしすぎないほうがいいと思う。
505 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 02:38:37 ] エラーインサイトは実装当時から切ってるな 役に立った試しがない
506 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:54:11 ] お世話になります。 TMemoで行や桁があふれたときだけスクロールバーを出すにはどうしたら良いのでしょうか。 ScrollBarsをBothに設定すると常に出っぱなしで見苦しいのです。 他のコントロールだと自動で出したり引っ込めたりするのに、なぜ?
507 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 22:02:16 ] んー自分でOnChangeイベントあたりで制御するしかないんじゃないかなぁ。何でそうなっているかって? WindowsのEDITコントロールがそう作られているからだな。
508 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 22:57:00 ] >>506 SynEditなんてどう?などと適当なことを言ってみる。
509 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 01:27:19 ] >>507 そうなんですか…。 Delphiの構文さえ理解してないレベルの自分には難しそうです。 >>508 SynEdit調べましたが、ちょっと用途が違うような。 ただシンプルにテキストが入出力できれば良いので。 ふと思い立って、TRichEditならどうかと。 これはMemoと違い、あふれたときだけスクロールバーが出るじゃありませんか! これでヨシ!と思ったんですが、今度はポップアップメニューが出ません orz
510 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 02:43:38 ] PopupMenuを設定すれば?
511 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 09:01:56 ] >>510 やってみます。スクロールバーを出すよりは難しくなさそうなので。
512 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:44:01 ] Delphi6 Personalを使用中 ヘルプが変です キーワード検索すれば出てくるけど、VCLリファレンス目次のルーチン一覧(カテゴリ別)には 見当たらない項目がいっぱいあるんですけど、これは仕様でしょうか FileAge関数とか、カテゴリMBCSユーティリティの全部とか MBCSユーティリティは重要視されてないのかな AnsiCompareFileName関数の説明もよく分かりません ・ AnsiCompareFileName 関数は,大文字と小文字を区別しないで S1 と S2 を比較します。比較演算は,現在のロケールに基づいて行われます。 AnsiCompareText('AA','aa') { 0 を返す } AnsiCompareFileName('AA','aa') { 0 ではなく 1 を返す } 大文字と小文字を区別しないはずなのに…? AnsiLastChar関数は、文字列処理ルーチン(ヌルで終わる)に入れるべきかと
513 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 10:58:29 ] 最小化した時も処理を続けていて、その時のデータに応じて タスクバーに表示される文字を変更したいんだけど どうしたらいいですか?
514 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:11:06 ] フォームのCaptionかApplication.Titleを変更する。
515 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:31:53 ] >>512 そんな10年も前の終わったバージョンに対して文句言うとか頭おかしいんじゃないでしょうか
516 名前:デフォルトの名無しさん [2010/03/31(水) 18:19:57 ] デザイン時にTPageControlを右クリックすると 「ページ新規作成」や「ページの削除」といった メニューが表示され、追加・削除が出来ますが これはどのように実現したらよいのでしょうか? 「子・孫を持つパネル」のような自作コンポーネントを 作成していて、その子・孫パネルを追加するのに、 メニューでやりたいなと思った次第です。
517 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 19:32:09 ] 目で見たものを真似できない人は何も作れないと思う
518 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 21:33:33 ] つまり>>517 は自分は何も作れないと宣言したかったんですね、わかります わかりますがそういうのはチラシの裏にでも書いて下さい
519 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 02:43:49 ] >>518 わざわざ自己紹介ご苦労さん
520 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 03:42:49 ] 顔真っ赤だよ?どうしたの?
521 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 06:50:33 ] と、顔を真っ赤にして申しております。
522 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 09:14:51 ] >>520 つ 鏡
523 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 12:10:51 ] ListViewのことで質問です。 セルをクリックした時に何行目何列のセルかを知りたくて 下記のサンプルを見つけました。 Item部のCaption文字列の上とSubItemの部分をクリックした時はいいのですが、 Item部の余白部分をクリックすると何も取得出来ません。 Item部のどこをクリックしても取得出来るようにするにはどうしたらいいですか? var wCtrl : TListView; wStruct: TLVHitTestInfo; begin wCtrl:= (Sender as TListView); FillChar(wStruct, SizeOf(TLVHitTestInfo), 0); // マウスカーソルの座標を取得 GetCursorPos(wStruct.pt); // スクリーン座標からクライアント座標に変換 wStruct.pt:= wCtrl.ScreenToClient(wStruct.pt); //repeat wStruct.pt.X:=10; // 選択された項目の判定 if wCtrl.Perform(LVM_SUBITEMHITTEST, 0, LPARAM(@wStruct)) >= 0 then with wStruct do begin Item:=(Sender as TListView).Items.Item[iItem]; end;
524 名前:520 mailto:sage [2010/04/01(木) 13:33:09 ] >>521-522 >>518 に向けて書いたんだけど、ひょっとして思い当たる節でもあったの?
525 名前:デフォルトの名無しさん [2010/04/01(木) 13:36:00 ] 結局>516が分からない馬鹿しかいないんですね レベル低いですねもう来ません
526 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 17:07:10 ] 逆ギレ乙です
527 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 01:27:09 ] なんつーか、回答する気も起こらないつまらん質問ってあるよね。 PopupMenu の使い方を知らんのか、動的にコンポつくる方法が知らんのか こっちが勝手に想像するのも面倒くさいような質問とか。
528 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 04:22:45 ] 527 はこのスレの意義を理解できないのか? >Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 >もしくは質問者自身何が何だか分からない質問を >勇気を持って書き込むスレッドです。 回答する気にならないのなら、黙っていなさい。無理にコメントを書くことは無い。
529 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 07:08:59 ] >516が知りたいのはToolsAPI(OTA)の話だと思う。ListViewとかTreeViewのように デザイナ上でそのコンポーネントのカスタム項目を使えるようにしたい、とか。Inside Delphi あたりに載ってたような。
530 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 08:01:18 ] >>528 拍手ーー
531 名前:516 [2010/04/02(金) 09:01:08 ] >>529 仰るとおりです。デザイン時の話です。 ToolsAPIというのは初めて聞きました。ググって見た感じでは まさにそれっぽいのですが、ちょっと私には敷居が高そうだなあ…。 とりあえず子パネルのSetParentと親パネルのValidateInsertを overrideして他のコンポーネントを(に)置けないようにして デザイナ上で貼り付けさせるとかしてお茶を濁すことにします。
532 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 10:35:21 ] Source\ToolsAPIとSource\Win32\Property Editorsを参考に(場所はDelphiの バージョンで違ってくるかも)。
533 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:02:05 ] もう少しちゃんと説明して下さい
534 名前:516 [2010/04/02(金) 13:33:33 ] IDが出ないのをいいことに質問者のフリをして煽る人がいるみたいですね。 まあ句読点とかの文体が違うので、皆さんも分かってるとは思いますけど…。
535 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 14:41:00 ] 13:33:33
536 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 15:15:12 ] >>534 そんなのどうでもいいし 帰れ
537 名前:523 mailto:sage [2010/04/02(金) 23:12:57 ] また、Listviewで質問なんだけどmousedownとかうpを 受け付けてもらえないんだけど、なんか設定とかある?
538 名前:デフォルトの名無しさん [2010/04/04(日) 20:53:06 ] エクセルオートシェイプの矢印をTImageやTFormに描き、 bmpで保存したいのですが、それは加納ですか? というか、滑らかで綺麗な矢印がTImageに描ければ いいだけなんですけど・・・ 誰かソース書いてもらえません?
539 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:04:59 ] 化膿です
540 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 22:53:11 ] 適当なグラフィックツールで2倍とか4倍に描いたものを縮小してBMP形式で保存して 取り込めばいいんじゃね?
541 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 11:56:00 ] オートシェイプをPrtScnキーで取り込んでMSペイントで保存してTImageでStretchする。
542 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:29:32 ] フォームの上にパネルを1個置き、パネルのボーダースタイルをbsSingleにします。 そのパネルの上にボタンを置きます。ボタンのアンカープロパティを[akRight,akBottom]に設定します。 で、フォームの右クリックメニューから「エディタで表示」して、「フォームを表示」で元に戻します。 これを繰り返すとボタンの位置がどんどんずれていきます。マジで堪りません。 プロジェクトを開くたびにどんどんおかしくなっていきます。
543 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:35:15 ] パネル以外のコンテナでもページコントロールのBorderWidthを設定したり、 スクロールボックスでも発生します。アンカーはデフォルト以外に設定すると 位置がずれていたり、サイズが変わったりします。 ポトペタが売りの製品で基本の部分でバグるなんてあまりにもひどすぎます。 クソツールのようです。
544 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 01:53:38 ] そういうのはオッチャスレでやってください ここは質問スレです
545 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 02:00:21 ] 一応手持ちの歴代Delphi(6〜2010)で試してみたけど発生しないなw 捏造もオッチャスレの受け持ちなんでやっぱりあっちでどうぞ バージョン書いてない時点で結構怪しかったけど もしくはパッチあててないだけという情けない落ち?
546 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 09:52:03 ] >>545 まじで言ってます?2010でも2005でも発生しますよ。それ以前は試してません。 「エディタで表示」ってのはフォームのDFMをテキスト形式でみるメニューのことです。 で、「フォームを表示」で元に戻すと、1回やるたびに4ピクセル分ずれます。 4ピクセルってボーダーの幅(GetSystemMetrics(SM_CXBOARDER)で、その分、クライアント領域が 小さくなるのにAnchorsなどの配置処理で考慮に入れてないんじゃ?と思ってます。 ソース追っかけ中。
547 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:01:07 ] 環境によって変わるのでわ? 自分もPanelの中に貼り付けたコンポをalclientにしているのに高さが追随してくれない現象を体験しているので。 この現象が出るのはXPでW2Kは問題なしだが、自分以外のXPマシンでどうだかは知らない。 (Del7pro/W2Kでコンパイル/パッチは全部当ててるはず)
548 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:07:20 ] 自分の試した環境ではWinXPモードとWin7とWin2000で発生します。 ここではボタンを配置しましたが、Anchorsプロパティをデフォルトの[akLeft,akTop]以外に 設定したコントロールすべての位置、サイズがどんどんずれていきます。 コンテナの方はパネル、スクロールボックス、ページコントールのタブシートなどです。
549 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 13:17:22 ] 2k+D7Pro発生せず。 他のコンポでも試したがなんもおこらんよ。 手順は>>542 の通りやった。