Wysokość Header w ListView

dział ogólny

Wysokość Header w ListView

Nowy postprzez sebaskow » środa, 13 lutego 2013, 13:43

Witam.

Potrzebuję informację jak zwiększyć wysokość wiersza Header w kontrolce ListView ?
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows XPChrome

Re: Wysokość Header w ListView

Nowy postprzez Mironas » środa, 13 lutego 2013, 13:58

Na moje oko nie da się.
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

Re: Wysokość Header w ListView

Nowy postprzez Corvis » środa, 13 lutego 2013, 14:35

Nie znam za dobrze, tego komponentu. Jednak jak zwiększyłem czcionkę w ListView nagłówek zrobił się większy ( on chyba automatycznie się dopasowuje )

W komponentach z paczki TMS jest komponent TAdvListView i tam możesz sobie robić co chcesz bo masz właściwość HeaderHeight.
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: Wysokość Header w ListView

Nowy postprzez Cyfrowy Baron » środa, 13 lutego 2013, 18:04

Standardowy ListView nie ma opcji pozwalającej na zmianę wysokości nagłówka, poz sytuacją opisaną przez Corvis'a.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez sebaskow » czwartek, 14 lutego 2013, 17:42

Zdarzają się jednak sytuacje gdzie ten wiersz jest wyraźnie wyższy. I są to okna systemowe, spróbuję znaleźć taki przykład.

Miałem nadzieję że gdzieś w klasie ListView będzie możliwość ustawienia tego parametru.

http://www.codeproject.com/Articles/2890/Using-ListView-control-under-Win32-API

Pozdrawiam, może jednak ktoś ma pomysł na powiększenie tego wiersza.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows XPChrome

Re: Wysokość Header w ListView

Nowy postprzez polymorphism » czwartek, 14 lutego 2013, 19:25

To, o czym mowa, nazywa się header control i ma nawet swój dział w dokumentacji PSDK -> http://msdn.microsoft.com/en-us/library/windows/desktop/bb775239%28v=vs.85%29.aspx.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez Cyfrowy Baron » czwartek, 14 lutego 2013, 20:05

Tyle, że Header Control nie oferuje zmiany wysokości nagłówka. Jest tam co prawda komunikat dotyczący zmiany rozmiaru nagłówka, ale tyczy się to szerokości kolumny w nagłówku, co można zrealizować dużo prościej.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez polymorphism » czwartek, 14 lutego 2013, 20:39

Jeśli header control jest oknem z uchwytem, to może wystarczy po prostu użyć SetWindowPos do zmiany rozmiaru.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez Cyfrowy Baron » czwartek, 14 lutego 2013, 21:16

To zmieni rozmiar całego ListView, a nie tylko nagłówka.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez polymorphism » czwartek, 14 lutego 2013, 21:22

Co, jak dasz uchwyt nagłówka (ListView_GetHeader), to cały rozmiar kontrolki listview się zmienia?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez Cyfrowy Baron » czwartek, 14 lutego 2013, 23:27

Tym sposobem udało mi się tylko utworzyć nowy nagłówek w ListView, który przesłonił stary, niestety przesłania też pozostałe wiersze. Nie mogę pobrać uchwytu do już istniejącego nagłówka. Jeśli uważasz, że to możliwe to podaj jakiś kod.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez polymorphism » piątek, 15 lutego 2013, 01:28

Możliwe to to jest, w końcu sam microsoft udostępnił makro (i komunikat), które to robi. Dlaczego u Ciebie nie działa, nie wiem. Być może próbujesz wyciągnąć uchwyt w momencie, gdy kontrolka (czyt. uchwyt) nie jest jeszcze stworzona.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez Cyfrowy Baron » piątek, 15 lutego 2013, 05:51

Próbuję to zrobić w zdarzeniu OnClick dla Button, więc kontrolka jest stworzona.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez polymorphism » piątek, 15 lutego 2013, 10:48

I co zwraca ListView_GetHeader?

--- dodane ---

Sprawdziłem na wx'ach, czy da się w ten sposób zmienić rozmiar nagłówka. Wprawdzie rozmiar się zmienia, ale niestety nagłówek nachodzi na zawartość listview, czyli doopa. Dodatkowo zmiana jest tymczasowa, do momentu zmiany rozmiaru kontrolki listview. Być może subclasing ruszyłby sprawę do przodu, ale nie chce mi się teraz tego sprawdzać.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Wysokość Header w ListView

Nowy postprzez Cyfrowy Baron » sobota, 16 lutego 2013, 09:07

Dzieje się więc to samo, co przy tworzeniu ListView od podstaw - chodzi o to nachodzenie nagłówka na listę, z tą różnicą, że efekt jest trwały.

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
sebaskow
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Następna strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości