GitHubのAPIを使って、リモートレポジトリの一覧を得る 3. TListViewへの表示
の続きで、最終回です。たぶん。一回目でなんとなくフォームに置いたTListViewですが、プロパティーなどを設定します。まずViewStyleを

のごとくvsReportにしておきます。カラムをセットします。下記は一例ですが、

として、

こんな感じにしておきます。カラムの幅もだいたい良い感じで設定して、

上部に余計なdebug情報がありますが、TListViewの部分は良さそうですね。カラムをクリックした時にTEditにurlが入ると、それを使ってブラウザからレポジトリにアクセスできますので、便利ですね。で、

ここでダブルクリックでhookする関数を生成(スケルトン)します。
void __fastcall TForm1::ListView1Click(TObject *Sender)
{
Edit1->Text = entries[ListView1->ItemIndex].url;
}
//---------------------------------------------------------------------------
これを中身に記述して。動かして見ますかね。一番上のカラム(行)をクリックすると、

Edit1の中を選択して、Ctrl-CとかしてからCtrl-Vすると、
GitHub - alt-doc-nao/bootnext: switch disk using bootnext i.e. bootonce
switch disk using bootnext i.e. bootonce. Contribute to alt-doc-nao/bootnext development by creating an account on GitHu...
が得られます。bootnext自体はPublic(Private=false)なレポジトリなので、誰でも上のリンクを辿ってアクセスできます。別の行をクリックすると、そのレポジトリに対応したurlが得られます。良さそうなので、仕上げでデバッグのために使っていたTMemoとかTLabelを削除して、関連のコードを消すかコメントアウトします。

最終形はこうなります。一番下のFirst repositoryをクリックして得られたurlは、

Build software better, together
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over...
となりますが、Privateなレポジトリなので、ここへアクセスしようとしても、読者の方々は

404になり、Sign inを促されます。カラムをダブルクリックするとそのurlへブラウザからアクセスするとかも可能ですね。
コメント