Embarcadero/DelphiVCL4Python

Minimize window button doesn't work

Ariel-MN opened this issue ยท 18 comments

I've noticed that the minimize window button doesn't work, either writing the application in Python from scratch or exporting the GUI from Delphi.

Can you provide the script you're running on to simulate this case?

Even the example in the readme of this repository.

Thank you for noticing the problem. We shall revert as it is solved. We appreciate you raising any further issues you face.

When placing the mouse over any button in the window, the focus of the region where the pointer is is apparently removed. For example, Windows 10 changes the color of the close button when you place the mouse over it, however, the color immediately returns to the state as if the mouse was not positioned.

image

It's hard to even get the print!

@Ariel-MN Do you observe the issue mentioned by @excript ? It doesn't happen to me. @excript , could you please upload your code as python files for investigation? Because this is a long code from the application visibility.

No, I don't have that problem.

Video where you can see that the color of the buttons changes when the mouse hovers over.

https://www.youtube.com/watch?v=v-IjLThkx8I

Note that similar to when a control loses focus, I move the mouse pointer over the buttons several times to demonstrate that in a matter of milliseconds the image of the close button switches between red and the default color of Windows.

I used the Hello World sample code contained here in the repository.

https://github.com/Embarcadero/DelphiVCL4Python/blob/main/samples/HelloWorld/hellodelphivcl.py

@Ariel-MN have you tried to set the MainFormOnTaskBar = True? Set it after the Application.Initialize routine.

def main():
    Application.Title = "Checking DelphiVCL4Python"
    Application.Initialize()
    Application.MainFormOnTaskBar = True    
    Main = MainForm(Application)
    Main.Show()
    Application.Run()
    Main.Destroy()

Let me know if you have success.

@lmbelo Sorry, that didn't solve the problem.

That is odd, it should work. We can have I look on it when we connect remotely as well.

@lmbelo This did solve the minimizing problem, I got confused thinking it was issue #18. I confirm that adding that line solves the problem.

Wow, that's great! So I'm closing this issue once it has been resolved.
Thank you for all support.

Nice, I hope that MainFormOnTaskBar = True can be the default in future versions. Happy to help

Nice, I hope that MainFormOnTaskBar = True can be the default in future versions. Happy to help

I hope this gets set to True by default in future versions also.

Someone also had the same issue posted on StackOverflow: https://stackoverflow.com/a/75582372/2908017

Hmm... It makes sense to set it to true as default. I will have a detailed look at it and investigate for further impacts.

I just created a brand new blank VCL app in Delphi 11 and it is actually there and set to True by default:

image

Yes, this is set by default in the .dpr file. That is why we have let it on user's code instead. However, having it fixed on the library side may prevent users issues.

#16 (comment)
#16 (comment)