[64] Ugly dialogs

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Hacker, petermad, Stefan2, white

User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

You may even add missing property IntegralHeight and set style depending on its state. :)
ghisler(Author) wrote:Btw, I'm still getting a small white line below the combobox.
Does Lazarus call overriden method? Does created combobox have style CBS_NOINTEGRALHEIGHT (0x400) (you may use Spy++ or WinScan to get window styles)? Have you checked it in debugger?


Here my working test application. Just create new project and use theese form and source files.

Code: Select all

MIME-Version: 1.0
Content-Type: application/octet-stream; name="Proj3.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Proj3.7z"

N3q8ryccAAMAHaeK7gMAAAAAAAAhAAAAAAAAAIY2+LQAOpuJYkEx+bcGx6JVZDQmeZI3GPDI+cNO
XH8K+SlRkcoFfMtzTXkC2/gjp159hfUjZx0EGVuQY2HApbJlExVn9qUIcKUY9C+/kIN9Ri66HeME
5x2BsxufNCa8QsjcxTVF6Ufth8vhHU+ORMteNCz4LwihFm6WrNp90S3wLu3j5gCil94w+VgAxUSo
8Clkj/6Vkgsv9eX340EKrBflBB9JRGuvId4an9WDTyQceX/ggYYdqnfaKGusq1WU9RSG/jzdOiFV
6VVUKc8vPhbPnoXmxLO7nBWTm6AD6fGRecksTnhdavWVqyzc1xrgivppj0JMzZQ+E8iEwgZFjcy8
pLImWyqkP4K1PDvgxD6fW5jOsx8A3ZtR3kPC2kh4wx50OWSmhCLHOuRzgsL7ZNditRL8IRxP6EdK
VOXX90hBAvO7lO1ZlNKrbwTk4nCKw7ZtDKs95gU0Dntof7zMxGTZ54GGsmcEMyTEHxlfLMB3EnmM
ewFs8+A6ZNSB1UF0OOedUFRfCCtzkylTADH1Z5tqydmYETW64O8gg1OovTw+jE5HIkNOa7Ero2+2
muPTBlG3Vmd+P1GeklEZOt0bfi9THPQxsHFBU7+0PLZUFNnd8uFcuozjFIAc+7PflSH7ReZ8o6Ly
7i8JLo7cAQ3p3Ggc53/aIXNCa6M8k4TgXO2xvpba2qv0fN6zW1FTjsCkKIAcYxiH4+G/PIrdI3jS
Uc/J79SsEynKElcBjJgC4RyDHDHx2gHf7Gp1TcFl2jBBHJsrkiRiAKsSRDqIY9e1YBWfC3VPtVJy
pGknptlsNo+a+lxirP4j4N8pQJv81GWMPMzBIVXDpoIkYzLSuPbz66uimnHIzCK0zWTzG35mYJ8/
y9yf2l2LR9MaTQnw26+HIfZg5puYnkpBL2BoBtUrJDPzJtoxv1G9OJ6kCwqUBJ20qEKg9He2ykai
jEgWynm8XHbNOez9ATc4waB6c5KNFVKi3daRKooJz3HmRUTmzKZH4amNFnHFx1zjnulbXdaGcqRZ
Fw9wxA/TH0INmWWGp5HyuAUC5F6j4R3HfFE9Go3bgmECV0unQpp8RS4yANt3Hjj/npaJklCRDztw
YydzNSYKWpE1o17I/JB48iaNDJTYv1qsAl3UglPK/rRta1nnO04U/jpaxdQQIqJHXJR9Ss562FVO
0IGcOonVhDKCTuwJu+AcAAAAgTMHrg/VUKjxFmwpH0grQTJoxsBNAeF6VRszx0pz4Q6lPymiqnhL
Ru052mNfrGaofVIHjWfSYaRO1NAxRGZB+TsgizXAvSSquyhAzII5XyVag+90JEKgNRqCpDBqS0OC
C3O/r2B8UQzHTAAAFwaDgAEJbgAHCwEAASMDAQEFXQAQAAAMfQoB3OYdNAAA

Button 'resize!' allows to set any desired combobox height. Depending on IntegralHeight state there will be or won't be a gap below combobox. State of IntegralHeight flag application asks during initialization. Temporary red filling is used to show the gap if it exists.

I've needed to use TMyComboBox instead of TComboBox in both form and source files. This way doesn't allow to use visual form editor, so maybe it would be better to patch library source file lcl\include\customcombobox.inc (but I don't know what to do after modification). Or maybe it is easy to create custom package with visual component, haven't played with it.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50523
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I'm now using the "not integral height" in beta 3. Unfortunately there is still a white line I couldn't get rid of, but it looks a lot better...
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Sorry I don't see any changes in TC8x64b3 comparing toTC8x64b2... But it is possible, you just need to patch correct place. :) I gave you working example of program that fixes bug. Also it may be fixed directly in customcombobox.inc (some recompiling will be required).

This line is not white, it has contents of previous window that were at that place. E.g. for me this line is blue (my TC panel background is 0-64-128), but if I open another window above TC and close it, that gap will show part of that window.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50523
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

You must be blind! :)

In beta 2 and earlier, the list height in associate dialog is a multiple of the lines. In beta 3, you can see half a line at the end. It of course depends on the font.
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Ah, I see it, really! With my classic theme I can see only one line of dark pixels of last line so I didn't noticed that. :D

Hm-m, it is strange why your ComboBox sets wrong size for inner window...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50523
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I have no idea, it's a standard Lazarus Combobox. Maybe they will fix it in a later version.
Author of Total Commander
https://www.ghisler.com
Post Reply