TListView ma chyba jakiś błąd?
Jak ew temu zaradzić, nagłówki kolumn nie zgrywają się kompletnie z siatką listy, 3px różnicy
tlistview w trybie vsReport, kolumny i wiersze.
TListView ma chyba jakiś błąd?
Jak ew temu zaradzić, nagłówki kolumn nie zgrywają się kompletnie z siatką listy, 3px różnicy
tlistview w trybie vsReport, kolumny i wiersze.
Możesz wyłączyć GridLines lub rysować linie na canvasie osobiście wybrałbym opcję nr 1 :)
Ewentualnie zawsze można podłubać coś w kodzie komponentu, albo subklasować jeśli jest taka możliwość i nadpisać co trzeba.
ListView to systemowa kontrolka a nie Delphi (komponent TListView to tylko nakładka) więc to nie jest błąd środowiska bo to nie ono jest odpowiedzialne za jej wygląd (pod warunkiem że korzystamy z domyślnego wyglądu a nie rysujemy samodzielnie) tylko system.
Takie sobie rozwiązanie zresztą nie wiem czy dobrze, bo może (nie sprawdziłem) znowu źle wyglądać w innej wersji systemu:
uses
CommCtrl;
procedure TForm1.FormShow(Sender: TObject); //nie może być w OnCreate
const
CORRECT_VAL = 1; //o ile px przesunąć
var
hListViewHeader: Cardinal;
begin
hListViewHeader:= ListView1.Perform(LVM_GETHEADER, 0, 0);
if (hListViewHeader > 0) then
SetWindowPos(hListViewHeader, 0, CORRECT_VAL, 0, 0, 0, SWP_NOOWNERZORDER or SWP_NOSIZE);
end
Dzieki dziala, ale trzeba ciagle przerysowywac sypie sie np po ruszeniu formy