喫茶XRAYトップページ

[スレッド全体
]

[7895] Googleでオンラインヘルプを検索返信 削除
2014/9/6 (土) 08:30:10 Mr.XRAY
Delphi XE7 のリリースを記念して,
とっておきの「技」(*) を紹介します.

[Google 検索エンジンでオンラインヘルプを検索]
http://mrxray.on.coocan.jp/Delphi/Others/A_Delphi_OnlieHelphtm.html#08

(*) 個人の見解です(^^;


[8014] 検索の例?返信 削除
2014/9/25 (木) 19:09:02 Mr.XRAY
> [Google 検索エンジンでオンラインヘルプを検索]
> http://mrxray.on.coocan.jp/Delphi/Others/A_Delphi_OnlieHelphtm.html#08


例えば,
[TListViewの名前列の空白箇所クリック時選択させない]
http://hpcgi3.nifty.com/e-papy/DelphiBBS/wwwlng.cgi?print+201409/14090009.txt

という問題の場合,
VCL TListView 選択 site:http://docwiki.embarcadero.com/Libraries/XE7/ja/
で検索してみます.
https://www.google.co.jp/search?num=50&site=webhp&q=VCL+TListView+%E9%81%B8%E6%8A%9E+site%3Ahttp%3A%2F%2Fdocwiki.embarcadero.com%2FLibraries%2FXE7%2Fja%2F&oq=VCL+TListView+%E9%81%B8%E6%8A%9E+site%3Ahttp%3A%2F%2Fdocwiki.embarcadero.com%2FLibraries%2FXE7%2Fja%2F&gs_l=serp.12...0.0.2.67.0.0.0.0.0.0.0.0..0.0....0...1c..54.serp..4.0.0._9j-lsA0ShY

そして,ヒットしたページで「選択」を検索してみる.といった具合でしょうか.
Google で検索する際,「空白」という語句は入れていません.
質問の文章における「空白」意味は少し(かなり?)曖昧な表現です.

あたり前ですが,検索したページを読んだだけでは,
問題の解決になるわけではありません.
あくまでも「検索の例」です.

大抵の場合,調べるのはプロパティ,メソッド,イベントのことが多いと思います.
したがって,しつこいようですが,あくまでも「検索の例」です.


[8034] TListViewで項目が選択されているか返信 削除
2014/9/28 (日) 12:22:15 Mr.XRAY
> 例えば,
> [TListViewの名前列の空白箇所クリック時選択させない]
> http://hpcgi3.nifty.com/e-papy/DelphiBBS/wwwlng.cgi?print+201409/14090009.txt


この質問では,TListView の項目が選択されているかどうかを,どう確認したか,
書いてありませんが,

TListView で項目(Item) が選択されているかどうかは,
TListView.ItemIndex の値で確認できます.
(TListView はコンポーネントのクラス名です.
 フォームに配置した TLietView コンポの名前が ListView1 の場合は,
 ListView1.ItemIndex の値のことです)

ItemIndex の値が -1 の時は,項目は選択されていません.
0 以上の時は選択されています.
TListView.SelCount の値でも確認できます.
また,Selected プロパティの値でも確認できます.

http://docwiki.embarcadero.com/Libraries/XE7/ja/Vcl.Controls.TCustomListControl.ItemIndex
http://docwiki.embarcadero.com/Libraries/XE7/ja/Vcl.ComCtrls.TCustomListView.SelCount
http://docwiki.embarcadero.com/Libraries/XE7/ja/Vcl.ComCtrls.TCustomListView.Selected

参考までに.


[8038] TListViewの選択項目の番号と再描画問題返信 削除
2014/9/29 (月) 19:10:36 Mr.XRAY
> TListView で項目(Item) が選択されているかどうかは,
> TListView.ItemIndex の値で確認できます.


実際にテストしてみました.
サンプルプログラム集の[790_ファイル一覧・仮想リストビュー]の
[01_ファイル一覧・仮想リストビュー (ファイル名のみ)]を使用しました.
そのサンプルで,

  ListView1.RowSelect := False;

として,次のイベントのコードを追加して実行した結果です.
再描画の問題もテストしています.
最初の図では,ItemIndex の値が 2 となっていて,3 番目の項目が選択されている
ことが分かります.
次の図では -1 となっていますから,どの項目も選択されていないことが分かります.
しかし,再描画が完全でないために,描画が不自然な状態となっています.
動作確認は,Windows 7 U64(SP1) + Delphi XE(UP1) Pro です.


procedure TForm1.ListView1Click(Sender: TObject);
var
  AIndex : Integer;
begin
  //図はこの再描画のコードがない場合でテストしている
  //ListView1.Invalidate;

  AIndex := ListView1.ItemIndex;
  //フォーカス領域の枠線を描画しない場合
  //図ではこのコードがない場合でテストしている
  //このコードを実行すると,再描画が行われるのでListView1.Invalidate;は不要
  //if AIndex < 0 then begin
  //  ListView1.ItemFocused := nil;
  //end;

  Panel1.Caption := '選択項目番号   ' + IntToStr(AIndex);
end;



[8039] というわけで...返信 削除
2014/9/29 (月) 21:53:50 Mr.XRAY
> 実際にテストしてみました.

というわけで,池上 彰さんの話も終わりましたので...
ではなく,ここ最近,Delphi のコミュニティの場での,主に質問内容を
取り上げてみました.

質問の内容に対しての直接の解決策ではありませんが,
こうすると,単に「うまくいきました」「解決しました」だけではなく,
いろいろな面が見えてきます.
コミュニティの場では中々,いや,間違いなくこうはいきません.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82