掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TListViewで行の高さを低く設定したときの実際の高さを取得するには (ID:150583)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
調剤薬局マンさん、ありがとうございました ListView_GetItemRectを直接呼ぶ事で解決しました。 Mr.XRAY さん、単なる説明不足で誤解させてしまいました、 ListView_GetItemRectで検索したら Mr.XRAY さんのWebサイトが出てきて、サンプルを参考にさせていただきました。 【072_TListView のスクロールバーの表示制御】 http://mrxray.on.coocan.jp/Delphi/plSamples/072_TListView_ScrollBar.htm さきほどのサンプルを修正したものはこちらです。 この修正では高さに制限が無く指定した高さに設定されるようになりました。 挙動は変わりましたが、これで問題が無いので解決とさせて頂きます。 ありがとうございました。 procedure TListViewEx.OnSelfClick(Sender: TObject); var aCol : Integer; r : TRect; begin aCol := GetColumn; if aCol=-1 then exit; ListView_GetItemRect(Handle,ItemIndex,r,LVIR_BOUNDS); // 追加 FEdit.Left := (ColumnLeft(aCol) - GetScrollBarLeft()); //FEdit.Top := (ItemIndex - TopIndex) * (ItemHeight+1) +GetColumnHeight(); // 修正前 FEdit.Top := (ItemIndex - TopIndex) * (r.Height) +GetColumnHeight(); // 修正後 FEdit.Width := Columns[aCol].Width; //FEdit.Height := ItemHeight; // 修正前 FEdit.Height := r.Height; // 修正後 FEdit.Visible := True; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.